计算机网络安全-第六章 网络漏洞扫描技术_第1页
计算机网络安全-第六章 网络漏洞扫描技术_第2页
计算机网络安全-第六章 网络漏洞扫描技术_第3页
计算机网络安全-第六章 网络漏洞扫描技术_第4页
计算机网络安全-第六章 网络漏洞扫描技术_第5页
已阅读5页,还剩70页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

*

第六章网络漏洞扫描技术*

第六章网络漏洞扫描技术*

网络漏洞的概念

存在网络漏洞的原因

6.1

网络漏洞概述

漏洞的危害

公开的网络漏洞信息

*网络漏洞的概念漏洞是在硬件、软件、协议的具体实现或系统平安策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。基于访问控制的定义基于状态的定义基于模糊概念的定义系统中主体对象的访问是通过访问控制矩阵实现的,这个访问控制矩阵就是平安策略的具体实现,当操作系统的操作和平安策略之间相冲突时,就产生了漏洞计算机系统是由一系列描述该系统各个组成实体的当前状态所构成。系统通过状态转换来改变它的状态。DennisLongley和MichaelShain在“Data&ComputerSecurity—DictionaryofStandardconceptsandTerms〞一书中对漏洞的定义*

网络漏洞的概念

存在网络漏洞的原因

6.1

网络漏洞概述

漏洞的危害

公开的网络漏洞信息

*存在网络漏洞的原因网络平安漏洞是“不可防止〞,这是由网络系统的高度复杂性所决定的。

网络协议漏洞应用软件系统漏洞配置不当引起的漏洞

TCP/IP协议族是目前使用最为广泛的网络互连协议族,但TCP/IP协议在设计时是将它置于可信任的环境之下的,并将网络互连和开放性作为首要考虑的问题,而没有过多的考虑平安性,这就造成了TCP/IP协议族本身的不平安性,导致一系列基于TCP/IP的网络效劳的平安性也相当脆弱。应用软件系统的漏洞分为两种:一是由于操作系统本身设计缺陷带来的平安漏洞,这种漏洞将被运行在该系统上的应用程序所继承;二是应用软件程序的平安漏洞在一些网络系统中忽略了平安策略的制定,即使采取了一定的网络平安措施,但由于系统的平安配置不合理或不完整,平安机制没有发挥作用。或者在网络环境发生变化后,由于没有及时更改系统的平安配置而造成平安漏洞*

网络漏洞的概念

存在网络漏洞的原因

6.1

网络漏洞概述

漏洞的危害

公开的网络漏洞信息

*漏洞的危害从以下五个方面来评估漏洞对系统平安特性造成的危害攻击者利用漏洞入侵系统,对系统数据进行篡改,从而破坏数据的完整性〔Integrity〕攻击者利用漏洞破坏系统或者网络的正常运行,导致信息或网络效劳的可用性〔Availability〕被破坏,合法用户的正常效劳要求得不到满足攻击者利用漏洞使得系统对于合法用户而言是处在“失控〞状态,使系统的可控性〔Controllability〕被破坏攻击者利用漏洞对用户认可的质量特性〔信息传递的迅速性、准确性以及连续地转移等〕造成危害,使系统的可靠性〔Reliability〕被破坏*漏洞的危害【例】据调研公司Aberdeen于2005年7月对162家公司的调查显示,蠕虫、病毒等对互联网产生破坏作用的每起事件对企业造成了近200万美元的收入损失,有83%的公司在过去三年受到了互联网平安问题的影响,大概每年一起,但在三年内给15%的公司业务带来了七次以上的停滞。2003年7月16日,微软发布MS03-26的RPC系统漏洞,随后不久就于2003年8月11日出现利用此漏洞的“冲击波〞病毒〔〕。因为此漏洞几乎存在于一切Windows系统中,影响范围极广,在全世界范围里迅速传播,造成了巨大的破坏。*

网络漏洞的概念

存在网络漏洞的原因

6.1

网络漏洞概述

漏洞的危害

公开的网络漏洞信息

*公开的网络漏洞信息

漏洞信息的公开可以让系统管理员更有针对性地对自己管理的系统进行配置和管理。另外,也可以促使提供软件或硬件的厂商更快地解决问题。通用漏洞披露BugTraq漏洞数据库ICAT漏洞数据库CERT/CC漏洞信息数据库X-Force数据库中国“国家漏洞库〞CVE〔CommonVulnerabilities&Exposures,通用漏洞披露〕。BugTraq是由SecurityFocus公司维护的一个关于计算机平安漏洞详细信息讨论的邮件列表,讨论内容包括漏洞的描述、漏洞的渗透方法以及漏洞的修补方法等。CERT/CC漏洞数据库也是一个CVE兼容的数据库。可以通过名字、ID号、CVE名字、公布日期、更新日期、严重性等方法检索漏洞信息

X-Force数据库由ISS公司维护,是一个比较全面的漏洞信息数据库。基于中国的国情,中国建立了自己的漏洞库,即“国家漏洞库〞。*6.2

实施网络扫描传统的黑客在入侵一个主机前,会先进行下面三项工作:踩点、扫描和查点。而扫描又可以划分为三个不同的阶段,即发现目标、搜集信息和漏洞检测。1〕发现目标:发现存活的目标主机。2〕搜集信息:发现目标后进一步搜集目标信息,包括目标的操作系统类型、运行的效劳以及效劳软件的版本等。如果目标是一个网络,还可以进一步发现该网络的拓扑结构、路由设备以及各主机的信息。3〕漏洞检测:根据搜集到的信息进行分析、判断或者进一步检测目标是否存在平安漏洞。*

发现目标

搜集信息

6.2

实施网络扫描

漏洞检测

*发现目标ICMP扫描

作为IP协议一个组成局部,ICMP用来传递过失报文和其他需要注意的信息。日常使用最多的是用户的Ping。ICMP报文和IP报文的关系如以下图,ICMP报文的格式如以下图*发现目标如果发送者接收到来自目标的ICMP回显应答,就能知道目标目前处于活动状态,否那么可以初步判断主机不可达或发送的包被对方的设备过滤掉。使用这种方法轮询多个主机的方式称为ICMP扫描。

可用于ICMP扫描的工具很多。在UNIX环境中主要有Ping和Fping。在Windows环境中可以使用出自Rhino9的Pinger。*发现目标播送ICMP与ICMP扫描相同点:播送ICMP也是利用了ICMP回显请求和ICMP回显应答这两种报文。与ICMP扫描不同点:播送ICMP只需要向目标网络的网络地址和/或播送地址发送一两个回显请求,就能够收到目标网络中所有存活主机的ICMP回显应答。缺点:这种扫描方式容易引起播送风暴,如果有很多机器回应的话,甚至会导致网络出现拒绝效劳〔Dos〕现象*发现目标

非回显ICMP1〕ICMP时间戳请求允许系统向另一个系统查询当前的时间。2〕ICMP地址掩码请求用于无盘系统引导过程中获得自己的子网掩码。3〕对于ICMP地址掩码请求报文而言,虽然RFC1122规定,除非是地址掩码的授权代理,否那么一个系统不能发送地址掩码应答。*发现目标TCP扫描

传输控制协议〔TransmissionControlProtocol,TCP〕为应用层提供一种面向连接的、可靠的字节流效劳。它使用“三次握手〞的方式建立连接。如以下图UDP扫描用户数据报协议〔UserDatagramProtocol,UDP〕是一个面向数据报的传输层协议。UDP数据报也封装在IP数据报之中,如以下图*发现目标UDP协议的规那么:如果接收到一份目的端口并没有处于侦听状态的数据报,那么发送一个ICMP端口不可到达报文,否那么不作任何响应。*发现目标*

发现目标

搜集信息

6.2

实施网络扫描

漏洞检测

*搜集信息

端口扫描端口扫描取得目标主机开放的端口和效劳信息,从而为“漏洞检测〞作准备。进行端口扫描,可以快速获得目标主机开设的效劳。*搜集信息优点:1〕不需要任何特殊权限,系统中的任何用户都有权利使用这个调用。2〕可以同时翻开多个套接字,从而加速扫描,使用非阻塞I/O还允许设置一个低的时间用尽周期,同时观察多个套接字。缺点:1〕端口扫描容易被过滤或记录。2〕对于平安管理员而言,使用该方法速度较慢。*搜集信息常用的端口扫描类型

TCPConnect()扫描

TCPSYN扫描

TCPACK扫描

TCPFIN扫描

TCPXMAS扫描

TCP空扫描

TCPConnect()扫描是最根本的TCP扫描方式。Connect()是一种系统调用,由操作系统提供,用来翻开一个连接。如果目标端口有程序监听,Connect()就会成功返回,否那么这个端口是不可达的地主机向目标主机发送一个SYN数据段,如果目标主机的回应报文中SYN=1,ACK=1,那么说明该端口是活动的,那么接着再发一个RST给目标主机,拒绝建立连接。在TCP报文结构中,FIN段负责表示发送端已经没有数据要传输了,希望释放连接。用户会发送一个FIN=1的报文到一个关闭的端口时,该报文会被丢掉,并返回一个RST报文。

向目标主机发送一个FIN+URG+PUSH分组,根据RFC793,如果目标主机的相应端口是关闭的,那么应该返回一个RST标志

向目标发送一个所有标记位都置0的报文,即关掉所有的标志,如果目标系统所有端口关闭,那么返回RST包,如果端口翻开那么不会返回任何信息*搜集信息FTP反弹扫描

UDP扫描FTP协议的一个特点是它支持代理FTP连接,即入侵者可以将自己的计算机和目标主机的FTP效劳器建立一个控制通信连接。当向目标主机的UDP端口发送数据,并不能收到一个开放端口确实认信息或是关闭端口的错误信息。*搜集信息效劳识别扫描端口的目的是为了获取目标主机提供的效劳信息,通过效劳器开放的端口号,可以参照RFC1700标准推断出目标主机提供的效劳用户分析目标主机提供效劳的判断出现错误1〕该主机将某效劳成心开设到了非标准端口。2〕该主机开设了RFC1700中未定义的效劳。3〕该主机被安置了后门程序。*搜集信息目前两种效劳的识别方法如下1〕对于主动提供旗标信息或者握手信息的效劳可以使用Netcat尝试与目标的该端口建立连接,根据返回的信息作出初步判断2〕另外还有一类效劳需要客户端首先发送一个命令,然后再作出响应。要判断这样的效劳,必须首先猜测效劳类型,然后模仿客户端发送命令,等待效劳器的回应。识别效劳的一般步骤应该如以下图*搜集信息

操作系统探测

目前用于探测操作系统的方法主要可以分为两类:利用系统旗标信息和利用TCP/IP堆栈指纹

〔1〕利用系统旗标信息是最原始的探测方法〔2〕利用TCP/IP堆栈指纹识别操作系统*搜集信息1〕每个操作系统通常都使用自己特有的IP栈实现。2〕TCP/IP标准并不是被严格地执行,每个不同的实现将会拥有它们自己的特性,这样就为成功探测带来了可能。3〕标准中一些可供选择性的特性在某些系统中使用,而在其他的一些系统中那么没有使用。4〕个别系统对IP协议作了自己的改进。*搜集信息*搜集信息〔2〕TCP报文响应分析【例】Nmap使用的操作系统探测技巧。一般具有以下八个步骤。1〕FIN探测。发送一个FIN包给一个翻开的端口,一般的行为是不响应,但某些实现,例如,MSWindows、BSDI、Cisco、HP/UX、MVS和IRIX会发回一个RESET。2〕伪标记位探测。TCP报文的头部有八个标记位使用“伪标记位〞〔BOGUSFlag〕,即把SYN报文的CWR标记位的左边一位置1,然后将这样的非标准SYN报文发给目标TCP端口,低于版本的Linux内核会在回应包中保持这个标记,而其他的操作系统似乎都没有这个问题,不过有的操作系统在收到这样的SYN/BOGUS报文时会发送一个RST复位连接。3〕TCPISN取样。通过在操作系统对连接请求的回应中寻找TCP连接初始化序列号的特征。目前可以区分的类别有传统的64K〔旧的UNIX系统使用〕、随机增加〔新版本的Solaris、IRIX、FreeBSD、Digital

UNIX、Cray和其他许多系统使用〕、真正“随机〞〔Linux

2.0.*及更高版本、OpenVMS和新版本的AIX等操作系统使用〕等。Windows平台〔还有其他一些平台〕使用“基于时间〞方式产生的ISN会随着时间的变化而有着相对固定的增长。不必说,最容易受到攻击的当然是老式的64K方式。而最受人们喜爱的当然是“固定〞ISN。确实有些机器总是使用相同的ISN,如某些3Com集线器〔使用0x83〕和Apple

LaserWriter打印机〔使用0xC7001〕。*搜集信息4〕DF位监视。许多操作系统在它们发送的IP数据报中设置了DF位,这样做的好处在于可以提高传输性能。但并不是所有操作系统都进行这种设置,或者有的系统只是在某些情况下使用这种设置。5〕TCP初始化窗口大小。检查返回数据包的“窗口〞大小。以前的探测器仅仅通过RST数据包的非零“窗口〞值来标识为“起源于BSD

4.4〞。而像queso和nmap这些新的探测器会记录确切的窗口值,因为该窗口随操作系统类型有较为稳定的数值。这种探测能够提供许多有用的信息,因为某些系统总是使用比较特殊的窗口值〔例如,AIX是唯一使用0x3F25窗口值的操作系统〕。而在声称“完全重写〞的NT5的TCP堆栈中,Microsoft使用的窗口值总是0x402E。更有趣的是,这个数值同时也被OpenBSD和FreeBSD使用。*搜集信息6〕ACK值。也许用户会认为ACK值总是很标准的,但事实上操作系统在ACK域值的实现也有所不同。例如,假设向一个关闭的TCP端口发送一个FIN|PSH|URG包,许多操作系统会将ACK值设置为ISN值,但Windows系统和某些打印时机设置为seq+1。如果向翻开的端口发送SYN|FIN|URG|PSH包,Windows系统的返回值就会非常不确定。有时是seq序列号值,有时是S++,而有时回送的是一个似乎很随机性的数值。7〕片段处理。不同操作系统在处理IP片段重叠时采用了不同的方式。有些用新的内容覆盖旧的内容,而又有些是以旧的内容为优先。有很多探测方法能确定这些包是被如何重组的,从而能帮助确定操作系统类型。8〕TCP选项。基于以下原因人们会认为TCP选项是搜集信息的最有效方法之一。①它们通常是“可选的〞,因为并不是所有的操作系统都使用它们。②向目标主机发送带有可选项标记的数据包时,如果操作系统支持这些选项,会在返回包中也设置这些标记。③可以一次在数据包中设置多个可选项,从而增加了探测的准确度。*搜集信息〔3〕TCP报文延时分析

在三次握手中,对目标机器不发送SYN/ACK报文确认。迫使其重传,通过这个时间间隔来分析固有缺点:这种探测方式需要花比nmap或Xprobe更多的时间。

*

发现目标

搜集信息

6.2

实施网络扫描

漏洞检测

*漏洞检测被动式策略是基于主机的检测,对系统中不适宜的设置、脆弱的口令以及其他同平安规那么相抵触的对象进行检查;主动式策略是基于网络的检测,通过执行一些脚本文件对系统进行攻击,并记录它的反响,从而发现其中的漏洞。*漏洞检测漏洞检测的主要方法:直接测试〔Test〕、推断〔Inference〕和带凭证的测试〔TestwithCredentials〕

直接测试直接测试是指利用漏洞特点发现系统漏洞的方法。根据渗透方法的不同,可以将测试分为两种不同的类型:可以直接观察到的测试和只能间接观察到的测试。直接测试的方法具有以下六大特点。1〕通常用于对Web效劳器漏洞、拒绝效劳〔DoS〕漏洞进行检测。2〕能够准确地判断系统是否存在特定漏洞。3〕对于渗透所需步骤较多的漏洞速度较慢。4〕攻击性较强,可能对存在漏洞的系统造成破坏。5〕对于DoS漏洞,测试方法会造成系统崩溃。6〕不是所有漏洞的信息都能通过测试方法获得。*漏洞检测

推断推断是指不利用系统漏洞而判断漏洞是否存在的方法。它并不直接渗透漏洞,只是间接地寻找漏洞存在的证据。采用推断方法的检测手段主要有版本检查〔VersionCheck〕、程序行为分析、操作系统堆栈指纹分析和时序分析等。1〕版本检查是推断方法中最简单的一个应用。2〕行为分析在需要推翻某个“风险假设〞时非常有用。*漏洞检测原理:在需要推翻某个“风险假设〞时,它分析目标程序的行为,如果发现该程序的行为和具有漏洞的版本的程序行为不一致,就认为目标程序不存在漏洞。优点:推断的方法在快速检查大量目标时很有用,因为这种方法对计算机和网络的要求都很低。它比渗透测试方法攻击性更小。它也可以用于检查DoS漏洞,因为它根本没有攻击性,所以可以在检查很多DoS漏洞以后再重新启动系统。缺点:该方法不如渗透测试方法可靠。*漏洞检测

带凭证的测试

凭证是指访问效劳所需要的用户名或者密码,包括UNIX的登录权限和从网络调用WindowsNT的API的能力。

带凭证的测试定义是:除了目标主机IP地址以外,直接测试和推断两种方法都不需要其他任何信息。

*

NetCat

Nmap

6.3

常用的网络扫描工具SATAN

Nessus

X-Scan

PScan*NetCat

NetCat在网络工具中有“瑞士军刀〞美誉的NetCat,是一款使用多年,现在仍很实用的软件。因为它短小精悍〔这个用在它身上很适合,现在有人已经将其修改成大约10KB左右,而且功能不减少〕,由Hobbit编写,透过使用TCP或UDP协议的网络连接去读写数据。它被设计成一个稳定的后门工具,能够直接由其他程序和脚本轻松驱动。同时,它也是一个功能强大的网络调试和探测工具,能够建立用户需要的几乎所有类型的网络连接。原始版本是一个UNIX程序,WeldPond将其移植到了WindowsNT平台上。它能执行的任务是如此之多,以至于被称为网络工具箱中的“瑞士军刀〞。NetCat命令行工具,在Windows和在Linux下的使用方法差不多NetCat我们下面将具体举例介绍nc的用法:1:监听本地机器的端口:监听80端口,也即web效劳2:扫描远程主机:*

NetCat

Nmap

6.3

常用的网络扫描工具SATAN

Nessus

X-Scan

PScan*Nmap

Nmap由Fyodor编写的Nmap〔NetworkMapper,网络映射器〕是一款开放源代码的网络探测和平安审核的工具。它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。系统管理员和网络管理员使用于:查看整个网络的信息、管理效劳升级方案监视主机和效劳的运行。*

NetCat

Nmap

6.3

常用的网络扫描工具SATAN

Nessus

X-Scan

PScan*SATANSATANSecurityAdministratorToolForAnalyzingNetworks的缩写SATAN是一个软件包,是为UNIX环境编写的主要是用C和Perl语言编写SATAN是一个分析网络的平安管理和测试、报告工具。它用来搜集网络上主机的许多信息,并可以识别且自动报告与网络相关的平安问题。*

NetCat

Nmap

6.3

常用的网络扫描工具SATAN

Nessus

X-Scan

PScan*Nessus

NessusNessus是一个功能强大而又易于使用的网络漏洞扫描工具。它是免费的,而且功能更强大。该系统被设计为客户/效劳器模式,效劳器端负责进行平安扫描,客户端用来配置、管理效劳器端,客户端和效劳器端之间的通信使用SSL加密。*

NetCat

Nmap

6.3

常用的网络扫描工具SATAN

Nessus

X-Scan

PScan*X-ScanX-ScanX-Scan是由“平安焦点〞开发的一个免费的漏洞扫描工具,运行于Windows操作系统。采用多线程方式对指定IP地址段〔或单机〕进行平安漏洞检测,具有插件功能,提供了图形界面和命令行两种操作方式。*

NetCat

Nmap

6.3

常用的网络扫描工具SATAN

Nessus

X-Scan

PScan*PScan

PScan虽然PScan不属于网络扫描工具的范畴,但是它非常有用。它能够扫描C源代码文件存在的某些缓冲区溢出缺陷〔例如,格式化字符串平安缺陷〕,帮助程序员发现这类编程错误,防止应用程序出现某些平安漏洞。*6.4

不同的扫描策略*

基于网络和基于主机的扫描

主动扫描和被动扫描

6.4

不同的扫描策略*基于网络和基于主机的扫描基于网络的平安评估扫描策略基于网络的漏洞扫描器,就是通过网络来扫描远程计算机中的漏洞。它具有以下几个特点。1〕运行于单个或多个主机,扫描目标为本地主机或者单/多个远程主机。2〕扫描器的设计和实现与目标主机的操作系统无关。3〕通常的网络平安扫描不能访问目标主机的本地文件〔具有目标主机访问权限的扫描除外〕。4〕扫描工程主要包括目标的开放端口、系统网络效劳、系统信息、系统漏洞、远程效劳漏洞、特洛伊木马检测和拒绝效劳攻击等。*基于网络和基于主机的扫描基于主机的脆弱性评估扫描策略

基于主机的脆弱性评估分析文件内容,对系统中不适宜的设置、脆弱的口令以及其他同平安规那么抵触的对象进行检查。它具有以下特点:1〕运行于单个主机,扫描目标为本地主机。2〕扫描器的设计和实现与目标主机的操作系统相关。3〕

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论