《网络漏洞扫描技术幻灯片.ppt》由会员分享,可在线阅读,更多相关《网络漏洞扫描技术幻灯片.ppt(75页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、网络漏洞扫描技术第1页,共75页,编辑于2022年,星期二*第六章第六章 网络漏洞扫描技术网络漏洞扫描技术 网络安全扫描是一项重要的网络安全技术。网络安全扫描是一项重要的网络安全技术。网络安全主要来自于网络中存在的漏洞。网络网络安全主要来自于网络中存在的漏洞。网络安全扫描就是网络漏洞扫描。网络漏洞扫描与安全扫描就是网络漏洞扫描。网络漏洞扫描与防火墙、入侵检测系统互相配合,能够有效提防火墙、入侵检测系统互相配合,能够有效提高网络的安全性。通过对网络的扫描,网络管高网络的安全性。通过对网络的扫描,网络管理员可以了解网络的安全配置和运行的应用服理员可以了解网络的安全配置和运行的应用服务,及时发现安全
2、漏洞,客观评估网络风险等务,及时发现安全漏洞,客观评估网络风险等级。如果说防火墙和网络监控系统是被动的防级。如果说防火墙和网络监控系统是被动的防御手段,那么安全扫描就是一种主动的防范措御手段,那么安全扫描就是一种主动的防范措施,可以有效避免黑客攻击行为,做到防患于施,可以有效避免黑客攻击行为,做到防患于未然。未然。第2页,共75页,编辑于2022年,星期二*本章内容提要本章内容提要:l网络漏洞概述网络漏洞概述l实施网络扫描实施网络扫描 l常用的网络扫描工具常用的网络扫描工具 l不同的扫描策略不同的扫描策略l网络漏洞扫描技术发展趋势网络漏洞扫描技术发展趋势 第六章第六章 网络漏洞扫描技术网络漏洞
3、扫描技术第3页,共75页,编辑于2022年,星期二*l l 网络漏洞的概念网络漏洞的概念网络漏洞的概念网络漏洞的概念 l l 存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因 6.1 6.1 网络漏洞概述网络漏洞概述l l 漏洞的危害漏洞的危害漏洞的危害漏洞的危害 l l 公开的网络漏洞信息公开的网络漏洞信息公开的网络漏洞信息公开的网络漏洞信息 第4页,共75页,编辑于2022年,星期二*l l网络漏洞的概念网络漏洞的概念网络漏洞的概念网络漏洞的概念 漏洞是在硬件、软件、协议的具体实现或系统安全策略上漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以
4、使攻击者能够在未授权的情况下访问或存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。破坏系统。l基于访问控制的定义基于访问控制的定义l基于状态的定义基于状态的定义 l基于模糊概念的定义基于模糊概念的定义 系统中主体对象的访问是通过访问控制矩阵实现的,这个访问控制矩阵就是安全策略的具体实现,当操作系统的操作和安全策略之间相冲突时,就产生了漏洞 计算机系统是由一系列描述该系统各个组成实体的当前状态所构成。系统通过状态转换来改变它的状态。Dennis LongleyDennis Longley和和Michael ShainMichael Shain在在“Data&Computer Da
5、ta&Computer SecurityDictionary of Standard concepts and SecurityDictionary of Standard concepts and Terms”Terms”一书中对漏洞的定义一书中对漏洞的定义 第5页,共75页,编辑于2022年,星期二*l l 网络漏洞的概念网络漏洞的概念网络漏洞的概念网络漏洞的概念 l l 存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因 6.1 6.1 网络漏洞概述网络漏洞概述l l 漏洞的危害漏洞的危害漏洞的危害漏洞的危害 l l 公开的网络漏洞信息公开的网络漏洞信息公开的网络漏
6、洞信息公开的网络漏洞信息 第6页,共75页,编辑于2022年,星期二*l l存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因 网络安全漏洞是网络安全漏洞是“不可避免不可避免”,这是由网络系统的高度复,这是由网络系统的高度复杂性所决定的。杂性所决定的。l 网络协议漏洞网络协议漏洞l 应用软件系统漏洞应用软件系统漏洞 l 配置不当引起的漏洞配置不当引起的漏洞 TCP/IP协议族是目前使用最为广泛的网络互连协议族,但TCP/IP协议在设计时是将它置于可信任的环境之下的,并将网络互连和开放性作为首要考虑的问题,而没有过多的考虑安全性,这就造成了TCP/IP协议族本身的不安全性,
7、导致一系列基于TCP/IP的网络服务的安全性也相当脆弱。应用软件系统的漏洞分为两种:一是由于操作系统本身设计缺陷带来的安全漏洞,这种漏洞将被运行在该系统上的应用程序所继承;二是应用软件程序的安全漏洞 在一些网络系统中忽略了安全策略的制定,即使采取了一定的网络安全措施,但由于系统的安全配置不合理或不完整,安全机制没有发挥作用。或者在网络环境发生变化后,由于没有及时更改系统的安全配置而造成安全漏洞 第7页,共75页,编辑于2022年,星期二*l l 网络漏洞的概念网络漏洞的概念网络漏洞的概念网络漏洞的概念 l l 存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因 6.1 6
8、.1 网络漏洞概述网络漏洞概述l l 漏洞的危害漏洞的危害漏洞的危害漏洞的危害 l l 公开的网络漏洞信息公开的网络漏洞信息公开的网络漏洞信息公开的网络漏洞信息 第8页,共75页,编辑于2022年,星期二*l l漏洞的危害漏洞的危害漏洞的危害漏洞的危害从以下五个方面来评估漏洞对系统安全特性造成的危害从以下五个方面来评估漏洞对系统安全特性造成的危害 l系统的完整性系统的完整性l系统的可用性系统的可用性l系统的机密性系统的机密性l系统的可控性系统的可控性l系统的可靠性系统的可靠性攻击者利用漏洞入侵系统,对系统数据进行篡改,从而破坏数据的完整性(Integrity)攻击者利用漏洞破坏系统或者网络的正
9、常运行,导致信息或网络服务的可用性(Availability)被破坏,合法用户的正常服务要求得不到满足 攻击者利用漏洞给非授权的个人和实体泄露受保护信息。很多时候,机密性(Confidentiality)和完整性是交叠的 攻击者利用漏洞使得系统对于合法用户而言是处在“失控”状态,使系统的可控性(Controllability)被破坏 攻击者利用漏洞对用户认可的质量特性(信息传递的迅速性、准确性以及连续地转移等)造成危害,使系统的可靠性(Reliability)被破坏 第9页,共75页,编辑于2022年,星期二*l l漏洞的危害漏洞的危害漏洞的危害漏洞的危害【例例】据调研公司据调研公司Aberd
10、eenAberdeen于于20052005年年7 7月对月对162162家公司的调查显示,蠕虫、病家公司的调查显示,蠕虫、病毒等对互联网产生破坏作用的每起事件对企业造成了近毒等对互联网产生破坏作用的每起事件对企业造成了近200200万美元的收入损失,有万美元的收入损失,有8383的公司在过去三年受到了互联网安全问题的影响,大概每年一起,的公司在过去三年受到了互联网安全问题的影响,大概每年一起,但在三年内给但在三年内给1515的公司业务带来了七次以上的停滞。的公司业务带来了七次以上的停滞。20032003年年7 7月月1616日,微软日,微软发布发布MS03-26MS03-26的的RPCRPC系
11、统漏洞,随后不久就于系统漏洞,随后不久就于20032003年年8 8月月1111日出现利用此漏洞的日出现利用此漏洞的“冲击波冲击波”病毒(病毒(W32.Blast.WormW32.Blast.Worm)。因为此漏洞几乎存在于一切)。因为此漏洞几乎存在于一切WindowsWindows系统中,影响范围极广,在全世界范围里迅速传播,造成了巨大的破坏。系统中,影响范围极广,在全世界范围里迅速传播,造成了巨大的破坏。第10页,共75页,编辑于2022年,星期二*l l 网络漏洞的概念网络漏洞的概念网络漏洞的概念网络漏洞的概念 l l 存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的原因存在网络漏洞的
12、原因 6.1 6.1 网络漏洞概述网络漏洞概述l l 漏洞的危害漏洞的危害漏洞的危害漏洞的危害 l l 公开的网络漏洞信息公开的网络漏洞信息公开的网络漏洞信息公开的网络漏洞信息 第11页,共75页,编辑于2022年,星期二*l l公开的网络漏洞信息公开的网络漏洞信息公开的网络漏洞信息公开的网络漏洞信息 漏洞信息的公开可以让系统管理员更有针对性地对自己管理的漏洞信息的公开可以让系统管理员更有针对性地对自己管理的系统进行配置和管理。另外,也可以促使提供软件或硬件的厂商更系统进行配置和管理。另外,也可以促使提供软件或硬件的厂商更快地解决问题。快地解决问题。l通用漏洞披露通用漏洞披露 lBugTraq
13、BugTraq漏洞数据库漏洞数据库 lICATICAT漏洞数据库漏洞数据库 lCERT/CCCERT/CC漏洞信息数据库漏洞信息数据库lX-ForceX-Force数据库数据库 l中国中国“国家漏洞库国家漏洞库”CVE(Common Vulnerabilities&Exposures,通用漏洞披露)。BugTraq是由Security Focus公司维护的一个关于计算机安全漏洞详细信息讨论的邮件列表,讨论内容包括漏洞的描述、漏洞的渗透方法以及漏洞的修补方法等。ICAT是由美国标准技术研究所(National Institute of Standard Technology,NIST)维护的一个
14、CVE兼容的漏洞信息检索索引。CERT/CC漏洞数据库也是一个CVE兼容的数据库。可以通过名字、ID号、CVE名字、公布日期、更新日期、严重性等方法检索漏洞信息 X-Force数据库由ISS公司维护,是一个比较全面的漏洞信息数据库。基于中国的国情,中国建立了自己的漏洞库,即“国家漏洞库”。第12页,共75页,编辑于2022年,星期二*6.2 6.2 实施网络扫描实施网络扫描传统的黑客在入侵一个主机前,会先进行下面三项工作:传统的黑客在入侵一个主机前,会先进行下面三项工作:踩点、扫描和查点。而扫描又可以划分为三个不同的阶段,踩点、扫描和查点。而扫描又可以划分为三个不同的阶段,即发现目标、搜集信息
15、和漏洞检测。即发现目标、搜集信息和漏洞检测。1 1)发现目标:发现存活的目标主机。)发现目标:发现存活的目标主机。2 2)搜集信息:发现目标后进一步搜集目标信息,包括目)搜集信息:发现目标后进一步搜集目标信息,包括目标的操作系统类型、运行的服务以及服务软件的版本等。如果目标的操作系统类型、运行的服务以及服务软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。以及各主机的信息。3 3)漏洞检测:根据搜集到的信息进行分析、判断或)漏洞检测:根据搜集到的信息进行分析、判断或者进一步检测目标是否存在安全漏
16、洞。者进一步检测目标是否存在安全漏洞。第13页,共75页,编辑于2022年,星期二*l l 发现目标发现目标发现目标发现目标 l l 搜集信息搜集信息搜集信息搜集信息 6.2 6.2 实施网络扫描实施网络扫描l l 漏洞检测漏洞检测漏洞检测漏洞检测 第14页,共75页,编辑于2022年,星期二*l l发现目标发现目标发现目标发现目标 在这一阶段使用的技术通常称为在这一阶段使用的技术通常称为PingPing扫描扫描(Ping SweepPing Sweep),包括),包括ICMPICMP扫描、广播扫描、广播ICMPICMP、非回显、非回显ICMPICMP、TCPTCP扫描、扫描、UDPUDP扫描
17、扫描 l ICMP ICMP扫描扫描 作为作为IPIP协议一个组成部分,协议一个组成部分,ICMPICMP用来传递差错报文和用来传递差错报文和其他需要注意的信息。日常使用最多的是用户的其他需要注意的信息。日常使用最多的是用户的PingPing。ICMPICMP报文和报文和IPIP报文的关系报文的关系如图所示如图所示,ICMPICMP报文的格式报文的格式如图如图所示所示 第15页,共75页,编辑于2022年,星期二*l l发现目标发现目标发现目标发现目标 如果发送者接收到来自目标的如果发送者接收到来自目标的ICMPICMP回显应答,就能知回显应答,就能知道目标目前处于活动状态,否则可以初步判断主
18、机不可达道目标目前处于活动状态,否则可以初步判断主机不可达或发送的包被对方的设备过滤掉。使用这种方法轮询多个或发送的包被对方的设备过滤掉。使用这种方法轮询多个主机的方式称为主机的方式称为ICMPICMP扫描扫描。该扫描的优点是:该扫描的优点是:简单、系统支持简单、系统支持。缺点是:。缺点是:很容易被防火墙很容易被防火墙限制限制 可用于可用于ICMPICMP扫描的工具很多。在扫描的工具很多。在UNIXUNIX环境中主要有环境中主要有PingPing和和FpingFping。在。在WindowsWindows环境中可以使用出自环境中可以使用出自Rhino9Rhino9的的PingerPinger。
19、第16页,共75页,编辑于2022年,星期二*l l发现目标发现目标发现目标发现目标l 广播广播 ICMP ICMP 与与ICMPICMP扫描相同点:广播扫描相同点:广播ICMPICMP也是利用了也是利用了ICMPICMP回显回显请求和请求和ICMPICMP回显应答这两种报文。回显应答这两种报文。与与ICMPICMP扫描不同点:广播扫描不同点:广播ICMPICMP只需要向目标网络的网只需要向目标网络的网络地址和络地址和/或广播地址发送一两个回显请求,就能够或广播地址发送一两个回显请求,就能够收到目标网络中所有存活主机的收到目标网络中所有存活主机的ICMPICMP回显应答。回显应答。缺点:缺点:
20、这种扫描方式容易引起广播风暴,如果有很多这种扫描方式容易引起广播风暴,如果有很多机器回应的话,甚至会导致网络出现拒绝服务机器回应的话,甚至会导致网络出现拒绝服务(DosDos)现象)现象 第17页,共75页,编辑于2022年,星期二*l l发现目标发现目标发现目标发现目标l 非回显非回显 ICMP ICMP 1 1)ICMPICMP时间戳请求允许系统向另一个系统查时间戳请求允许系统向另一个系统查 询当前的时间。询当前的时间。2 2)ICMPICMP地址掩码请求用于无盘系统引导过程中地址掩码请求用于无盘系统引导过程中获得自己的子网掩码。获得自己的子网掩码。3 3)对于对于ICMPICMP地址掩码
21、请求报文而言,虽然地址掩码请求报文而言,虽然RFC1122RFC1122规定,除非是地址掩码的授权代理,否则一个系统规定,除非是地址掩码的授权代理,否则一个系统不能发送地址掩码应答。不能发送地址掩码应答。第18页,共75页,编辑于2022年,星期二*l l发现目标发现目标发现目标发现目标l TCP TCP扫描扫描 传输控制协议(传输控制协议(Transmission Control ProtocolTransmission Control Protocol,TCPTCP)为应为应用层提供一种面向连接的、可靠的字节流服务。它使用用层提供一种面向连接的、可靠的字节流服务。它使用“三次握手三次握手”
22、的方式建立连接。的方式建立连接。如图所示如图所示 l UDP UDP扫描扫描 用户数据报协议(用户数据报协议(User Datagram ProtocolUser Datagram Protocol,UDPUDP)是一是一个面向数据报的传输层协议。个面向数据报的传输层协议。UDPUDP数据报也封装在数据报也封装在IPIP数据数据报之中,报之中,如图所示如图所示 第19页,共75页,编辑于2022年,星期二*l l发现目标发现目标发现目标发现目标UDPUDP协议的规则:协议的规则:如果接收到一份目的端口并没有处于侦听状如果接收到一份目的端口并没有处于侦听状态的数据报,则发送一个态的数据报,则发送
23、一个ICMPICMP端口不可到达报文,否则不作端口不可到达报文,否则不作任何响应。任何响应。缺点:缺点:1 1)这种方法很不可靠,因为路由器和防火墙都有可能丢弃这种方法很不可靠,因为路由器和防火墙都有可能丢弃UDPUDP数据报。数据报。2 2)逐一扫描逐一扫描UDPUDP端口通常是很慢的,因为端口通常是很慢的,因为RFC1812RFC1812的的4.3.2.84.3.2.8节对路由器产生节对路由器产生ICMPICMP错误消息的速率作了规定错误消息的速率作了规定 第20页,共75页,编辑于2022年,星期二*l l发现目标发现目标发现目标发现目标优点:优点:它可以使用它可以使用IPIP广播地址,
24、如果向广播地址的高端端口发送一广播地址,如果向广播地址的高端端口发送一个个UDPUDP数据报,在没有防火墙过滤的情况下,将收到很多来自目标数据报,在没有防火墙过滤的情况下,将收到很多来自目标网络的网络的ICMPICMP端口不可到达的错误消息。当然,这也可能造成扫端口不可到达的错误消息。当然,这也可能造成扫描者出现自己的描者出现自己的DoSDoS。第21页,共75页,编辑于2022年,星期二*l l 发现目标发现目标发现目标发现目标 l l 搜集信息搜集信息搜集信息搜集信息 6.2 6.2 实施网络扫描实施网络扫描l l 漏洞检测漏洞检测漏洞检测漏洞检测 第22页,共75页,编辑于2022年,星
25、期二*l l搜集信息搜集信息搜集信息搜集信息 搜集信息采用的技术包括搜集信息采用的技术包括端口扫描(端口扫描(Port ScanningPort Scanning)、服务识别()、服务识别(Service DistinguishingService Distinguishing)和操作系统探测)和操作系统探测(Operating System DetectionOperating System Detection)。l 端口扫描端口扫描 端口扫描取得目标主机开放的端口和服务信息,从而端口扫描取得目标主机开放的端口和服务信息,从而为为“漏洞检测漏洞检测”作准备。进行端口扫描,可以快速获得目作准备
26、。进行端口扫描,可以快速获得目标主机开设的服务标主机开设的服务。第23页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息优点:优点:1 1)不需要任何特殊权限,系统中的任何用户都有权利不需要任何特殊权限,系统中的任何用户都有权利使用这个调用。使用这个调用。2 2)可以同时打开多个套接字,从而加速扫描,使用非阻塞可以同时打开多个套接字,从而加速扫描,使用非阻塞I/OI/O还允许设置一个低的时间用尽周期,同时观察多个套接字。还允许设置一个低的时间用尽周期,同时观察多个套接字。缺点:缺点:1 1)端口扫描容易被过滤或记录。端口扫描容易被过滤或记录。2 2)对于安全管理员而
27、言,使用该方法速度较慢。对于安全管理员而言,使用该方法速度较慢。第24页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息常用的端口扫描类型常用的端口扫描类型 l TCP Connect()TCP Connect()扫描扫描l TCP SYNTCP SYN扫描扫描 l TCP ACKTCP ACK扫描扫描 l TCP FINTCP FIN扫描扫描 l TCP XMASTCP XMAS扫描扫描 l TCPTCP空扫描空扫描 TCP Connect()扫描是最基本的TCP扫描方式。Connect()是一种系统调用,由操作系统提供,用来打开一个连接。如果目标端口有程序监听,
28、Connect()就会成功返回,否则这个端口是不可达的 地主机向目标主机发送一个SYN数据段,如果目标主机的回应报文中SYN=1,ACK=1,则说明该端口是活动的,那么接着再发一个RST给目标主机,拒绝建立连接。TCP ACK并不能确定目标机器开放了哪些端口,但是可以用来试探目标机器上安装的防撞的防火墙的过滤规则。可以确定防火墙是简单的包过滤还是状态检测机制 在TCP报文结构中,FIN段负责表示发送端已经没有数据要传输了,希望释放连接。用户会发送一个FIN=1的报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文。向目标主机发送一个FIN+URG+PUSH分组,根据RFC793,如果目
29、标主机的相应端口是关闭的,那么应该返回一个RST标志 向目标发送一个所有标记位都置0的报文,即关掉所有的标志,如果目标系统所有端口关闭,则返回RST包,如果端口打开则不会返回任何信息 第25页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息l FTP FTP反弹扫描反弹扫描l UDPUDP扫描扫描 FTP协议的一个特点是它支持代理FTP连接,即入侵者可以将自己的计算机和目标主机的FTP服务器建立一个控制通信连接。当向目标主机的UDP端口发送数据,并不能收到一个开放端口的确认信息或是关闭端口的错误信息。第26页,共75页,编辑于2022年,星期二*l l搜集信息搜集信
30、息搜集信息搜集信息l 服务识别服务识别 扫描端口的目的是为了获取目标主机提供的服务信息,扫描端口的目的是为了获取目标主机提供的服务信息,通过服务器开放的端口号,可以参照通过服务器开放的端口号,可以参照RFC1700RFC1700标准推断出标准推断出目标主机提供的服务目标主机提供的服务 用户分析目标主机提供服务的判断出现错误用户分析目标主机提供服务的判断出现错误 1 1)该主机将某服务故意开设到了非标准端口。该主机将某服务故意开设到了非标准端口。2 2)该主机开设了该主机开设了RFC1700RFC1700中未定义的服务。中未定义的服务。3 3)该主机被安置了后门程序。该主机被安置了后门程序。第2
31、7页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息目前两种服务的识别方法如下目前两种服务的识别方法如下 1 1)对于主动提供旗标信息或者握手信息的服务可以使用对于主动提供旗标信息或者握手信息的服务可以使用NetcatNetcat尝试与目标的该端口建立连接,根据返回的信息作尝试与目标的该端口建立连接,根据返回的信息作出初步判断出初步判断 2 2)另外还有一类服务需要客户端首先发送一个命令,然后再作另外还有一类服务需要客户端首先发送一个命令,然后再作出响应。要判断这样的服务,必须首先猜测服务类型,然后模仿出响应。要判断这样的服务,必须首先猜测服务类型,然后模仿客户端发
32、送命令,等待服务器的回应。客户端发送命令,等待服务器的回应。识别服务的一般步骤应该识别服务的一般步骤应该如图所示如图所示 第28页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息l 操作系统探测操作系统探测 目前用于探测操作系统的方法主要可以分为两类:目前用于探测操作系统的方法主要可以分为两类:利利用系统旗标信息用系统旗标信息和和利用利用TCP/IPTCP/IP堆栈指纹堆栈指纹 (1 1)利用系统旗标信息是最原始的探测方法)利用系统旗标信息是最原始的探测方法(2 2)利用)利用TCP/IPTCP/IP堆栈指纹识别操作系统堆栈指纹识别操作系统第29页,共75页,编辑于
33、2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息 利用利用TCP/IPTCP/IP堆栈指纹识别操作系统是近年来发展迅速堆栈指纹识别操作系统是近年来发展迅速的一类技术,它迅速发展的原因是因为:的一类技术,它迅速发展的原因是因为:1 1)每个操作系统通常都使用自己特有的每个操作系统通常都使用自己特有的IPIP栈实栈实现。现。2 2)TCP/IPTCP/IP规范并不是被严格地执行,每个不同规范并不是被严格地执行,每个不同的实现将会拥有它们自己的特性,这样就为成功的实现将会拥有它们自己的特性,这样就为成功探测带来了可能。探测带来了可能。3 3)规范中一些可供选择性的特性在某些系统中使用,规范
34、中一些可供选择性的特性在某些系统中使用,而在其他的一些系统中则没有使用。而在其他的一些系统中则没有使用。4 4)个别系统对个别系统对IPIP协议作了自己的改进。协议作了自己的改进。第30页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息 目前主要的网络堆栈特征探测技术有目前主要的网络堆栈特征探测技术有ICMPICMP响应分析响应分析、TCPTCP报文响应分析报文响应分析、TCPTCP报文延时分析报文延时分析和和被动特征探测被动特征探测四类技四类技术术 (1 1)ICMPICMP响应分析技术响应分析技术 ICMP ICMP响应分析技术是向目标发送响应分析技术是向目标发
35、送UDPUDP或者或者ICMPICMP报文,然后分析目标响应的报文,然后分析目标响应的ICMPICMP报文的报文的内容,根据不同的响应特征来判断操作系统。内容,根据不同的响应特征来判断操作系统。第31页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息(2 2)TCPTCP报文响应分析报文响应分析【例例】Nmap Nmap使用的操作系统探测技巧。一般具有以下八个步骤。使用的操作系统探测技巧。一般具有以下八个步骤。1 1)FINFIN探测。发送一个探测。发送一个FINFIN包给一个打开的端口,一般的行为是不响应,但某些实现,例如,包给一个打开的端口,一般的行为是不响应,
36、但某些实现,例如,MS WindowsMS Windows、BSDIBSDI、CiscoCisco、HP/UXHP/UX、MVSMVS和和IRIXIRIX会发回一个会发回一个RESETRESET。2 2)伪标记位探测。)伪标记位探测。TCPTCP报文的头部有八个标记位使用报文的头部有八个标记位使用“伪标记位伪标记位”(BOGUS FlagBOGUS Flag),即把),即把SYNSYN报文的报文的CWRCWR标记位的左边一位置标记位的左边一位置1 1,然后将这样的非标准,然后将这样的非标准SYNSYN报文发给目标报文发给目标TCPTCP端口,低于端口,低于2.0.352.0.35版版本的本的L
37、inuxLinux内核会在回应包中保持这个标记,而其他的操作系统似乎都没有这个问题,不过有的操作系统内核会在回应包中保持这个标记,而其他的操作系统似乎都没有这个问题,不过有的操作系统在收到这样的在收到这样的SYN/BOGUSSYN/BOGUS报文时会发送一个报文时会发送一个RSTRST复位连接。复位连接。3 3)TCP ISNTCP ISN取样。通过在操作系统对连接请求的回应中寻找取样。通过在操作系统对连接请求的回应中寻找TCPTCP连接初始化序列号的特征。目前可以连接初始化序列号的特征。目前可以区分的类别有传统的区分的类别有传统的64K64K(旧的(旧的UNIXUNIX系统使用)、随机增加(
38、新版本的系统使用)、随机增加(新版本的SolarisSolaris、IRIXIRIX、FreeBSDFreeBSD、DigitalUNIXDigitalUNIX、CrayCray和其他许多系统使用)、真正和其他许多系统使用)、真正“随机随机”(Linux2.0.*Linux2.0.*及更高版本、及更高版本、OpenVMSOpenVMS和新版本的和新版本的AIXAIX等操作系统使用)等。等操作系统使用)等。WindowsWindows平台(还有其他一些平台)使用平台(还有其他一些平台)使用“基于时间基于时间”方式产生的方式产生的ISNISN会随着时间的变化而有着相对固定的增长。不必说,最容易受到
39、攻击的当会随着时间的变化而有着相对固定的增长。不必说,最容易受到攻击的当然是老式的然是老式的64K64K方式。而最受人们喜爱的当然是方式。而最受人们喜爱的当然是“固定固定”ISNISN。确实有些机器总是使用相同的。确实有些机器总是使用相同的ISNISN,如某些如某些3Com3Com集线器(使用集线器(使用0 x830 x83)和)和AppleLaserWriterAppleLaserWriter打印机(使用打印机(使用0 xC70010 xC7001)。)。第32页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息4 4)DFDF位监视。许多操作系统在它们发送的位监视
40、。许多操作系统在它们发送的IPIP数据报中设置了数据报中设置了DFDF位,这样做的位,这样做的好处在于可以提高传输性能。但并不是所有操作系统都进行这种设置,或者有的系统只是好处在于可以提高传输性能。但并不是所有操作系统都进行这种设置,或者有的系统只是在某些情况下使用这种设置。在某些情况下使用这种设置。5 5)TCPTCP初始化窗口大小。检查返回数据包的初始化窗口大小。检查返回数据包的“窗口窗口”大小。以前的探测器仅仅大小。以前的探测器仅仅通过通过RSTRST数据包的非零数据包的非零“窗口窗口”值来标识为值来标识为“起源于起源于BSD4.4”BSD4.4”。而像。而像quesoqueso和和nm
41、apnmap这这些新的探测器会记录确切的窗口值,因为该窗口随操作系统类型有较为稳定的数值。这种些新的探测器会记录确切的窗口值,因为该窗口随操作系统类型有较为稳定的数值。这种探测能够提供许多有用的信息,因为某些系统总是使用比较特殊的窗口值(例如,探测能够提供许多有用的信息,因为某些系统总是使用比较特殊的窗口值(例如,AIXAIX是唯是唯一使用一使用0 x3F250 x3F25窗口值的操作系统)。而在声称窗口值的操作系统)。而在声称“完全重写完全重写”的的NT5NT5的的TCPTCP堆栈中,堆栈中,MicrosoftMicrosoft使用的窗口值总是使用的窗口值总是0 x402E0 x402E。更
42、有趣的是,这个数值同时也被。更有趣的是,这个数值同时也被OpenBSDOpenBSD和和FreeBSDFreeBSD使用。使用。第33页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息6 6)ACKACK值。也许用户会认为值。也许用户会认为ACKACK值总是很标准的,但事实上操作系统在值总是很标准的,但事实上操作系统在ACKACK域值的实现也域值的实现也有所不同。例如,假设向一个关闭的有所不同。例如,假设向一个关闭的TCPTCP端口发送一个端口发送一个FIN|PSH|URGFIN|PSH|URG包,许多操作系统会包,许多操作系统会将将ACKACK值设置为值设置为IS
43、NISN值,但值,但WindowsWindows系统和某些打印机会设置为系统和某些打印机会设置为seq+1seq+1。如果向打开的端。如果向打开的端口发送口发送SYN|FIN|URG|PSHSYN|FIN|URG|PSH包,包,WindowsWindows系统的返回值就会非常不确定。有时是系统的返回值就会非常不确定。有时是seqseq序列号值,序列号值,有时是有时是S+S+,而有时回送的是一个似乎很随机性的数值。,而有时回送的是一个似乎很随机性的数值。7 7)片段处理。不同操作系统在处理)片段处理。不同操作系统在处理IPIP片段重叠时采用了不同的方式。有些用新的内容覆盖片段重叠时采用了不同的方
44、式。有些用新的内容覆盖旧的内容,而又有些是以旧的内容为优先。有很多探测方法能确定这些包是被如何重组的,从旧的内容,而又有些是以旧的内容为优先。有很多探测方法能确定这些包是被如何重组的,从而能帮助确定操作系统类型。而能帮助确定操作系统类型。8 8)TCPTCP选项。基于以下原因人们会认为选项。基于以下原因人们会认为TCPTCP选项是搜集信息的最有效方法之一。选项是搜集信息的最有效方法之一。它们通常是它们通常是“可选的可选的”,因为并不是所有的操作系统都使用它们。,因为并不是所有的操作系统都使用它们。向目标主机发送带有可选项标记的数据包时,如果操作系统支持这些选项,会在返回包向目标主机发送带有可选
45、项标记的数据包时,如果操作系统支持这些选项,会在返回包中也设置这些标记。中也设置这些标记。可以一次在数据包中设置多个可选项,从而增加了探测的准确度。可以一次在数据包中设置多个可选项,从而增加了探测的准确度。第34页,共75页,编辑于2022年,星期二*l l搜集信息搜集信息搜集信息搜集信息(3 3)TCPTCP报文延时分析报文延时分析 在三次握手中,对目标机器不发送在三次握手中,对目标机器不发送SYN/ACKSYN/ACK报文确报文确认。迫使其重传,通过这个时间间隔来分析认。迫使其重传,通过这个时间间隔来分析 固有缺点:这种探测方式需要花比固有缺点:这种探测方式需要花比nmapnmap或或Xp
46、robeXprobe更更多的时间。多的时间。(4 4)被动特征探测技术)被动特征探测技术被动的协议栈指纹探测和主动的协议栈指纹探测很相被动的协议栈指纹探测和主动的协议栈指纹探测很相似,不同之处在于这种方法不主动向目标系统发送分似,不同之处在于这种方法不主动向目标系统发送分组,而是通过嗅探目标网络的通信,抓取从远程主机组,而是通过嗅探目标网络的通信,抓取从远程主机上发送的数据报,获取包括上发送的数据报,获取包括TTLTTL、窗口大小、窗口大小、DFDF位、服务位、服务类型等在内的数据报属性,构成目标系统的指纹。类型等在内的数据报属性,构成目标系统的指纹。第35页,共75页,编辑于2022年,星期
47、二*l l 发现目标发现目标发现目标发现目标 l l 搜集信息搜集信息搜集信息搜集信息 6.2 6.2 实施网络扫描实施网络扫描l l 漏洞检测漏洞检测漏洞检测漏洞检测 第36页,共75页,编辑于2022年,星期二*l l漏洞检测漏洞检测漏洞检测漏洞检测 漏洞检测就是对重要计算机信息系统进行检查,发现其中可被漏洞检测就是对重要计算机信息系统进行检查,发现其中可被黑客利用的漏洞。该技术通常采用两种策略,即黑客利用的漏洞。该技术通常采用两种策略,即被动式策略被动式策略和和主动主动式策略式策略。被动式策略被动式策略是是基于主机基于主机的检测,对系统中不合适的设置、的检测,对系统中不合适的设置、脆弱的
48、口令以及其他同安全规则相抵触的对象进行检查;脆弱的口令以及其他同安全规则相抵触的对象进行检查;主动式策略主动式策略是是基于网络基于网络的检测,通过执行一些脚本文的检测,通过执行一些脚本文件对系统进行攻击,并记录它的反应,从而发现其中件对系统进行攻击,并记录它的反应,从而发现其中的漏洞。的漏洞。第37页,共75页,编辑于2022年,星期二*l l漏洞检测漏洞检测漏洞检测漏洞检测漏洞检测的主要方法:漏洞检测的主要方法:直接测试(直接测试(TestTest)、推断)、推断(InferenceInference)和和带凭证的测试(带凭证的测试(Test with Test with Credentia
49、lsCredentials)l 直接测试直接测试 直接测试是指利用漏洞特点发现系统漏洞的方法。直接测试是指利用漏洞特点发现系统漏洞的方法。根据渗透方法的不同,可以将测试分为两种不同的类型:根据渗透方法的不同,可以将测试分为两种不同的类型:可以直接观察到的测试可以直接观察到的测试和和只能间接观察到的测试只能间接观察到的测试。直接测试的方法具有以下六大特点。直接测试的方法具有以下六大特点。1 1)通常用于对通常用于对WebWeb服务器漏洞、拒绝服务(服务器漏洞、拒绝服务(DoSDoS)漏洞进行检测。)漏洞进行检测。2 2)能够准确地判断系统是否存在特定漏洞。能够准确地判断系统是否存在特定漏洞。3
50、3)对于渗透所需步骤较多的漏洞速度较慢。对于渗透所需步骤较多的漏洞速度较慢。4 4)攻击性较强,可能对存在漏洞的系统造成破坏。攻击性较强,可能对存在漏洞的系统造成破坏。5 5)对于对于DoSDoS漏洞,测试方法会造成系统崩溃。漏洞,测试方法会造成系统崩溃。6 6)不是所有漏洞的信息都能通过测试方法获得。不是所有漏洞的信息都能通过测试方法获得。第38页,共75页,编辑于2022年,星期二*l l漏洞检测漏洞检测漏洞检测漏洞检测l 推断推断 推断是指不利用系统漏洞而判断漏洞是否存在的方推断是指不利用系统漏洞而判断漏洞是否存在的方法。它并不直接渗透漏洞,只是间接地寻找漏洞存在的证法。它并不直接渗透漏