《网络扫描器的原理与分析精品文稿.ppt》由会员分享,可在线阅读,更多相关《网络扫描器的原理与分析精品文稿.ppt(59页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络扫描器的原理与分析第1页,本讲稿共59页主要内容l扫描器的基本概念l扫描器的工作原理l网络扫描的主要技术l现有扫描器介绍及选择l扫描器的实例分析第2页,本讲稿共59页一、扫描器的基本概念l什么是网络扫描器l为什么需要网络扫描器l网络扫描器的主要功能第3页,本讲稿共59页什么是网络扫描器l安全评估工具系统管理员保障系统安全的有效工具l网络漏洞扫描器 网络入侵者收集信息的重要手段第4页,本讲稿共59页为什么需要网络扫描器l由于网络技术的飞速发展,网络规模迅猛增长和计算机系统日益复杂,导致新的系统漏洞层出不穷l由于系统管理员的疏忽或缺乏经验,导致旧有的漏洞依然存在l许多人出于好奇或别有用心,不停
2、的窥视网上资源第5页,本讲稿共59页网络扫描器的主要功能l扫描目标主机识别其工作状态(开/关机)l识别目标主机端口的状态(监听/关闭)l识别目标主机系统及服务程序的类型和版本l根据已知漏洞信息,分析系统脆弱点l生成扫描结果报告第6页,本讲稿共59页二、扫描器的工作原理lTCP协议lICMP协议l扫描器的基本工作原理第7页,本讲稿共59页TCP协议(一)TCP是一种面向连接的,可靠的传输层协议。一次正常的TCP传输需要通过在客户端和服务器之间建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。TCP通过数据分段中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数
3、据传输的完整性。第8页,本讲稿共59页TCP协议(二)TCPTCP数据包格式数据包格式第9页,本讲稿共59页TCP协议(三)lTCP标志位ACKACK:确认标志确认标志RSTRST:复位标志复位标志URGURG:紧急标志:紧急标志SYNSYN:建立连接标志建立连接标志PSHPSH:推标志推标志FINFIN:结束标志结束标志第10页,本讲稿共59页TCP协议(四)TCPTCP连接建立示意图连接建立示意图第11页,本讲稿共59页ICMP协议(一)lInternet Control Message Protocol,是IP的一部分,在IP协议栈中必须实现。l用途:网关或者目标机器利用网关或者目标机器
4、利用ICMPICMP与源通讯与源通讯当出现问题时,提供反馈信息用于报告错误当出现问题时,提供反馈信息用于报告错误l特点:其控制能力并不用于保证传输的可靠性其控制能力并不用于保证传输的可靠性它本身也不是可靠传输的它本身也不是可靠传输的并不用来反映并不用来反映ICMPICMP报文的传输情况报文的传输情况第12页,本讲稿共59页ICMP协议(二)l lICMPICMP报文类型报文类型 0 Echo Reply0 Echo Reply 3 Destination 3 Destination UnreachableUnreachable 4 Source Quench 4 Source Quench 5
5、 Redirect 5 Redirect 8 Echo 8 Echo 11 Time Exceeded11 Time Exceeded 12 Parameter Problem12 Parameter Problem 13 Timestamp 13 Timestamp 14 Timestamp Reply 14 Timestamp Reply 15 Information Request 15 Information Request 16 Information Reply 16 Information Reply 17 Address Mask Request 17 Address Mask
6、 Request 18 Address Mask Reply 18 Address Mask Reply 第13页,本讲稿共59页扫描器的基本工作原理第14页,本讲稿共59页三、网络扫描的主要技术l主机扫描技术l端口扫描技术l栈指纹OS识别技术第15页,本讲稿共59页主机扫描技术传统技术l主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。l常用的传统扫描手段有:ICMP EchoICMP Echo扫描扫描ICMP SweepICMP Sweep扫描扫描Broadcast ICMPBroadcast ICMP扫描扫描Non-Echo ICMPNo
7、n-Echo ICMP扫描扫描第16页,本讲稿共59页ICMP echo扫描l l实现原理:实现原理:PingPing的实现机制,在判断在一个网络上主的实现机制,在判断在一个网络上主机是否开机时非常有用。向目标主机发送机是否开机时非常有用。向目标主机发送ICMP Echo ICMP Echo Request(type 8)Request(type 8)数据包,等待回复的数据包,等待回复的ICMP Echo ICMP Echo Reply Reply 包包(type 0)(type 0)。如果能收到,则表明目标系统可达,。如果能收到,则表明目标系统可达,否则表明目标系统已经不可达或发送的包被对方
8、的设备否则表明目标系统已经不可达或发送的包被对方的设备过滤掉。过滤掉。l l优点:简单,系统支持优点:简单,系统支持l l缺点:很容易被防火墙限制缺点:很容易被防火墙限制l l可以通过并行发送,同时探测多个目标主机,以提可以通过并行发送,同时探测多个目标主机,以提高探测效率(高探测效率(ICMP SweepICMP Sweep扫描)。扫描)。第17页,本讲稿共59页Broadcast ICMP扫描l实现原理:将ICMP请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机。l缺点:只适合于只适合于UNIX/LinuxUNIX/Linux系统,系统,Windows Win
9、dows 会忽略这会忽略这种请求包;种请求包;这种扫描方式容易引起广播风暴这种扫描方式容易引起广播风暴第18页,本讲稿共59页Non-Echo ICMP扫描l一些其它ICMP类型包也可以用于对主机或网络设备的探测,如:Stamp Request(Type 13)Stamp Request(Type 13)Reply(Type 14)Reply(Type 14)Information Request(Type 15)Information Request(Type 15)Reply(Type 16)Reply(Type 16)Address Mask Request(Type 17)Addres
10、s Mask Request(Type 17)Reply(Type 18)Reply(Type 18)第19页,本讲稿共59页主机扫描技术高级技术l l防火墙和网络过滤设备常常导致传统的探测手段变防火墙和网络过滤设备常常导致传统的探测手段变得无效。为了突破这种限制,必须采用一些非常规得无效。为了突破这种限制,必须采用一些非常规的手段,利用的手段,利用ICMPICMP协议提供网络间传送错误信息的协议提供网络间传送错误信息的手段,往往可以更有效的达到目的:手段,往往可以更有效的达到目的:异常的异常的IPIP包头包头 在在IPIP头中设置无效的字段值头中设置无效的字段值 错误的数据分片错误的数据分片
11、 通过超长包探测内部路由器通过超长包探测内部路由器 反向映射探测反向映射探测第20页,本讲稿共59页异常的IP包头l l向目标主机发送包头错误的向目标主机发送包头错误的IPIP包,目标主机或过滤设包,目标主机或过滤设备会反馈备会反馈ICMP Parameter Problem ErrorICMP Parameter Problem Error信息。常见信息。常见的伪造错误字段为的伪造错误字段为Header Length Field Header Length Field 和和IP Options IP Options FieldField。l l根据根据RFC1122RFC1122的规定,主机
12、应该检测的规定,主机应该检测IPIP包的包的Version Version NumberNumber、ChecksumChecksum字段字段,路由器应该检测路由器应该检测IPIP包的包的ChecksumChecksum字段。不同厂家的路由器和操作系统对这些字段。不同厂家的路由器和操作系统对这些错误的处理方式不同,返回的结果也各异。如果结合其它错误的处理方式不同,返回的结果也各异。如果结合其它手段,可以初步判断目标系统所在网络过滤设备的手段,可以初步判断目标系统所在网络过滤设备的ACLACL。第21页,本讲稿共59页在IP头中设置无效的字段值l向目标主机发送的IP包中填充错误的字段值,目标主机
13、或过滤设备会反馈ICMP Destination Unreachable信息。这种方法同样可以探测目标主机和网络设备以及其ACL。第22页,本讲稿共59页错误的数据分片l当目标主机接收到错误的数据分片(如某些分片丢失),并且在规定的时间间隔内得不到更正时,将丢弃这些错误数据包,并向发送主机反馈ICMP Fragment Reassembly Time Exceeded 错误报文。利用这种方法同样可以检测到目标主机和网络过滤设备及其ACL。第23页,本讲稿共59页通过超长包探测内部路由器l若构造的数据包长度超过目标系统所在路由器的PMTU且设置禁止分片标志,该路由器会反馈 Fragmentati
14、on Needed and Dont Fragment Bit was Set差错报文,从而获取目标系统的网络拓扑结构。第24页,本讲稿共59页反向映射探测l l该技术用于探测被过滤设备或防火墙保护的网络和主机。该技术用于探测被过滤设备或防火墙保护的网络和主机。通常这些系统无法从外部直接到达,但是我们可以采用反通常这些系统无法从外部直接到达,但是我们可以采用反向映射技术,通过目标系统的路由设备进行有效的探测。向映射技术,通过目标系统的路由设备进行有效的探测。l l当我们想探测某个未知网络内部的结构时,可以构造可当我们想探测某个未知网络内部的结构时,可以构造可能的内部能的内部IPIP地址列表,并
15、向这些地址发送数据包。地址列表,并向这些地址发送数据包。当对方路由器接收到这些数据包时,会进行当对方路由器接收到这些数据包时,会进行IPIP识别识别并路由,对不在其服务的范围的并路由,对不在其服务的范围的IPIP包发送包发送ICMP Host ICMP Host UnreachableUnreachable或或ICMP Time Exceeded ICMP Time Exceeded 错误报文,没有错误报文,没有接收到相应错误报文的接收到相应错误报文的IPIP地址会可被认为在该网络中。地址会可被认为在该网络中。当然,这种方法也会受到过滤设备的影响。当然,这种方法也会受到过滤设备的影响。第25页
16、,本讲稿共59页端口扫描技术l l当确定了目标主机可达后,就可以使用端口扫描技术,发现目当确定了目标主机可达后,就可以使用端口扫描技术,发现目标主机的开放端口,包括网络协议和各种应用监听的端口。端标主机的开放端口,包括网络协议和各种应用监听的端口。端口扫描技术主要包括以下三类:口扫描技术主要包括以下三类:l l开放扫描开放扫描 会产生大量的审计数据,容易被对方发现,但其可靠性高;会产生大量的审计数据,容易被对方发现,但其可靠性高;l l隐蔽扫描隐蔽扫描 能有效的避免对方入侵检测系统和防火墙的检测,但这种扫描使用的数能有效的避免对方入侵检测系统和防火墙的检测,但这种扫描使用的数据包在通过网络时容
17、易被丢弃从而产生错误的探测信息;据包在通过网络时容易被丢弃从而产生错误的探测信息;l l半开放扫描半开放扫描 隐蔽性和可靠性介于前两者之间。隐蔽性和可靠性介于前两者之间。第26页,本讲稿共59页开放扫描技术lTCP Connect 扫描lTCP反向ident扫描第27页,本讲稿共59页TCP Connect 扫描l l实现原理:通过调用实现原理:通过调用socketsocket函数函数connect()connect()连接到目标连接到目标计算机上,完成一次完整的三次握手过程。如果端口计算机上,完成一次完整的三次握手过程。如果端口处于侦听状态,那么处于侦听状态,那么connect()conne
18、ct()就能成功返回。否则,就能成功返回。否则,这个端口不可用,即没有提供服务。这个端口不可用,即没有提供服务。l l优点:稳定可靠,不需要特殊的权限优点:稳定可靠,不需要特殊的权限l l缺点:扫描方式不隐蔽,服务器日志会记录下大量密缺点:扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录集的连接和错误记录 ,并容易被防火墙发现和屏蔽,并容易被防火墙发现和屏蔽第28页,本讲稿共59页TCP反向ident扫描l实现原理:ident 协议允许看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。比如,连接到http端口,然后用identd来发现服务器是否正在以ro
19、ot权限运行。l缺点:这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。第29页,本讲稿共59页半开放扫描技术lTCP SYN 扫描lTCP间接扫描第30页,本讲稿共59页TCP SYN 扫描l l实现原理:扫描器向目标主机端口发送实现原理:扫描器向目标主机端口发送SYNSYN包。如果应包。如果应答是答是RSTRST包,那么说明端口是关闭的;如果应答中包含包,那么说明端口是关闭的;如果应答中包含SYNSYN和和ACKACK包,说明目标端口处于监听状态,再传包,说明目标端口处于监听状态,再传送一个送一个RSTRST包给目标机从而停止建立连接。由于在包给目标机从而停止建立连接。由于在S
20、YNSYN扫描时,全连接尚未建立,所以这种技术通常扫描时,全连接尚未建立,所以这种技术通常被称为半连接扫描被称为半连接扫描l l优点:隐蔽性较全连接扫描好,一般系统对这种半扫描很优点:隐蔽性较全连接扫描好,一般系统对这种半扫描很少记录少记录l l缺点:通常构造缺点:通常构造SYNSYN数据包需要超级用户或者授权用数据包需要超级用户或者授权用户访问专门的系统调用户访问专门的系统调用第31页,本讲稿共59页TCP间接扫描l实现原理:利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。扫描主机通过伪造第三方
21、主机IP地址向目标主机发起SYN扫描,并通过观察其IP序列号的增长规律获取端口的状态 l优点:隐蔽性好l缺点:对第三方主机的要求较高 第32页,本讲稿共59页隐蔽扫描技术lTCP FIN 扫描lTCP Xmas扫描lTCP Null 扫描lTCP ftp proxy扫描l分段扫描第33页,本讲稿共59页TCP FIN 扫描l l实现原理:扫描器向目标主机端口发送实现原理:扫描器向目标主机端口发送FINFIN包。包。当一个当一个FINFIN数据包到达一个关闭的端口,数据包会被丢掉,并且返回一数据包到达一个关闭的端口,数据包会被丢掉,并且返回一个个RSTRST数据包。否则,若是打开的端口,数据包只
22、是简单的数据包。否则,若是打开的端口,数据包只是简单的丢掉(不返回丢掉(不返回RSTRST)。)。l l优点:优点:由于这种技术不包含标准的由于这种技术不包含标准的TCPTCP三次握手协议的任何部三次握手协议的任何部分,所以无法被记录下来,从而必分,所以无法被记录下来,从而必SYNSYN扫描隐蔽得多,扫描隐蔽得多,FINFIN数据数据包能够通过只监测包能够通过只监测SYNSYN包的包过滤器。包的包过滤器。l l缺点:缺点:跟跟SYNSYN扫描类似,需要自己构造数据包,要求由超级用户或者授权用户扫描类似,需要自己构造数据包,要求由超级用户或者授权用户访问专门的系统调用;访问专门的系统调用;通常适
23、用于通常适用于UNIXUNIX目标主机,除过少量的应当丢弃数据包却发送目标主机,除过少量的应当丢弃数据包却发送RSTRST包的操作系包的操作系统(包括统(包括CISCOCISCO,HP/UXHP/UX,MVSMVS和和IRIXIRIX)。但在)。但在Windows95/NTWindows95/NT环境下,环境下,该方法无效,因为不论目标端口是否打开,操作系统都返回该方法无效,因为不论目标端口是否打开,操作系统都返回RSTRST包。包。第34页,本讲稿共59页TCP Xmas 和TCP Null 扫描l实现原理:TCP XmasXmas和和NullNull扫描是扫描是FINFIN扫描的两扫描的两
24、个变种。个变种。XmasXmas扫描打开扫描打开FINFIN,URGURG和和PUSHPUSH标记,而标记,而NullNull扫描关闭所有标记。这些组合的目的是为了通过对扫描关闭所有标记。这些组合的目的是为了通过对FINFIN标记数据包的过滤。当一个这种数据包到达一标记数据包的过滤。当一个这种数据包到达一个关闭的端口,数据包会被丢掉,并且返回一个个关闭的端口,数据包会被丢掉,并且返回一个RSTRST数据包。否则,若是打开的端口,数据包只是简单的数据包。否则,若是打开的端口,数据包只是简单的丢掉(不返回丢掉(不返回RSTRST)。)。l优点:隐蔽性好;隐蔽性好;l缺点:l l需要自己构造数据包,
25、要求由超级用户或者授权用户权限;需要自己构造数据包,要求由超级用户或者授权用户权限;l l通常适用于通常适用于UNIXUNIX目标主机,而目标主机,而WindowsWindows系统不支持。系统不支持。第35页,本讲稿共59页TCP ftp proxy扫描l l实现原理:实现原理:FTPFTP代理连接选项,其目的是允许一个客户端同时跟两个代理连接选项,其目的是允许一个客户端同时跟两个FTPFTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得能够使得FTPFTP服务器发送文件到服务器发送
26、文件到InternetInternet的任何地方。该方法正是利用了这个的任何地方。该方法正是利用了这个缺陷,其扫描步骤如下:缺陷,其扫描步骤如下:1 1:假定:假定S S是扫描机,是扫描机,T T是扫描目标,是扫描目标,F F是一个是一个ftpftp服务器,这个服务器支持代服务器,这个服务器支持代理选项,能够跟理选项,能够跟S S和和T T建立连接。建立连接。2 2:S S与与F F建立一个建立一个ftpftp会话,使用会话,使用PORTPORT命令声明一个选择的端口(称之为命令声明一个选择的端口(称之为p pT T)作为代理传输所需要的被动端口。)作为代理传输所需要的被动端口。3 3:然后:
27、然后S S使用一个使用一个LISTLIST命令尝试启动一个到命令尝试启动一个到p pT T的数据传输。的数据传输。4 4:如果端口:如果端口p pT T确实在监听,传输就会成功(返回码确实在监听,传输就会成功(返回码150150和和226226被发送回给被发送回给S S),否则),否则S S回收到回收到425425无法打开数据连接无法打开数据连接 的应答。的应答。5 5:S S持续使用持续使用PORTPORT和和LISTLIST命令,直到命令,直到T T上所有的选择端口扫描完毕。上所有的选择端口扫描完毕。l l优点:优点:FTPFTP代理扫描不但难以跟踪,而且可以穿越防火墙代理扫描不但难以跟踪
28、,而且可以穿越防火墙l l缺点:一些缺点:一些ftp serverftp server禁止这种特性禁止这种特性第36页,本讲稿共59页分段扫描l实现原理:并不直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而包过滤器就很难探测到。l优点:隐蔽性好,可穿越防火墙l缺点:可能被丢弃;可能被丢弃;某些程序在处理这些小数据包时会出现异常。某些程序在处理这些小数据包时会出现异常。第37页,本讲稿共59页栈指纹OS识别技术(一)l原理:根据各个OS在TCP/IP协议栈实现上的不同特点,采用黑盒测试方法,通过研究其对各种探测的响应形成识别指纹,进而识别目标主
29、机运行的操作系统。根据采集指纹信息的方式,又可以分为主动扫描和被动扫描两种方式。第38页,本讲稿共59页被动扫描l通过Sniff收集数据包,再对数据包的不同特征(TCP Window-size、IP TTL、IP TOS、DF位等参数)进行分析,来识别操作系统。l被动扫描基本不具备攻击特征,具有很好的隐蔽性,但其实现严格依赖扫描主机所处的网络拓扑结构;和主动探测相比较,具有速度慢、可靠性不高等缺点。第39页,本讲稿共59页主动扫描l采用向目标系统发送构造的特殊包并监控其应答的方式来识别操作系统类型。l主动扫描具有速度快、可靠性高等优点,但同样严重依赖于目标系统网络拓扑结构和过滤规则。第40页,
30、本讲稿共59页主动扫描识别技术(一)FINFIN探测:发送一个探测:发送一个FINFIN包给一个打开的端口,一般的行为是不响包给一个打开的端口,一般的行为是不响应,但某些实现例如应,但某些实现例如 MS Windows,BSDI,CISCO,HP/UX,MVS,MS Windows,BSDI,CISCO,HP/UX,MVS,和和IRIX IRIX 发回一个发回一个RESETRESET。BOGUSBOGUS标记探测:设置一个未定义的标记探测:设置一个未定义的TCP TCP 标记标记(6464或或128128)在)在SYNSYN包的包的TCPTCP头里。头里。LinuxLinux机器到机器到2.0
31、.352.0.35之前在回应中保持这个标记。之前在回应中保持这个标记。TCP ISN TCP ISN 取样:找出当响应一个连接请求时由取样:找出当响应一个连接请求时由TCP TCP 实现所选择的实现所选择的初始化序列数式样。这可分为许多组例如传统的初始化序列数式样。这可分为许多组例如传统的64K64K(许多老(许多老UNIXUNIX机器),随机增量(新版本的机器),随机增量(新版本的SolarisSolaris,IRIXIRIX,FreeBSDFreeBSD,Digital Digital UNIXUNIX,CrayCray,等),真,等),真“随机随机”(Linux 2.0.*Linux 2
32、.0.*,OpenVMS,OpenVMS,新的新的AIX,AIX,等),等),Windows Windows 机器(和一些其他的)用一个机器(和一些其他的)用一个“时间相关时间相关”模型,每过一段时间模型,每过一段时间ISNISN就被加上一个小的固定数。就被加上一个小的固定数。第41页,本讲稿共59页主动扫描识别技术(二)不分段位:许多操作系统开始在送出的一些包中设置不分段位:许多操作系统开始在送出的一些包中设置IPIP的的Dont Dont FragmentFragment位。位。TCPTCP初始化窗口:检查返回包的窗口大小。如初始化窗口:检查返回包的窗口大小。如quesoqueso和和nm
33、apnmap保持对保持对窗口的精确跟踪因为它对于特定窗口的精确跟踪因为它对于特定OSOS基本是常数。基本是常数。ACKACK值:不同实现中一些情况下值:不同实现中一些情况下ACKACK域的值是不同的。例如,如果你送域的值是不同的。例如,如果你送了一个了一个FIN|PSH|URG FIN|PSH|URG 到一个关闭的到一个关闭的TCP TCP 端口。大多数实现会设置端口。大多数实现会设置ACK ACK 为你的初始序列数,而为你的初始序列数,而Windows Windows 会送给你序列数加会送给你序列数加1 1。ICMPICMP错误信息终结:一些操作系统跟从限制各种错误信息的发送错误信息终结:一
34、些操作系统跟从限制各种错误信息的发送率。例如,率。例如,Linux Linux 内核限制目的不可达消息的生成每内核限制目的不可达消息的生成每4 4 秒钟秒钟8080个。测试个。测试的一种办法是发一串包到一些随机的高的一种办法是发一串包到一些随机的高UDPUDP端口并计数收到的不可达端口并计数收到的不可达消息。消息。第42页,本讲稿共59页主动扫描识别技术(三)ICMPICMP消息引用:消息引用:ICMPICMP错误消息可以引用一部分引起错误的源消息。错误消息可以引用一部分引起错误的源消息。对一个端口不可达消息,几乎所有实现只送回对一个端口不可达消息,几乎所有实现只送回IPIP请求头外加请求头外
35、加8 8个字节。然个字节。然而,而,Solaris Solaris 送回的稍多,而送回的稍多,而Linux Linux 更多。更多。SYNSYN洪水限度:如果收到过多的伪造洪水限度:如果收到过多的伪造SYNSYN数据包,一些操作系统会停数据包,一些操作系统会停止新的连接尝试。许多操作系统只能处理止新的连接尝试。许多操作系统只能处理8 8 个包。个包。参考:参考:Nmap Remote OS DetectionNmap Remote OS Detectionhttp:/www.insecure.org/nmap/nmap-fingerprinting-article.htmlhttp:/www.
36、insecure.org/nmap/nmap-fingerprinting-article.html第43页,本讲稿共59页四、现有扫描器介绍及选择l现有主要扫描器产品介绍l评价扫描器的原则l现有扫描器产品的不足第44页,本讲稿共59页扫描器产品介绍(一)lISS Internet Scanner该产品一直是安全扫描器的业界标准。l优点:报告功能强大,漏洞检查集完备,可用性很好。l平台:Windows NTlURL:Http:/ 第45页,本讲稿共59页扫描器产品介绍(二)lNessus由Renaud编写的开放源码项目。l优点:采用分布式结构引擎具有极大弹性,可扩展性强,漏洞库较全面。l平台:
37、UNIXlURL:Http:/www.nessus.org第46页,本讲稿共59页扫描器产品介绍(三)lSAINT以SATAN为基础的网络安全扫描工具。l平台:UNIXlURL:Http:/第47页,本讲稿共59页评价扫描器的原则(一)l l漏洞检测的完整性漏洞检测的完整性是否能扫描各类重要的系统漏洞,漏洞库信息的完是否能扫描各类重要的系统漏洞,漏洞库信息的完备程度如何?备程度如何?l l漏洞检测的精确性漏洞检测的精确性是否能准确报告系统漏洞,很少误报或漏报是否能准确报告系统漏洞,很少误报或漏报l l漏洞检测的范围漏洞检测的范围是否能进行本地主机或远端主机的扫描是否能进行本地主机或远端主机的扫
38、描l l及时更新及时更新是否能及时更新漏洞库,加入新发现的漏洞信息是否能及时更新漏洞库,加入新发现的漏洞信息第48页,本讲稿共59页评价扫描器的原则(二)l报告功能是否有完善的报告功能,是客户便于理解和维护l价格产品价格是否合理第49页,本讲稿共59页现有扫描器产品的不足l检测的完整性没有一种产品可以发现所有漏洞l检测的准确性常有漏报、误报现象l更新的及时性对新漏洞的更新不够及时第50页,本讲稿共59页五、扫描器实例分析l主要实现功能l扫描器的总体结构l主要工作流程l漏洞分析第51页,本讲稿共59页主要实现功能采用众多的扫描规避和隐蔽技术,采用众多的扫描规避和隐蔽技术,扫描目标主机和端口,扫描
39、目标主机和端口,识别其工作状态;识别其工作状态;l l识别目标主机系统及服务程序的类型和版本;识别目标主机系统及服务程序的类型和版本;根据漏洞库信息,分析系统脆弱点;根据漏洞库信息,分析系统脆弱点;提供漏洞产生背景、影响、攻击方式、修补措施等提供漏洞产生背景、影响、攻击方式、修补措施等信息;信息;l l以网页形式生成扫描结果报告;以网页形式生成扫描结果报告;具有可扩展性,提供用户动态加载和扩充系统的接具有可扩展性,提供用户动态加载和扩充系统的接口口第52页,本讲稿共59页扫描器的总体结构(一)l扫描器基于B/S结构l扫描器运行在Linux平台,工作于一个Linux、UNIX和Windows操作
40、系统相混合的TCP/IP网络环境中l扫描器建有漏洞库l控制平台则提供一个人机交互的界面。第53页,本讲稿共59页扫描器的总体结构(二)第54页,本讲稿共59页主要工作流程l主机扫描l端口扫描l识别系统及服务程序的类型l根据已知漏洞信息,分析系统脆弱点l生成扫描结果报告第55页,本讲稿共59页漏洞分析:CGI漏洞扫描l漏洞扫描流程连接目标连接目标WEB SERVERWEB SERVER发送一个特殊的请求发送一个特殊的请求接收目标服务器返回数据接收目标服务器返回数据根据返回数据判断目标服务器是否有此根据返回数据判断目标服务器是否有此CGICGI漏漏洞。洞。第56页,本讲稿共59页CGI漏洞扫描(一
41、)l比如识别出Web 服务器为IIS,则向其发出Http请求:GET/iissamples/exair/howitworks/codebrws.asp,GET/iissamples/exair/howitworks/codebrws.asp,GET/iissamples/sdk/asp/docs/codebrws.asp,GET/iissamples/sdk/asp/docs/codebrws.asp,GET/iissamples/exair/howitworks/code.asp,GET/iissamples/exair/howitworks/code.asp,GET/msadc/sampl
42、es/selector/showcode.asp,GET/msadc/samples/selector/showcode.asp,GET/scripts/tools/newdsn.exe”GET/scripts/tools/newdsn.exe”如果返回如果返回“200 OK”200 OK”的的HttpHttp应答,则表明存在应答,则表明存在”http IIS http IIS samples“samples“漏洞,需要提示用户进行修改。漏洞,需要提示用户进行修改。第57页,本讲稿共59页CGI漏洞扫描(二)l如果向IIS服务器发Http请求,“GET/NULL.printer“GET/NUL
43、L.printer“其返回信息为其返回信息为500 13rnServer:Microsoft-IIS/5.0500 13rnServer:Microsoft-IIS/5.0则目标系统存在则目标系统存在”IIS5 NULL.printer”IIS5 NULL.printer”漏洞。漏洞。第58页,本讲稿共59页参考文献lICMP Usage in Scanninghttp:/www.sys- lNmap Remote OS Detectionhttp:/www.insecure.org/nmap/nmap-fingerprinting-article.htmllhttp:/ 第59页,本讲稿共59页