系统漏洞扫描原理介绍及应用举例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分段扫描
实现原理:并不直接发送TCP探测数据包, 是将数据包分成两个较小的IP段。这样就将 一个TCP头分成好几个数据包,从而包过 滤器就很难探测到。 优点:隐蔽性好,可穿越防火墙 缺点:
ICMP echo扫描
实现原理:Ping的实现机制,在判断在一个网络 上主机是否开机时非常有用。向目标主机发送 ICMP Echo Request (type 8)数据包,等待回复 的ICMP Echo Reply 包(type 0) 。如果能收到, 则表明目标系统可达,否则表明目标系统已经不 可达或发送的包被对方的设备过滤掉。 优点:简单,系统支持 缺点:很容易被防火墙限制 可以通过并行发送,同时探测多个目标主机,以 提高探测效率(ICMP Sweep扫描)。
网络扫描器的原理与分析
袁 治
2013-7-13
主要内容
扫描器的基本概念 扫描器的工作原理 网络扫描的主要技术 现有扫描器介绍及选择 扫描器的实例分析
一、扫描器的基本概念
什么是网络扫描器 为什么需要网络扫描器 网络扫描器的主要功能
什么是网络扫描器
安全评估工具 系统管理员保障系统安全的有效工具 网络漏洞扫描器 网络入侵者收集信息的重要手段
TCP协议(二)
TCP数据包格式
TCP协议(三)
TCP标志位
ACK: 确认标志 RST: 复位标志 URG:紧急标志 SYN: 建立连接标志 PSH: 推标志 FIN: 结束标志
TCP协议(四)
TCP连接建立示意图
ICMP协议(一)
Internet Control Message Protocol,是IP 的一部分,在IP协议栈中必须实现。 用途:
在IP头中设置无效的字段值
向目标主机发送的IP包中填充错误的字段值, 目标主机或过滤设备会反馈ICMP Destination Unreachable信息。这种方法同 样可以探测目标主机和网络设备以及其ACL。
错误的数据分片
当目标主机接收到错误的数据分片(如某 些分片丢失),并且在规定的时间间隔内 得不到更正时,将丢弃这些错误数据包, 并向发送主机反馈ICMP Fragment Reassembly Time Exceeded 错误报文。 利用这种方法同样可以检测到目标主机和 网络过滤设备及其ACL。
端口扫描技术
当确定了目标主机可达后,就可以使用端口扫描技术,发 现目标主机的开放端口,包括网络协议和各种应用监听的 端口。端口扫描技术主要包括以下三类: 开放扫描
会产生大量的审计数据,容易被对方发现,但其可靠性高;
隐蔽扫描
能有效的避免对方入侵检测系统和防火墙的检测,但这种扫描使 用的数据包在通过网络时容易被丢弃从而产生错误的探测信息;
半开放扫描
隐蔽性和可靠性介于前两者之间。
开放扫描技术
TCP Connect 扫描 TCP反向ident扫描
TCP Connect 扫描
实现原理:通过调用socket函数connect()连接到 目标计算机上,完成一次完整的三次握手过程。 如果端口处于侦听状态,那么connect()就能成 功返回。否则,这个端口不可用,即没有提供服 务。 优点:稳定可靠,不需要特殊的权限 缺点:扫描方式不隐蔽,服务器日志会记录下大 量密集的连接和错误记录 ,并容易被防火墙发 现和屏蔽
扫描器的基本工作原理
三、网络扫描的主要技术
主机扫描技术 端口扫描技术 栈指纹OS识别技术
主机扫描技术-传统技术
主机扫描的目的是确定在目标网络上的主 机是否可达。这是信息收集的初级阶段, 其效果直接影响到后续的扫描。 常用的传统扫描手段有:
ICMP Echo扫描 ICMP Sweep扫描 Broadcast ICMP扫描 Non-Echo ICMP扫描
ห้องสมุดไป่ตู้
缺点:
需要自己构造数据包,要求由超级用户或者授权用户 权限; 通常适用于UNIX目标主机,而Windows系统不支持。
TCP ftp proxy扫描
实现原理:FTP代理连接选项,其目的是允许一个客户端同时跟两个 FTP服务器建立连接,然后在服务器之间直接传输数据。然而,在大 部分实现中,实际上能够使得FTP服务器发送文件到Internet的任何地 方。该方法正是利用了这个缺陷,其扫描步骤如下: 1:假定S是扫描机,T是扫描目标,F是一个ftp服务器,这个服务 器支持代理选项,能够跟S和T建立连接。 2:S与F建立一个ftp会话,使用PORT命令声明一个选择的端口 (称之为p-T)作为代理传输所需要的被动端口。 3:然后S使用一个LIST命令尝试启动一个到p-T的数据传输。 4:如果端口p-T确实在监听,传输就会成功(返回码150和226 被发送回给S),否则S回收到"425无法打开数据连接"的应答。 5:S持续使用PORT和LIST命令,直到T上所有的选择端口扫描完 毕。 优点:FTP代理扫描不但难以跟踪,而且可以穿越防火墙 缺点:一些ftp server禁止这种特性
隐蔽扫描技术
TCP FIN 扫描 TCP Xmas扫描 TCP Null 扫描 TCP ftp proxy扫描 分段扫描
TCP FIN 扫描
实现原理:扫描器向目标主机端口发送FIN包。当
一个FIN数据包到达一个关闭的端口,数据包会被丢掉, 并且返回一个RST数据包。否则,若是打开的端口,数据 包只是简单的丢掉(不返回RST)。 优点:由于这种技术不包含标准的TCP三次握手协议的 任何部分,所以无法被记录下来,从而必SYN扫描隐蔽得 多,FIN数据包能够通过只监测SYN包的包过滤器。
缺点:
跟SYN扫描类似,需要自己构造数据包,要求由超级用户或者授 权用户访问专门的系统调用; 通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送 RST包的操作系统(包括CISCO,HP/UX,MVS和IRIX)。但在 Windows95/NT环境下,该方法无效,因为不论目标端口是否打 开,操作系统都返回RST包。
半开放扫描技术
TCP SYN 扫描 TCP间接扫描
TCP SYN 扫描
实现原理:扫描器向目标主机端口发送SYN包。 如果应答是RST包,那么说明端口是关闭的;如 果应答中包含SYN和ACK包,说明目标端口处于 监听状态,再传送一个RST包给目标机从而停止 建立连接。由于在SYN扫描时,全连接尚未建立, 所以这种技术通常被称为半连接扫描 优点:隐蔽性较全连接扫描好,一般系统对这种 半扫描很少记录 缺点:通常构造SYN数据包需要超级用户或者授 权用户访问专门的系统调用
异常的IP包头 在IP头中设置无效的字段值 错误的数据分片 通过超长包探测内部路由器 反向映射探测
异常的IP包头
向目标主机发送包头错误的IP包,目标主机或过 滤设备会反馈ICMP Parameter Problem Error信 息。常见的伪造错误字段为Header Length Field 和IP Options Field。 根据RFC1122的规定,主机应该检测IP包的 Version Number、Checksum字段, 路由器应该检 测IP包的Checksum字段。不同厂家的路由器和 操作系统对这些错误的处理方式不同,返回的结 果也各异。如果结合其它手段,可以初步判断目 标系统所在网络过滤设备的ACL。
Stamp Request(Type 13) Reply(Type 14) Information Request(Type 15) Reply(Type 16) Address Mask Request (Type 17) Reply(Type 18)
主机扫描技术-高级技术
防火墙和网络过滤设备常常导致传统的探测手段 变得无效。为了突破这种限制,必须采用一些非 常规的手段,利用ICMP协议提供网络间传送错误 信息的手段,往往可以更有效的达到目的:
TCP反向ident扫描
实现原理:ident 协议允许看到通过TCP连 接的任何进程的拥有者的用户名,即使这 个连接不是由这个进程开始的。比如,连 接到http端口,然后用identd来发现服务器 是否正在以root权限运行。 缺点:这种方法只能在和目标端口建立了 一个完整的TCP连接后才能看到。
二、扫描器的工作原理
TCP协议 ICMP协议 扫描器的基本工作原理
TCP协议(一)
TCP是一种面向连接的,可靠的传输层 协议。一次正常的TCP传输需要通过在客户 端和服务器之间建立特定的虚电路连接来完 成,该过程通常被称为“三次握手”。TCP 通过数据分段中的序列号保证所有传输的数 据可以在远端按照正常的次序进行重组,而 且通过确认保证数据传输的完整性。
TCP Xmas 和TCP Null 扫描
实现原理:TCP Xmas和Null扫描是FIN扫描的
两个变种。Xmas扫描打开FIN,URG和PUSH标 记,而Null扫描关闭所有标记。这些组合的目的 是为了通过对FIN标记数据包的过滤。当一个这种 数据包到达一个关闭的端口,数据包会被丢掉, 并且返回一个RST数据包。否则,若是打开的端 口,数据包只是简单的丢掉(不返回RST)。 优点:隐蔽性好;
为什么需要网络扫描器
由于网络技术的飞速发展,网络规模迅猛 增长和计算机系统日益复杂,导致新的系 统漏洞层出不穷 由于系统管理员的疏忽或缺乏经验,导致 旧有的漏洞依然存在 许多人出于好奇或别有用心,不停的窥视 网上资源
网络扫描器的主要功能
扫描目标主机识别其工作状态(开/关机) 识别目标主机端口的状态(监听/关闭) 识别目标主机系统及服务程序的类型和版 本 根据已知漏洞信息,分析系统脆弱点 生成扫描结果报告
通过超长包探测内部路由器
若构造的数据包长度超过目标系统所在路 由器的PMTU且设置禁止分片标志, 该路由 器会反馈 Fragmentation Needed and Don’t Fragment Bit was Set差错报文,从 而获取目标系统的网络拓扑结构。
反向映射探测
该技术用于探测被过滤设备或防火墙保护的网络 和主机。通常这些系统无法从外部直接到达,但 是我们可以采用反向映射技术,通过目标系统的 路由设备进行有效的探测。 当我们想探测某个未知网络内部的结构时,可以 构造可能的内部IP地址列表,并向这些地址发送 数据包。当对方路由器接收到这些数据包时,会 进行IP识别并路由,对不在其服务的范围的IP包 发送ICMP Host Unreachable或ICMP Time Exceeded 错误报文,没有接收到相应错误报文 的IP地址会可被认为在该网络中。当然,这种方 法也会受到过滤设备的影响。
TCP间接扫描
实现原理:利用第三方的IP(欺骗主机)来 隐藏真正扫描者的IP。由于扫描主机会对欺 骗主机发送回应信息,所以必须监控欺骗 主机的IP行为,从而获得原始扫描的结果。 扫描主机通过伪造第三方主机IP地址向目标 主机发起SYN扫描,并通过观察其IP序列 号的增长规律获取端口的状态 优点:隐蔽性好 缺点:对第三方主机的要求较高
Broadcast ICMP扫描
实现原理:将ICMP请求包的目标地址设为 广播地址或网络地址,则可以探测广播域或 整个网络范围内的主机。 缺点:
只适合于UNIX/Linux系统,Windows 会忽略这 种请求包; 这种扫描方式容易引起广播风暴
Non-Echo ICMP扫描
一些其它ICMP类型包也可以用于对主机或 网络设备的探测,如:
网关或者目标机器利用ICMP与源通讯 当出现问题时,提供反馈信息用于报告错误
特点:
其控制能力并不用于保证传输的可靠性 它本身也不是可靠传输的 并不用来反映ICMP报文的传输情况
ICMP协议(二)
ICMP报文类型
0 Echo Reply 3 Destination Unreachable 4 Source Quench 5 Redirect 8 Echo 11 Time Exceeded 12 Parameter Problem 13 Timestamp 14 Timestamp Reply 15 Information Request 16 Information Reply 17 Address Mask Request 18 Address Mask Reply
相关文档
最新文档