网络扫描专题.ppt
网络扫描,一、扫描的基本概念,什么是网络扫描为什么需要网络扫描网络扫描的主要功能,什么是网络扫描,网络扫描是一种检测目标网络或本地主机安全性脆弱点的技术。安全评估工具系统管理员保障系统安全的有效工具网络漏洞扫描 网络入侵者收集信息的重要手段,为什么需要网络扫描,由于网络技术的飞速发展,网络规模迅猛增长和计算机系统日益复杂,导致新的系统漏洞层出不穷。由于系统管理员的疏忽或缺乏经验,导致旧有的漏洞依然存在。许多人出于好奇或别有用心,不停的窥视网上资源。,网络扫描器的主要功能,扫描目标主机识别其工作状态(开/关机)识别目标主机端口的状态(开/关闭)识别目标主机系统及服务程序的类型和版本根据已知漏洞信息,分析系统脆弱点生成扫描结果报告,二、扫描的主要步骤,TCP协议,TCP数据包格式,TCP标志位ACK:确认标志RST:复位标志URG:紧急标志SYN:建立连接标志PSH:推标志FIN:结束标志,ICMP协议,Internet Control Message Protocol,是IP的一部分。用途:网关或者目标主机利用ICMP与源主机通讯当出现问题时,提供反馈信息用于报告错误特点:其控制能力并不用于保证传输的可靠性它本身也不是可靠传输的并不用来反映ICMP报文的传输情况,三、网络扫描的主要技术,主机扫描技术端口扫描技术漏洞扫描技术,(1)主机扫描技术,主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。常用的传统扫描手段有:ICMP Echo扫描ICMP Sweep扫描Broadcast ICMP扫描主机扫描高级技术,A.ICMP echo扫描,实现原理:Ping的实现机制,在判断在一个网络上主机是否开机时非常有用。向目标主机发送ICMP Echo Request(type 8)数据包,等待回复的ICMP Echo Reply 包(type 0)。如果能收到,则表明目标系统可达,否则表明目标系统已经不可达或发送的包被对方的设备过滤掉。优点:简单,系统支持可以通过并行发送,同时探测多个目标主机,以提高探测效率(ICMP Sweep扫描)缺点:很容易被防火墙限制,B.Broadcast ICMP扫描,实现原理:将ICMP请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机。缺点:只适合于UNIX/Linux系统,Windows 会忽略这种请求包;这种扫描方式容易引起广播风暴很容易被防火墙限制,C.主机扫描高级技术,原理:向目标主机发送构造的IP包,探测对方的返回信息。属第三层攻击。方式1:向目标主机发送一个只有首部的IP包,目标主机将返回“Destination unreachable”.方式2:向目标主机一个IP包,但协议项是错误的。如果目标主机前有防火墙,则可能被过滤,从而收不到“Destination unreachable”;可以使用一个非常大的数字(当天未用过)作为协议项,则主机将返回“Destination unreachable”,以此可以判断:主机开机且有防火墙主机开机且无防火墙主机未开机,方式3:(探测协议)向目标主机发送一个IP包,改变其协议项,如果返回“Destination unreachable”,则主机没使用这个协议;如果未返回任何信息则使用该协议了或使用了防火墙。方式4:当数据包分片且分片未全部收到,接收端会在超时后发送组装超时ICMP数据包。构造不完整的分片,等待目的主机发来的错误信息。,三、网络扫描的主要技术,主机扫描技术端口扫描技术漏洞扫描技术,(2)端口扫描技术,当确定了目标主机可达后,就可以使用端口扫描技术,发现目标主机的开放端口,包括网络协议和各种应用监听的端口。端口扫描技术主要包括:TCP扫描全连接扫描半连接扫描(TCP SYN扫描)TCP FIN扫描(秘密扫描)TCP Xmas和TCP Null扫描间接扫描UDP扫描其他扫描技术,A.TCP 扫描,A1.TCP 全连接扫描,实现原理:通过调用socket函数connect()连接到目标计算机上,完成一次完整的三次握手过程。如果端口处于侦听状态,那么connect()就能成功返回;否则,这个端口不可用,即没有提供服务。优点:稳定可靠,不需要特殊的权限。缺点:扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录,并容易被防火墙发现和屏蔽。,A2.半连接(TCP SYN)扫描,实现原理:扫描器向目标主机端口发送SYN包。如果应答是RST包,那么说明端口是关闭的;如果应答中包含SYN和ACK包,说明目标端口处于监听状态,再传送一个RST包给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半连接扫描。优点:隐蔽性较全连接扫描好,一般系统对这种半扫描很少记录。缺点:通常构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。,A3.TCP FIN扫描,实现原理:扫描器向目标主机端口发送FIN包。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且返回一个RST数据包。否则,若是打开的端口,数据包只是简单的丢掉(不返回RST)。,优点:由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而比SYN扫描隐蔽得多,FIN数据包能够通过只监测SYN包的包过滤器。缺点:跟SYN扫描类似,需要自己构造数据包,要求由超级用户或者授权用户访问专门的系统调用;通常适用于UNIX目标主机,在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都返回RST包。,A3.TCP FIN扫描,A4.TCP Xmas 和TCP Null 扫描,实现原理:TCP Xmas和Null扫描是FIN扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。目的是为了防止数据包被过滤。优点:隐蔽性好。缺点:需要自己构造数据包,要求由超级用户或者授权用户权限;通常适用于UNIX目标主机,而Windows系统不支持。,A5.TCP间接扫描,实现原理:利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。扫描主机通过伪造第三方主机IP地址向目标主机发起SYN扫描,并通过观察其报文段序列号的增长规律获取端口的状态。优点:隐蔽性好。缺点:对第三方主机的监控要求较高。,B.UDP扫描,扫描UDP端口只有一种方法向一个未开放的UDP端口发送数据时,其主机就会反回一个ICMP不可达信息,因此大多数UDP端口扫描的方法就是向各个被扫描的UDP端口发送零字节的UDP数据包,如果收到一个ICMP不可到达的回应,则认为这个端口是关闭的,对于没有回应的端口则认为是开放的。UDP是一个不可靠的无链接的协议,当向目标主机的UDP端口发送数据,并不能收到一个开放端口的确认信息,或是关闭端口的错误信息.问题:如果目标主机安装有防火墙或其它可以过滤数据包的软硬件,发出UDP数据包后,将可能得不到任何回应,误认为所有的被扫描端口都是开放的.由于UDP协议是无连接的协议,这种扫描技术的精确性高度依赖于网络性能和系统资源。,反监测扫描技术慢速扫描随机地址扫描(IP隐藏)分片(段)扫描分布式扫描,C.其他扫描技术,C.其他扫描技术,分段扫描不直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而包过滤器就很难探测到。优点:隐蔽性好,可穿越防火墙缺点:可能被丢弃;某些程序在处理这些小数据包时会出现异常。,三、网络扫描的主要技术,主机扫描技术端口扫描技术漏洞扫描技术,漏洞扫描,漏洞扫描原理,扫描防范,四、常用的端口扫描工具,UNIX下的端口扫描工具NmapWindows下的端口扫描工具XScanSuperScanNmap for NT,