服务扫描的目的:
识别开放端口上运行的应用
识别目标操作系统
提高攻击效率
方法:
Banner捕获
服务识别
操作系统识别
SNMP分析
防火墙识别
【Banner捕获】
目的:
软件开发商信息
软件名称
服务类型
版本号---->直接发现已知的漏洞和弱点
方法:
连接建立后直接获取banner
另类服务识别方法:特征行为和响应字段、不同的响应可用于识别底层
操作系统
实例:
Netcat:
nc -nv 1.1.1.1 22 #获取22端口的banner信息
Python socket模块(简易方法):
Dmitry:
dmitry -p 192.168.1.100
dmitry -pb 192.168.1.100
Nmap:
nmap -sT 1.1.1.1 -p 22 --script=banner #扫描22端口的banner
nmap -sT 1.1.1.1 -p1-100 --script=banner#扫描1-100端口的banner
Amap(专用于发现服务):
amap -B 192.168.1.100 21
amap -B 192.168.1.100 1-100
amap -B 192.168.1.100 1-100 |grep on
【服务识别】
banner获取信息有限,根据响应特征分析识别服务更加准确高效
原理:发送系列复杂的探测,依据响应特征signature
实例:
Nmap:
nmap 1.1.1.1 -p 80 -sV
Amap:
amap 1.1.1.1 80
amap 1.1.1.1 20-30
amap 1.1.1.1 20-30 -q #q参数:使结果易读
amap 1.1.1.1 -qb