详解常见漏洞扫描器及网络扫描技术
2008-12-04 13:37:19 来源:WEB开发网图6
使用后
图7
变的不仅是红色的部分,而且整个返回序列都变化了。这个变化是手工难已修改的。如果不能成功的修改序列,那就可能给有经验的渗透者提供依据。
3.4.3 指纹技术
指纹技术利用TCP/IP协议栈实现上的特点来辨识一个操作系统。可辨识的OS的种类,包括哪些操作系统,甚至小版本号。指纹技术有主动和被动两种。
主动识别技术:采用主动发包,利用多次的试探,去一次一次筛选不同信息,比如根据ACK值判断,有些系统会发送回所确认的TCP分组的序列号,有些会发回序列号加1。还有一些操作系统会使用一些固定的tcp窗口。某些操作系统还会设置IP头的DF位来改善性能。这些都成为判断的依据。这种技术判定windows的精度比较差,只能够判定一个大致区间,很难判定出其精确版本,但是在unix,网络设备时甚至可以判定出小版本号,比较精确。如果目标主机与源主机跳数越多,精度越差。因为数据包里的很多特征值在传输过程中都已经被修改或模糊化,会影响到探测的精度。nmap –O参数就是其代表。
被动识别技术:不是向目标系统发送分组,而是被动监测网络通信,以确定所用的操作系统。利用对报头内DF位,TOS位,窗口大小,TTL的嗅探判断。因为并不需要发送数据包,只需要抓取其中的报文,所以叫做被动识别技术。例如telnet对方,并用snort监听数据包:
TCP TTL:255 TOS:0x0 ID:58955 DF
**S***A* Seq:0xD3B709A4 Ack:0xBE09B2B7 Win:0x2798
TCP Options => NOP NOP TS:9688775 9682347 NOP WS:0
MSS:1460
得到这些信息后,熟悉系统的人可猜测到操作系统是Solaris 2.6-2.7。在nmap中,也有操作系统的指纹库,可以从指纹库中去匹配。其代表扫描工具有 Siphon,天眼。
ICMP指纹识别技术 :这种工具的出现较晚,大概在2001-2002年,在黑帽大会上提出,并开发出相应的工具xprobe,其优势是只需要通过icmp,发送一批UDP包给高端关闭的端口,然后计算返回来的不可达错误消息。通常情况下送回IP头+8个字节,但是个别系统送回的数据更多一些。根据ICMP回应的TOS、TTL值、校验和等信息,通过这些信息以树状的形式去过滤,最终精确锁定。下图只是整个判定过程中的一小量部分,类似的图还有很多张。
图8
例如TTL值,当你发送icmp 的echo请求,对方回应的ttl值是有一定规律可循的,一般是4个数值,32(win95,唯一值为32的操作系统),64,128(windows家族,只有win95例外),256。64和256比较难以分辨,大多数的unix和linux都可能是。 代表性扫描工具 Xprobe。
更多精彩
赞助商链接