Kali linux 学习笔记(十四)主动信息收集——服务扫描(banner信息) 2020.2.24

前言

发现开放端口后,通过识别端口上运行的应用,以及识别目标操作系统,可以提高攻击效率
主要是通过获取banner信息
可以得到:

  • 软件开发商
  • 软件名称
  • 服务类型
  • 版本号

方法:

  • 连接建立后直接获取banner
  • 特征行为和响应字段,不同响应可用于识别底层操作系统

1、nc

强大的nc工具可以直接通过建立连接获取banner

nc -nv 1.1.1.1 22 #用nc可能可以建立连接然后获取banner

但不断建立连接行为会比较可疑

2、socket

socket脚本是个很好用的办法

脚本

ban_grab.py

#!/usr/bin/python
import socket
import selcet
import sys
if len(sys.argv)!=4:
 print("Example: ./ban_grab.py 1.1.1.1 1 100")
 sys.exit
ip=sys.argv[1]
start=int(sys.argv[2])
end=int(sys.argv[3])
for port in range(start,end):
 try:
  banner=socket.socket(socket.AF_INET,socket.SOCK_STREAM) #socket.AF_INET表示IPv4,socket.SOCK_STREAM表示TCP
  banner.connect((ip,port))
  ready=select.select([banner],[],[],1) #连接时间间隔1s
  if ready[0]:
   print("TCP port "+str(port)+"-"+banner.recv(4096) #接收数据,括号里是数据大小
   banner.close() #关闭,这个不能忘
 except:
  pass #有些banner不允许抓取,recv就会被挂起

3、dmitry指令

dmitry了解下就好

dmitry -pb 1.1.1.1 #-p执行TCP,-b进行端口扫描,有默认常用端口

4、nmap指令

nmap很强大,包含的脚本也很多,可以自己去熟悉

nmap -sT -p 1-200 192.168.247.129 --script=banner.nse #nmap中有大量脚本

5、amap指令

amap是专门为了服务扫描开发出来的,但得到的信息比nmap粗略点

amap专门为了服务扫描开发出来,但得到的信息比nmap粗略
amap -B 1.1.1.1 21 #-B发现端口上banner信息
amap 1.1.1.1 21 -q #-q整理信息

结语

服务扫描主要是怕网络管理员把一些服务的端口给改了
但大多数情况都是默认端口
识别服务后可以根据服务漏洞进行攻击

下一节是操作系统识别

发布了28 篇原创文章 · 获赞 2 · 访问量 1037

猜你喜欢

转载自blog.csdn.net/weixin_44604541/article/details/104481359