资源预览内容
第1页 / 共105页
第2页 / 共105页
第3页 / 共105页
第4页 / 共105页
第5页 / 共105页
第6页 / 共105页
第7页 / 共105页
第8页 / 共105页
第9页 / 共105页
第10页 / 共105页
亲,该文档总共105页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
网络扫描器的原理与分析袁 治9/19/20249/19/2024主要内容l扫描器的基本概念l扫描器的工作原理l网络扫描的主要技术l现有扫描器介绍及选择l扫描器的实例分析一、扫描器的基本概念l什么是网络扫描器l为什么需要网络扫描器l网络扫描器的主要功能什么是网络扫描器l安全评估工具系统管理员保障系统安全的有效工具l网络漏洞扫描器 网络入侵者收集信息的重要手段为什么需要网络扫描器l由于网络技术的飞速发展,网络规模迅猛增长和计算机系统日益复杂,导致新的系统漏洞层出不穷l由于系统管理员的疏忽或缺乏经验,导致旧有的漏洞依然存在l许多人出于好奇或别有用心,不停的窥视网上资源网络扫描器的主要功能l扫描目标主机识别其工作状态(开/关机)l识别目标主机端口的状态(监听/关闭)l识别目标主机系统及服务程序的类型和版本l根据已知漏洞信息,分析系统脆弱点l生成扫描结果报告二、扫描器的工作原理lTCP协议lICMP协议l扫描器的基本工作原理TCP协议(一)TCP是一种面向连接的,可靠的传输层协议。一次正常的TCP传输需要通过在客户端和服务器之间建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。TCP通过数据分段中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。TCP协议(二)TCPTCP数据包格式数据包格式TCP协议(三)lTCP标志位ACKACK:确认标志确认标志RSTRST:复位标志复位标志URGURG:紧急标志:紧急标志SYNSYN:建立连接标志建立连接标志PSHPSH:推标志推标志FINFIN: 结束标志结束标志TCP协议(四)TCPTCP连接建立示意图连接建立示意图ICMP协议(一)lInternet Control Message Protocol,是IP的一部分,在IP协议栈中必须实现。l用途:网关或者目标机器利用网关或者目标机器利用ICMPICMP与源通讯与源通讯当出现问题时,提供反馈信息用于报告错误当出现问题时,提供反馈信息用于报告错误l特点:其控制能力并不用于保证传输的可靠性其控制能力并不用于保证传输的可靠性它本身也不是可靠传输的它本身也不是可靠传输的并不用来反映并不用来反映ICMPICMP报文的传输情况报文的传输情况ICMP协议(二)l lICMPICMP报文类型报文类型 0 Echo Reply0 Echo Reply 3 Destination 3 Destination UnreachableUnreachable 4 Source Quench 4 Source Quench 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 Request 18 Address Mask Reply 18 Address Mask Reply 扫描器的基本工作原理三、网络扫描的主要技术l主机扫描技术l端口扫描技术l栈指纹OS识别技术主机扫描技术传统技术l主机扫描的目的是确定在目标网络上的主机是否可达。这是信息收集的初级阶段,其效果直接影响到后续的扫描。l常用的传统扫描手段有:ICMP EchoICMP Echo扫描扫描ICMP SweepICMP Sweep扫描扫描Broadcast ICMPBroadcast ICMP扫描扫描Non-Echo ICMPNon-Echo ICMP扫描扫描ICMP echo扫描l l实现原理:实现原理:PingPing的实现机制,在判断在一个网络的实现机制,在判断在一个网络上主机是否开机时非常有用。向目标主机发送上主机是否开机时非常有用。向目标主机发送ICMP Echo Request (type 8)ICMP Echo Request (type 8)数据包,等待回复数据包,等待回复的的ICMP Echo Reply ICMP Echo Reply 包包(type 0) (type 0) 。如果能收到,。如果能收到,则表明目标系统可达,否则表明目标系统已经不则表明目标系统可达,否则表明目标系统已经不可达或发送的包被对方的设备过滤掉。可达或发送的包被对方的设备过滤掉。 l l优点:简单,系统支持优点:简单,系统支持l l缺点:很容易被防火墙限制缺点:很容易被防火墙限制l l可以通过并行发送,同时探测多个目标主机,以可以通过并行发送,同时探测多个目标主机,以提高探测效率(提高探测效率(ICMP SweepICMP Sweep扫描)。扫描)。Broadcast ICMP扫描l实现原理:将ICMP请求包的目标地址设为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机。l缺点:只适合于只适合于UNIX/LinuxUNIX/Linux系统,系统,Windows Windows 会忽略这会忽略这种请求包;种请求包;这种扫描方式容易引起广播风暴这种扫描方式容易引起广播风暴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)Address Mask Request (Type 17)Reply(Type 18)Reply(Type 18)主机扫描技术高级技术l l防火墙和网络过滤设备常常导致传统的探测手段防火墙和网络过滤设备常常导致传统的探测手段变得无效。为了突破这种限制,必须采用一些非变得无效。为了突破这种限制,必须采用一些非常规的手段,利用常规的手段,利用ICMPICMP协议提供网络间传送错误协议提供网络间传送错误信息的手段,往往可以更有效的达到目的:信息的手段,往往可以更有效的达到目的: 异常的异常的IPIP包头包头 在在IPIP头中设置无效的字段值头中设置无效的字段值 错误的数据分片错误的数据分片 通过超长包探测内部路由器通过超长包探测内部路由器 反向映射探测反向映射探测异常的IP包头l l向目标主机发送包头错误的向目标主机发送包头错误的IPIP包,目标主机或过包,目标主机或过滤设备会反馈滤设备会反馈ICMP Parameter Problem ErrorICMP Parameter Problem Error信信息。常见的伪造错误字段为息。常见的伪造错误字段为Header Length Field Header Length Field 和和IP Options FieldIP Options Field。l l根据根据RFC1122RFC1122的规定,主机应该检测的规定,主机应该检测IPIP包的包的Version NumberVersion Number、ChecksumChecksum字段字段, , 路由器应该检路由器应该检测测IPIP包的包的ChecksumChecksum字段。不同厂家的路由器和操字段。不同厂家的路由器和操作系统对这些错误的处理方式不同,返回的结果作系统对这些错误的处理方式不同,返回的结果也各异。如果结合其它手段,可以初步判断目标也各异。如果结合其它手段,可以初步判断目标系统所在网络过滤设备的系统所在网络过滤设备的ACLACL。在IP头中设置无效的字段值l向目标主机发送的IP包中填充错误的字段值,目标主机或过滤设备会反馈ICMP Destination Unreachable信息。这种方法同样可以探测目标主机和网络设备以及其ACL。错误的数据分片l当目标主机接收到错误的数据分片(如某些分片丢失),并且在规定的时间间隔内得不到更正时,将丢弃这些错误数据包,并向发送主机反馈ICMP Fragment Reassembly Time Exceeded 错误报文。利用这种方法同样可以检测到目标主机和网络过滤设备及其ACL。通过超长包探测内部路由器l若构造的数据包长度超过目标系统所在路由器的PMTU且设置禁止分片标志, 该路由器会反馈 Fragmentation Needed and Dont Fragment Bit was Set差错报文,从而获取目标系统的网络拓扑结构。反向映射探测l l该技术用于探测被过滤设备或防火墙保护的网络该技术用于探测被过滤设备或防火墙保护的网络和主机。通常这些系统无法从外部直接到达,但和主机。通常这些系统无法从外部直接到达,但是我们可以采用反向映射技术,通过目标系统的是我们可以采用反向映射技术,通过目标系统的路由设备进行有效的探测。路由设备进行有效的探测。l l当我们想探测某个未知网络内部的结构时,可以当我们想探测某个未知网络内部的结构时,可以构造可能的内部构造可能的内部IPIP地址列表,并向这些地址发送地址列表,并向这些地址发送数据包。当对方路由器接收到这些数据包时,会数据包。当对方路由器接收到这些数据包时,会进行进行IPIP识别并路由,对不在其服务的范围的识别并路由,对不在其服务的范围的IPIP包包发送发送ICMP Host UnreachableICMP Host Unreachable或或ICMP Time ICMP Time Exceeded Exceeded 错误报文,没有接收到相应错误报文错误报文,没有接收到相应错误报文的的IPIP地址会可被认为在该网络中。当然,这种方地址会可被认为在该网络中。当然,这种方法也会受到过滤设备的影响。法也会受到过滤设备的影响。端口扫描技术l l当确定了目标主机可达后,就可以使用端口扫描技术,发当确定了目标主机可达后,就可以使用端口扫描技术,发现目标主机的开放端口,包括网络协议和各种应用监听的现目标主机的开放端口,包括网络协议和各种应用监听的端口。端口扫描技术主要包括以下三类:端口。端口扫描技术主要包括以下三类:l l开放扫描开放扫描 会产生大量的审计数据,容易被对方发现,但其可靠性高;会产生大量的审计数据,容易被对方发现,但其可靠性高;l l隐蔽扫描隐蔽扫描 能有效的避免对方入侵检测系统和防火墙的检测,但这种扫描使能有效的避免对方入侵检测系统和防火墙的检测,但这种扫描使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息;用的数据包在通过网络时容易被丢弃从而产生错误的探测信息;l l半开放扫描半开放扫描 隐蔽性和可靠性介于前两者之间。隐蔽性和可靠性介于前两者之间。开放扫描技术lTCP Connect 扫描lTCP反向ident扫描TCP Connect 扫描l l实现原理:通过调用实现原理:通过调用socketsocket函数函数connect()connect()连接到连接到目标计算机上,完成一次完整的三次握手过程。目标计算机上,完成一次完整的三次握手过程。如果端口处于侦听状态,那么如果端口处于侦听状态,那么connect()connect()就能成就能成功返回。否则,这个端口不可用,即没有提供服功返回。否则,这个端口不可用,即没有提供服务。务。l l优点:稳定可靠,不需要特殊的权限优点:稳定可靠,不需要特殊的权限l l缺点:扫描方式不隐蔽,服务器日志会记录下大缺点:扫描方式不隐蔽,服务器日志会记录下大量密集的连接和错误记录量密集的连接和错误记录 ,并容易被防火墙发,并容易被防火墙发现和屏蔽现和屏蔽TCP反向ident扫描l实现原理:ident 协议允许看到通过TCP连接的任何进程的拥有者的用户名,即使这个连接不是由这个进程开始的。比如,连接到http端口,然后用identd来发现服务器是否正在以root权限运行。l缺点:这种方法只能在和目标端口建立了一个完整的TCP连接后才能看到。 半开放扫描技术lTCP SYN 扫描lTCP间接扫描TCP SYN 扫描l l实现原理:扫描器向目标主机端口发送实现原理:扫描器向目标主机端口发送SYNSYN包。包。如果应答是如果应答是RSTRST包,那么说明端口是关闭的;如包,那么说明端口是关闭的;如果应答中包含果应答中包含SYNSYN和和ACKACK包,说明目标端口处于包,说明目标端口处于监听状态,再传送一个监听状态,再传送一个RSTRST包给目标机从而停止包给目标机从而停止建立连接。由于在建立连接。由于在SYNSYN扫描时,全连接尚未建立,扫描时,全连接尚未建立,所以这种技术通常被称为半连接扫描所以这种技术通常被称为半连接扫描l l优点:隐蔽性较全连接扫描好,一般系统对这种优点:隐蔽性较全连接扫描好,一般系统对这种半扫描很少记录半扫描很少记录l l缺点:通常构造缺点:通常构造SYNSYN数据包需要超级用户或者授数据包需要超级用户或者授权用户访问专门的系统调用权用户访问专门的系统调用TCP间接扫描l实现原理:利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。扫描主机通过伪造第三方主机IP地址向目标主机发起SYN扫描,并通过观察其IP序列号的增长规律获取端口的状态 l优点:隐蔽性好l缺点:对第三方主机的要求较高 隐蔽扫描技术lTCP FIN 扫描lTCP Xmas扫描lTCP Null 扫描lTCP ftp proxy扫描l分段扫描TCP FIN 扫描l l实现原理:扫描器向目标主机端口发送实现原理:扫描器向目标主机端口发送FINFIN包。包。当当一个一个FINFIN数据包到达一个关闭的端口,数据包会被丢掉,数据包到达一个关闭的端口,数据包会被丢掉,并且返回一个并且返回一个RSTRST数据包。否则,若是打开的端口,数据数据包。否则,若是打开的端口,数据包只是简单的丢掉(不返回包只是简单的丢掉(不返回RSTRST)。)。l l优点:优点:由于这种技术不包含标准的由于这种技术不包含标准的TCPTCP三次握手协议的三次握手协议的任何部分,所以无法被记录下来,从而必任何部分,所以无法被记录下来,从而必SYNSYN扫描隐蔽得扫描隐蔽得多,多,FINFIN数据包能够通过只监测数据包能够通过只监测SYNSYN包的包过滤器。包的包过滤器。l l缺点:缺点:跟跟SYNSYN扫描类似,需要自己构造数据包,要求由超级用户或者授扫描类似,需要自己构造数据包,要求由超级用户或者授权用户访问专门的系统调用;权用户访问专门的系统调用;通常适用于通常适用于UNIXUNIX目标主机,除过少量的应当丢弃数据包却发送目标主机,除过少量的应当丢弃数据包却发送RSTRST包的操作系统(包括包的操作系统(包括CISCOCISCO,HP/UXHP/UX,MVSMVS和和IRIXIRIX)。但在)。但在Windows95/NTWindows95/NT环境下,该方法无效,因为不论目标端口是否打环境下,该方法无效,因为不论目标端口是否打开,操作系统都返回开,操作系统都返回RSTRST包。包。TCP Xmas 和TCP Null 扫描l实现原理:TCP XmasXmas和和NullNull扫描是扫描是FINFIN扫描的扫描的两个变种。两个变种。XmasXmas扫描打开扫描打开FINFIN,URGURG和和PUSHPUSH标标记,而记,而NullNull扫描关闭所有标记。这些组合的目的扫描关闭所有标记。这些组合的目的是为了通过对是为了通过对FINFIN标记数据包的过滤。当一个这种标记数据包的过滤。当一个这种数据包到达一个关闭的端口,数据包会被丢掉,数据包到达一个关闭的端口,数据包会被丢掉,并且返回一个并且返回一个RSTRST数据包。否则,若是打开的端数据包。否则,若是打开的端口,数据包只是简单的丢掉(不返回口,数据包只是简单的丢掉(不返回RSTRST)。)。l优点:隐蔽性好;隐蔽性好;l缺点:l l需要自己构造数据包,要求由超级用户或者授权用户需要自己构造数据包,要求由超级用户或者授权用户权限;权限;l l通常适用于通常适用于UNIXUNIX目标主机,而目标主机,而WindowsWindows系统不支持。系统不支持。TCP ftp proxy扫描l l实现原理:实现原理:FTPFTP代理连接选项,其目的是允许一个客户端同时跟两个代理连接选项,其目的是允许一个客户端同时跟两个FTPFTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大服务器建立连接,然后在服务器之间直接传输数据。然而,在大部分实现中,实际上能够使得部分实现中,实际上能够使得FTPFTP服务器发送文件到服务器发送文件到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:然后:然后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代理扫描不但难以跟踪,而且可以穿越防火墙代理扫描不但难以跟踪,而且可以穿越防火墙l l缺点:一些缺点:一些ftp serverftp server禁止这种特性禁止这种特性分段扫描l实现原理:并不直接发送TCP探测数据包,是将数据包分成两个较小的IP段。这样就将一个TCP头分成好几个数据包,从而包过滤器就很难探测到。l优点:隐蔽性好,可穿越防火墙l缺点:可能被丢弃;可能被丢弃;某些程序在处理这些小数据包时会出现异常。某些程序在处理这些小数据包时会出现异常。栈指纹OS识别技术(一)l原理:根据各个OS在TCP/IP协议栈实现上的不同特点,采用黑盒测试方法,通过研究其对各种探测的响应形成识别指纹,进而识别目标主机运行的操作系统。根据采集指纹信息的方式,又可以分为主动扫描和被动扫描两种方式。被动扫描l通过Sniff收集数据包,再对数据包的不同特征(TCP Window-size、 IP TTL、IP TOS、DF位等参数)进行分析,来识别操作系统。l被动扫描基本不具备攻击特征,具有很好的隐蔽性,但其实现严格依赖扫描主机所处的网络拓扑结构;和主动探测相比较,具有速度慢、可靠性不高等缺点。主动扫描l采用向目标系统发送构造的特殊包并监控其应答的方式来识别操作系统类型。l主动扫描具有速度快、可靠性高等优点,但同样严重依赖于目标系统网络拓扑结构和过滤规则。主动扫描识别技术(一) FINFIN探测:发送一个探测:发送一个FINFIN包给一个打开的端口,一般的行为包给一个打开的端口,一般的行为是不响应,但某些实现例如是不响应,但某些实现例如 MS Windows, BSDI, MS Windows, BSDI, CISCO,HP/UX,MVS,CISCO,HP/UX,MVS,和和IRIX IRIX 发回一个发回一个RESETRESET。 BOGUSBOGUS标记探测:设置一个未定义的标记探测:设置一个未定义的TCP TCP 标记标记 (6464或或128128)在)在SYNSYN包的包的TCPTCP头里。头里。LinuxLinux机器到之前在回应中保持机器到之前在回应中保持这个标记。这个标记。 TCP ISN TCP ISN 取样:找出当响应一个连接请求时由取样:找出当响应一个连接请求时由TCP TCP 实现所实现所选择的初始化序列数式样。这可分为许多组例如传统的选择的初始化序列数式样。这可分为许多组例如传统的64K64K(许多老(许多老UNIXUNIX机器),随机增量(新版本的机器),随机增量(新版本的SolarisSolaris,IRIXIRIX,FreeBSDFreeBSD,Digital UNIXDigital UNIX,CrayCray,等),真,等),真“ “随机随机” ”(Linux 2.0.*Linux 2.0.*,OpenVMS,OpenVMS,新的新的AIX,AIX,等),等),Windows Windows 机器机器(和一些其他的)用一个(和一些其他的)用一个“ “时间相关时间相关” ”模型,每过一段时间模型,每过一段时间ISNISN就被加上一个小的固定数。就被加上一个小的固定数。主动扫描识别技术(二) 不分段位:许多操作系统开始在送出的一些包中设置不分段位:许多操作系统开始在送出的一些包中设置IPIP的的Dont FragmentDont Fragment位。位。 TCPTCP初始化窗口:检查返回包的窗口大小。如初始化窗口:检查返回包的窗口大小。如quesoqueso和和nmapnmap保持对窗口的精确跟踪因为它对于特定保持对窗口的精确跟踪因为它对于特定OSOS基本是常数。基本是常数。 ACKACK值:不同实现中一些情况下值:不同实现中一些情况下ACKACK域的值是不同的。例如,域的值是不同的。例如,如果你送了一个如果你送了一个FIN|PSH|URG FIN|PSH|URG 到一个关闭的到一个关闭的TCP TCP 端口。大端口。大多数实现会设置多数实现会设置ACK ACK 为你的初始序列数,而为你的初始序列数,而Windows Windows 会送会送给你序列数加给你序列数加1 1 。 ICMPICMP错误信息终结:一些操作系统跟从限制各种错误信息错误信息终结:一些操作系统跟从限制各种错误信息的发送率。例如,的发送率。例如,Linux Linux 内核限制目的不可达消息的生成每内核限制目的不可达消息的生成每4 4 秒钟秒钟8080个。测试的一种办法是发一串包到一些随机的高个。测试的一种办法是发一串包到一些随机的高UDPUDP端口并计数收到的不可达消息。端口并计数收到的不可达消息。主动扫描识别技术(三) ICMPICMP消息引用:消息引用:ICMPICMP错误消息可以引用一部分引起错误的错误消息可以引用一部分引起错误的源消息。对一个端口不可达消息,几乎所有实现只送回源消息。对一个端口不可达消息,几乎所有实现只送回IPIP请请求头外加求头外加8 8个字节。然而,个字节。然而,Solaris Solaris 送回的稍多,而送回的稍多,而Linux Linux 更更多。多。 SYNSYN洪水限度:如果收到过多的伪造洪水限度:如果收到过多的伪造SYNSYN数据包,一些操作数据包,一些操作系统会停止新的连接尝试。许多操作系统只能处理系统会停止新的连接尝试。许多操作系统只能处理8 8 个包。个包。 参考:参考:Nmap Remote OS DetectionNmap Remote OS Detection四、现有扫描器介绍及选择l现有主要扫描器产品介绍l评价扫描器的原则l现有扫描器产品的不足扫描器产品介绍(一)lISS Internet Scanner该产品一直是安全扫描器的业界标准。l优点:报告功能强大,漏洞检查集完备,可用性很好。l平台:Windows NTlURL: 扫描器产品介绍(二)lNessus由Renaud编写的开放源码项目。l优点:采用分布式结构引擎具有极大弹性,可扩展性强,漏洞库较全面。l平台:UNIXlURL:Http:/扫描器产品介绍(三)lSAINT以SATAN为基础的网络安全扫描工具。l平台:UNIXlURL:Http:/评价扫描器的原则(一)l l漏洞检测的完整性漏洞检测的完整性是否能扫描各类重要的系统漏洞,漏洞库信息的是否能扫描各类重要的系统漏洞,漏洞库信息的完备程度如何?完备程度如何?l l漏洞检测的精确性漏洞检测的精确性是否能准确报告系统漏洞,很少误报或漏报是否能准确报告系统漏洞,很少误报或漏报l l漏洞检测的范围漏洞检测的范围是否能进行本地主机或远端主机的扫描是否能进行本地主机或远端主机的扫描l l及时更新及时更新是否能及时更新漏洞库,加入新发现的漏洞信息是否能及时更新漏洞库,加入新发现的漏洞信息评价扫描器的原则(二)l报告功能是否有完善的报告功能,是客户便于理解和维护l价格产品价格是否合理现有扫描器产品的不足l检测的完整性没有一种产品可以发现所有漏洞l检测的准确性常有漏报、误报现象l更新的及时性对新漏洞的更新不够及时五、扫描器实例分析l主要实现功能l扫描器的总体结构l主要工作流程l漏洞分析主要实现功能采用众多的扫描规避和隐蔽技术,采用众多的扫描规避和隐蔽技术,扫描目标主机扫描目标主机和端口,识别其工作状态;和端口,识别其工作状态;l l识别目标主机系统及服务程序的类型和版本;识别目标主机系统及服务程序的类型和版本;根据漏洞库信息,分析系统脆弱点;根据漏洞库信息,分析系统脆弱点;提供漏洞产生背景、影响、攻击方式、修补措施提供漏洞产生背景、影响、攻击方式、修补措施等信息;等信息;l l以网页形式生成扫描结果报告;以网页形式生成扫描结果报告;具有可扩展性,提供用户动态加载和扩充系统的具有可扩展性,提供用户动态加载和扩充系统的接口接口扫描器的总体结构(一)l扫描器基于B/S结构l扫描器运行在Linux平台,工作于一个Linux、UNIX和Windows操作系统相混合的TCP/IP网络环境中l扫描器建有漏洞库l控制平台则提供一个人机交互的界面。扫描器的总体结构(二)主要工作流程l主机扫描l端口扫描l识别系统及服务程序的类型l根据已知漏洞信息,分析系统脆弱点l生成扫描结果报告漏洞分析:CGI漏洞扫描l漏洞扫描流程连接目标连接目标WEB SERVERWEB SERVER发送一个特殊的请求发送一个特殊的请求接收目标服务器返回数据接收目标服务器返回数据根据返回数据判断目标服务器是否有此根据返回数据判断目标服务器是否有此CGICGI漏漏洞。洞。CGI漏洞扫描(一)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/samples/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“漏洞,需要提示用户进行修改。漏洞,需要提示用户进行修改。CGI漏洞扫描(二)l如果向IIS服务器发Http请求, “GET /NULL.printer“GET /NULL.printer“其返回信息为其返回信息为500 13rnServer: Microsoft-IIS/5.0500 13rnServer: Microsoft-IIS/5.0则目标系统存在则目标系统存在”IIS5 NULL.printer”IIS5 NULL.printer”漏洞。漏洞。参考文献lICMP Usage in Scanning lNmap Remote OS Detectionlhttp:/ 谢谢!漏洞的发现漏洞的发现漏洞漏洞是硬件、软件或策略上的缺陷,从而使得攻击者能够在未授权的情况下访问、控制系统 漏洞的发现漏洞的发现 黑客 破译者 安全服务商组织漏洞的发现漏洞的发现漏洞对系统的威胁漏洞对系统的威胁漏洞的脆弱性分析漏洞的脆弱性分析扫描技术与原理扫描技术与原理漏洞实例分析漏洞实例分析系统设计与实现系统设计与实现漏洞对系统的威胁(一)漏洞对系统的威胁(一)7月份来自国内的攻击总数为:383+396+120+441=1340次 漏洞对系统的威胁(二)漏洞对系统的威胁(二)漏洞的发现漏洞的发现漏洞对系统的威胁漏洞对系统的威胁漏洞的脆弱性分析漏洞的脆弱性分析扫描技术与原理扫描技术与原理漏洞实例分析漏洞实例分析系统设计与实现系统设计与实现漏洞的脆弱性分析漏洞的脆弱性分析 IIS IIS的脆弱性的脆弱性 CGI CGI安全安全 缓冲区溢出缓冲区溢出 拒绝服务拒绝服务 协议分析协议分析 后门后门协议的脆弱性分析协议的脆弱性分析TCP/IPTCP/IP四层模型四层模型网络接口层;网络接口层;(PPP(PPP、ARP)ARP)互联层;互联层;(IP(IP、ICMP)ICMP)传输层;传输层;(TCP(TCP、UDP)UDP)应用层;应用层;(HTTP(HTTP,SNMPSNMP,FTPFTP,SMTPSMTP,DNSDNS,Telnet Telnet ) )IP IP 数据报格式数据报格式01631version hdr lnthtype of servicetotal length of datagramidentification numberfragment offsettime-to-live (ttl)protocolheader checksumsource IP address (4 bytes)destination IP address (4 bytes)options field (variable length, max length 40 bytes)data20bytesR DF MFICMPICMP消息格式消息格式081631typecodechecksumcontents depend on type and code081631typecodechecksumidentifiersequence numberexample specific format: echo request/reply optional data general formatUDPUDP数据报格式数据报格式source port number01631destination port numberUDP datagram lengthUDP checksumoptional dataTCPTCP段格式段格式01631source port numberdestination port numbersequence numberacknowledgement numberhdr lgth reservedU A P R S Fwindow sizeTCP checksumurgent pointeroptions field (variable length, max length 40 bytes)data20bytes IP IP层层 IP层的主要缺陷是缺乏有效的安全认证和保密机制。其中最主要的因素就是IP地址问题。TCP/IP协议是用IP地址来作为网络节点的唯一标识,许多TCP/IP服务,包括Berkeley的“r”命令,NFS,X Window等都是基于IP地址来对用户进行认证和授权的。当前TCP/IP网络的安全机制主要是基于IP地址的包过滤(Packet Filtering)和认证(Authentication)技术,它们的正确有效性依赖于IP包的源IP地址的真实性。然而IP地址存在许多问题,协议最大缺点就是缺乏对IP地址的保护,缺乏对IP包中源IP地址真实性的认证机制与保密机制。这也是引起整个TCP/IP协议不安全的根本所在。 TCP/UDP TCP/UDP层层 由于TCP/UDP是基于IP协议之上的,TCP分段和UDP数据报是封装在IP包中在网上传输的,它们也同样面临IP层所遇到的安全威胁,另外还有针对TCP/UDP协议设计和实现中的缺陷实行的攻击。l TCP的安全问题:针对TCP连接建立时“三次握手”机制的攻击;未加密的TCP连接被欺骗、被劫取、被操纵。存在的主要攻击有:- TCP SYN淹没攻击- TCP序列号攻击- TCP会话截取攻击(TCP Session Hijacking)- TCP连接不同步状态攻击- SYN Sniping攻击- TCP 端口扫描。lUDP的问题:由于UDP是无连接的,更易受IP源路由和拒绝服务攻击,如UDP诊断端口拒绝服务攻击和UDP Echo Loop Flooding攻击。 应用层应用层由于它是基于底下各层基础之上的,下层的安全缺陷就会导致应用层的安全崩溃。此外各应用层协议层自身也存在着许多安全问题,如Telnet、FTP、SMTP等应用协议缺乏认证和保密措施。主要有以下几方面的问题: * Finger:可被用来获得一个指定主机上的所有用户的详细信息(如用户注册名、电话号码、最后注册时间等等),给入侵者进行破译口令和网络刺探提供了极有用的信息和工具。此外,还有Finger炸弹拒绝服务攻击。 * FTP:FTP存在着致命的安全缺陷,FTP使用标准的用户名和口令作为身份鉴定,缺乏对用户身份的安全认证机制和有效的访问权限控制机制;匿名FTP(anonymous FTP)可使任何用户连接到一远程主机并从其上下载几乎所有类型的信息而不需要口令;FTP连接的用户名和口令以及数据信息是明文传输的;FTP服务器中可能含有特洛依木马。 *Telnet:用户可通过远程登录Telnet服务来与一个远程主机相连。它允许虚拟终端服务,允许客户和服务器以多种形式会话。入侵者可通过Telnet来隐藏其踪迹,窃取Telnet服务器上的机密信息,而且,同FTP 一样,Telnet应用中信息包括口令都是明文传输的。Telnet 缺乏用户到主机的认证;Telnet不提供会话完整性检查;Telnet会话未被加密,其中用户ID和口令能被窃听、Telnet会话能被劫取等。*HTTP:HTTP未提供任何加密机制,因此第三方可窥视客户和服务器之间的通信;HTTP是无态协议,它在用户方不存储信息,因此,它无法验证用户的身份;HTTP协议不提供对会话的认证。*E-mail:主要问题有:伪造E-mail;利用有效E-mail地址进行冒名顶替;E-mail中含有病毒;利用E-mail 对网络系统进行攻击,如E-mail炸弹;Sendmail 存在很多安全问题;绝大多数E-mail邮件都不具有认证或保密功能,使得正在网上传输的E-mail很容易被截获阅读、被伪造。 * DNS:域名系统(Domain Name System)提供主机名到IP 地址的映射和与远程系统的互连功能。此外,DNS中还包含有关站点的宝贵信息:机器名和地址,组织的结构等等。除验证问题,攻击DNS还可导致拒绝服务和口令收集等攻击。DNS 对黑客是脆弱的,黑客可以利用DNS中的安全弱点获得通向Internet上任何系统的连接。一个攻击者如果能成功地控制或伪装一个DNS服务器,他就能重新路由业务流来颠覆安全保护。DNS协议缺乏加密验证机制,易发生DNS欺骗、DNS高速缓存污染(DNS Cache Poisoning)和“中间人”攻击。* SNMP:SNMPv1不具备安全功能,它不使用验证或使用明文可重用口令来验证和认证信息,因此对SNMP业务流侦听,进而实现对SNMP数据的非法访问是容易的。一旦攻击者访问了SNMP 数据库,则可以实现多方面的攻击。如黑客可以通过SNMP查阅非安全路由器的路由表,从而了解目标机构网络拓扑的内部细节。SNMPv2c以及过度性的SNMPv2u和SNMPv2*虽然具有了一定的安全功能,但是还都存在着一些问题;SNMPv3虽然集成了先前版本的优点,具有了较强的安全性,但是还具有安全弱点,如所采用的DES-CBC加密的安全性不强。 漏洞的发现漏洞的发现漏洞对系统的威胁漏洞对系统的威胁漏洞的脆弱性分析漏洞的脆弱性分析扫描技术与原理扫描技术与原理漏洞实例分析漏洞实例分析系统设计与实现系统设计与实现扫描技术扫描技术扫描程序是自动检测远端或本地主机脆弱性的程序。通过与目标主机TCP/IP端口建立连接并请求某些服务(如TELNET、FTP等),记录目标主机的应答,搜集目标主机相关信息(如匿名用户是否可以登录等),从而发现目标主机某些内在的安全漏洞。对某一类漏洞进行检查的程序成为一个扫描方法。扫描常用技术包括扫描常用技术包括ping ping 扫射、端口扫描、操作系统识扫射、端口扫描、操作系统识别、穿透防火墙的扫描别、穿透防火墙的扫描 扫描技术扫描技术Ping 扫描扫描UDP 扫描扫描TCP扫描扫描端口扫描端口扫描操作系统鉴别操作系统鉴别Ping 扫描扫描ICMP 应答请求应答请求 ICMP广播广播 无回音的无回音的ICMP协议协议 端口服务扫描类型(一)端口服务扫描类型(一)(1)TCP connect扫描 这是最基本的扫描方式。如果目标主机上的某个端口处于侦听状态,可根据其IP地址和端口号使用标准的connect()调用来与之建立连接。若目标主机未开放该端口,则connect操作失败。因此,使用这种方法可以检测到目标主机开放了那些端口。在执行这种扫描方式时,不需要对目标主机拥有任何权限。(2)TCP SYN 扫描 这种技术通常认为是“半”扫描,扫描程序发送一个SYN数据包,等待目标主机的应答。如果目标主机返回SYN|ACK,表示端口处于侦听状态。若返回RST,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序发送一个RST数据包,来终止这个连接。这种扫描技术的优点在于一般不会再目标计算机上留下纪录。但要求攻击者在发起攻击的计算机上必须有root权限,因为不是通过标准的connect调用来扫描端口,必须直接在网络上向目标主机发送SYN和RST数据包。 端口服务扫描类型(二)端口服务扫描类型(二)(3)TCP FIN 扫描 向目标主机的某个端口发送FIN数据包,若端口处于侦听状态,目标主机不会回复FIN数据包。相反,若端口未被侦听,目标主机会用适当的RST来回复。这种方法须依赖于系统的实现。某些系统对所有的FIN一律回复RST,不管端口是否打开。在这种情况下,TCP FIM扫描就不适用了。(4)IP分片扫描 这种方法不直接发送TCP探测数据包,而是预先将数据包分成两个较小的IP数据包传送给目标主机。目标主机收到这些IP段后,会把它们组合还原为原先的TCP探测数据包。将数据包分片的目的是使他们能够通过防火墙和包过滤器,将一个TCP分为几个较小的数据包,可能会穿过防火墙而到达目标主机。(5)UDP端口扫描 许多主机在你向一个未打开的UDP端口发送一个数据包时,会返回一个ICMP_PORT_UNREACH错误 ,需要root权限。(6)UDP recvfrom()和write()扫描 如果攻击者在发起攻击的计算机上没有root权限,它不能读到端口不可达(ICMP_PORT_UNREACH)错误数据包。在Linux中可以间接的检测到是否收到了目标主机的这个应答数据包。例如,对一个未侦听端口的第二个write()调用将失败。在非阻塞的UDP套接字上调用recvfrom()时,如果未收到这个应答,返回EAGAIM(其意思是可以重试)。如果收到这个应答,则返回ECONNREFUSED(连接被拒绝)。可以根据recvfrom()和write()的返回字来判断目标主机是否发送了ICMP_PORT_UNREACH应答。端口服务扫描类型(三)端口服务扫描类型(三)端口扫描技术端口扫描技术分块扫描分块扫描分步扫描分步扫描随机扫描随机扫描平行扫描平行扫描动态延迟和重发动态延迟和重发诱骗诱骗扫描技术扫描技术-操作系统识别操作系统识别捕捉标语信息捕捉标语信息rootpooh # Debian DNS HINFODNS HINFO(主机信息)记录(主机信息)记录 主机信息通常是一对字符串,用来标识主机的硬件和操作系统信息:主机信息通常是一对字符串,用来标识主机的硬件和操作系统信息:www IN HINFO “Sparc Ultra 5” “Solaris 2.6” TCP/IP TCP/IP 栈指纹栈指纹探测器探测器漏洞的发现漏洞的发现漏洞对系统的威胁漏洞对系统的威胁漏洞的脆弱性分析漏洞的脆弱性分析扫描技术与原理扫描技术与原理漏洞实例分析漏洞实例分析系统设计与实现系统设计与实现漏洞实例分析漏洞实例分析Windows 漏洞漏洞Unix漏洞漏洞路由器漏洞路由器漏洞CGI漏洞漏洞Windows 2000输入法漏洞输入法漏洞空会话漏洞空会话漏洞IIS Unicode 漏洞漏洞SQL Server 空口令空口令UnixUnix漏洞漏洞FreeBsdBind8.2.x远程溢出漏洞远程溢出漏洞Linux内核漏洞内核漏洞漏洞扫描技术漏洞扫描技术漏洞的发现漏洞的发现漏洞对系统的威胁漏洞对系统的威胁漏洞的脆弱性分析漏洞的脆弱性分析扫描技术和原理扫描技术和原理漏洞实例分析漏洞实例分析系统设计与实现系统设计与实现系统设计与实现系统设计与实现扫描器类型扫描器类型扫描器基本模块扫描器基本模块扫描内容扫描内容扫描器类型扫描器类型-主机扫描器主机扫描器主主主机扫描器又称本地扫描器,它与待检查系统运行于同一结点,执行对自身的检查。它的主要功能为分析各种系统文件内容,查找可能存在的对系统安全造成威胁的配置错误。由于主机扫描器实际上是运行于目标主机上的进程,因此具有以下特点: 1 1、可可以以在在系系统统上上任任意意创创建建进进程程。为为了了运运行行某某些些程程序序,检检测测缓缓冲冲区区溢出攻击,就要求扫描器做到这一点。溢出攻击,就要求扫描器做到这一点。 2222、可可以以检检查查到到安安全全补补丁丁一一级级,以以确确保保系系统统安安装装了了最最新新的的安安全全补补丁丁。 3 3、可可以以查查看看本本地地系系统统配配置置文文件件,检检查查系系统统的的配配置置错错误误。除除非非能能攻攻入系统并取得超级用户权限,远程扫描器很难实现入系统并取得超级用户权限,远程扫描器很难实现网络扫描器网络扫描器网络扫描器又称远程扫描器。它和待检查系统运行于不同结点,通过网络远程探测目标结点,检查安全漏洞。远程扫描器检查网络和分布式系统的安全漏洞。与主机扫描器的扫描方法不同,网络扫描器通过执行一整套综合的渗透测试程序集,也称扫描方法集,发送精心构造的数据包来检测目标系统是否存在安全隐患。应该说这种扫描方法在某些方面优于主机扫描方法。因为攻击是检验网络安全的最佳手段。 扫描器基本模块扫描器基本模块用户界面扫描引擎扫描方法集漏洞数据库扫描输出报告扫描策略 主机扫描内容主机扫描内容-unix(1)-unix(1)系统完整性检查 关键系统文件变化检查 用户账户变化检查 黑客入侵标记检查 未知程序版本 不常见文件名 可疑设备文件 未经授权服务 网络数据包截获攻击检测 弱口令选择检测 有安全漏洞程序版本检测 标记可被攻击程序 报告需要安装的安全补丁 检查系统配置安全性 全局信任文件主机扫描内容主机扫描内容-unix (2)unix (2) crontab文件 rc系统启动文件 文件系统mount权限 打印服务 账户配置 组配置 检查网络服务安全性 是否允许ip转发 标记有风险服务 ftp 配置 news服务器配置NFS配置 邮件服务器配置 Web服务器配置 检查用户环境变量安全性 系统文件属主 系统文件权限许可 文件属主及权限许可 shell启动文件 用户信任文件 应用程序配置文件主机扫描内容主机扫描内容-windowswindows 允许建立guest账户 guest账户无口令 口令构造和过时原则 弱口令选择 登陆失败临界值 注册表权限许可 允许远程注册访问 独立的注册设置 对系统文件和目录不正确的分配许可权 非NT缺省配置的未知服务 运行易遭到攻击的服务,如:运行在Web服务器上的SMB服务等 带有许可访问控制设置的共享,可能给远程用户全部访问权网络扫描内容(网络扫描内容(1 1)后门类 浏览器类 强力攻击类 CGI-Bin类 守护进程类 DCOM类 DNS协议类 NFS 类电子邮件类 Finger 类 防火墙类 FTP协议类 信息收集类 Instant Messaging LDAP类 NetBIOS 类 NIS 类 NT 关键问题类 NT 组类 NT 网络类 NT 口令检查类 NT 口令策略类 NT 补丁类 NT 策略类 NT 注册表类 NT 服务类 NT 用户类 协议欺骗类 路由器/交换机类 RPC 类 共享类 SNMP 类 TCP 端口扫描 UDP 端口扫描 Web 扫描 X Windows 类网络扫描内容(网络扫描内容(2 2)天镜漏洞扫描系统天镜漏洞扫描系统漏洞扫描系统的性能指标漏洞扫描系统的性能指标准确性效率扫描方法的关联性扫描器自身的安全漏洞的描述升级频率相关网站相关网站Anyquestions?课程结束课程结束思考题思考题: :什么是漏洞?商用的扫描软件与free的有何区别?中国的漏洞库组织是什么?漏洞扫描系统的实现依赖的技术是什么?漏洞扫描技术的发展趋势是什么?谢谢大家谢谢大家E-mail:
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号