漏洞扫描技术原理
扫描流程
主机发现
主机探测技术包含三种:ICMP PING、TCP PING、UDP PING,其中TCP PING需要填写端口号
端口发现
对于存活的主机,还要探测主机上开启了什么端口,对于1-1024端口,就可以知道占用该端口的默认服务是什么。对于端口探测,主要采用TCP连接的方式进行探测。包括:完整的TCP连接、TCP半连接(TCP-SYN)
系统和服务识别
漏洞扫描会根据各个操作系统在TCP/IP协议栈实现上的不同特点,采用黑盒测试的方法,通过研究对其各种探测的响应形成识别指纹,进而识别目标主机的操作系统类型。
被动识别:通过抓包,对数据包的不同特征(TCP Window-size、IP TTL、IP TOS、DF位等参数)进行分析,来识别操作系统,依赖于网络拓扑。
主动识别:通过发特殊构造的包,分析目标主机的应答方式,例如:漏洞扫描发送了一个FIN/PSH/URG包到一个关闭的TCP端口,大多数操作系统会设置ACK为接受报文的初始序列数,而Windows会设置ACK为接受报文的初始序列数加1.基于这种特点,可以识别目标操作系统为Windows系统。