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