第4章 漏洞扫描

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

不需要任何权限,系统中的任何用户都可以使用这个调用。 速度快。如果对每个目标端口以线性的方式,使用单独的 Connect()调用,那么将会花费相当长的时间,你可以通过同时 打开多个套接字,从而加速扫描。 很容易被目标系统检测到,并且被过滤掉。目前的系统会对连接 进行记录,因此目标计算机的日志文件会显示大量密集的连接和 连接出错的消息记录,并且能很快地使它关闭。 针对这一缺陷,便产生了TCP SYN扫描,也就是通常说的半开放 扫描.

图形设备接口(GraphicsDeviceInterface)
4.2 漏洞扫描相关知识

漏洞扫描基本原理

漏洞扫描就是对重要计算机信息系统进行检查,发 现其中可被黑客利用的漏洞。漏洞扫描的结果实际 上就是系统安全性能的一个评估,它指出了哪些攻 击是可能的,因此成为安全方案的一个重要组成部 分。 在端口扫描后得知目标主机操作系统类型、开启的 端口以及端口上的网络服务,将这些相关信息与网 络漏洞扫描系统提供的漏洞库进行匹配,查看是否 有满足匹配条件的漏洞存在 通过模拟黑客的攻击手法,对目标主机系统进行攻 击性的安全漏洞扫描,如测试弱势口令等。若模拟 攻击成功,则表明目标主机系统存在安全漏洞
TCP扫描

间接扫描



间接扫描的思想是利用第三方的IP(欺骗主机)来隐 藏真正扫描者的IP。 由于扫描主机会对欺骗主机发送回应信息,所以必 须监控欺骗主机的行为,从而获得原始扫描的结果。 假定参与扫描过程的主机为攻击主机、伪装主机、 目标主机。攻击机和目标机的角色非常明显。伪装 机是一个非常特殊的角色,在扫描机扫描目的机的 时候,它不能发送除了与扫描有关包以外的任何数 据包。
4.3 扫描策略与防范

端口扫描与防范




端口扫描就是通过连接到目标系统的TCP或UDP端 口,来确定什么服务正在运行。 一个端口就是一个潜在的通信通道,也就是一个入 侵通道。 从对黑客攻击行为的分析和收集的漏洞来看,绝大 多数都是针对某一个网络服务,也就是针对某一个 特定的端口的。 对目标计算机进行端口扫描,能得到许多有用的信 息。

漏洞扫描方法


4.2 漏洞扫描相关知识

漏洞扫描的分类

扫描对象分类

基于网络的扫描



从外部攻击者的角度对网络及系统架构进行的扫描, 主要用于查找网络服务和协议中的漏洞。 可以及时获取网络漏洞信息,有效的发现那些网络服 务和协议的漏洞,比如利用低版本的DNS Bind漏洞 能够监测到这些低版本的DNS Bind是否在运行。 一般来说,基于网络的漏洞扫描工具可以看作为一种 漏洞信息收集工具,他根据不同漏洞的特性,构造网 络数据包,发给网络中的一个或多个目标服务器,以 判断某个特定的漏洞是否存在。
基于网络的扫描和基于主机的扫描各有优势,也各自存在了一定的局限 性。只有把二者结合起来,才能尽可能多的获取漏洞信息,为系统管理 员评估系统的安全风险提供有力的保证。
4.2 漏洞扫描相关知识

漏洞扫描的分类

扫描方式分类

主动扫描



传统的扫描方式,拥有较长的发展历史 通过给目标主机发送特定的包并收集回应包来取得相 关信息的,当然,无响应本身也是信息,它表明可能 存在过滤设备将探测包或探测回应包过滤了。 优势在于通常能较快获取信息,准确性也比较高 缺点在于易于被发现,很难掩盖扫描痕迹;要成功实 施主动扫描通常需要突破防火墙,但突破防火墙是很 困难的
端口扫描与防范

TCP协议概述
TCP扫描

全TCP连接



直接连到目标端口并完成一个完整的三次握手过程(SYN, SYN/ACK和ACK)。Socket API提供的Connect ( )系统调用, 用来与每一个感兴趣的目标计算机的端口进行连接。 如果端口处于侦听状态,那么Connect ( )就能成功。否则, 这个端口是不能用的,即没有提供服务。 优点
TCP扫描

TCP Xmas和TCP Null扫描



这两种扫描方式是TCP FIN 扫描的变种,Xmas扫描 打开FIN,URG,PUSH 标记,而NULL扫描关闭所 有标记。 这些组合的目的为了通过对FIN 包的过滤。 当一个这种数据包达到一个关闭的端口,数据包会 被丢掉并且返回一个RST数据包。如果是打开的端 口则只是丢掉数据包不返回RST包。 缺点跟上面的类似,都是需要自己构造数据包,只 适用于UNIX主机

缺点


TCP扫描

TCP SYN扫描



扫描主机向目标主机的选择端口发送SYN数据段。 如果应答是RST,那么说明端口是关闭的,按照设 定就探听其他端口;如果应答中包含SYN和ACK, 说明目标端口处于监听状态。 由于在SYN扫描时,全连接尚未建立,所以这种技 术通常被称为半打开扫描。 优点
4.2 漏洞扫描相关知识

漏洞扫描的分类

扫描方式分类

被动扫描



通过监听网络包来取得信息。 由于被动扫描具有很多优点。近来倍受重视,其主要 优点是对它的检测几乎是不可能的。 被动扫描一般只需要监听网络流量而不需要主动发送 网络包,也不易受防火墙影响。 缺点在于速度较慢而且准确性较差,当目标不产生网 络流量时,就无法得知目标的任何信息。
4.2 漏洞扫描相关知识



基于网络的漏洞扫描大体包括CGI、POP3、FTP、SSH、 HTTP等,而这些漏洞扫描的关键部分就是它所使用的 漏洞库。 通过采用基于规则的匹配技术,即根据安全专家对网 络系统安令漏洞、黑客攻击案例的分析和系统管理员 对网络系统安全配置的实际经验,可以形成一套标准 的网络系统漏洞库,然后在此基础上构成相应的匹配 规则,由扫描程序自动进行漏洞扫描。 漏洞库信息的完整性和有效性决定了漏洞扫描系统的 性能,漏洞库的修订和更新的性能也会影响漏洞扫描 系统运行的时间,因此漏洞库的编制要对每个存在安 全隐患的网络服务建立对应的漏洞库文件。
第四章 漏洞扫描
4.1 系统漏洞

漏洞的概念



漏洞也叫脆弱性(Vulnerability ),是指计算机系统 在硬件、软件、协议的具体实现或系统安全策略上 存在的缺陷和不足。 当程序遇到一个看似合理,但实际无法处理的问题 时,而引发的不可预见的错误。 系统漏洞又称安全缺陷,一旦被发现,就可使用这 个漏洞获得计算机系统的额外权限,使攻击者能够 在未授权的情况下访问或破坏系统,从而导致危害 计算机系统安全。
4.2 漏洞扫描相关知识

漏洞扫描器的组成
4.2 漏洞扫描相关知识

发送数据包机制

漏洞扫描是一种主动探测行为,需要根据漏洞的特征码来构造 数据包并发送到目标主机。该机制的实现有两种:一种是建立 正常的TCP/IP连接,构造数据段的内容。另外一种要求能够 构造一些数据包的特殊字段,例如IP的分片标志和偏移量等等。 对于网络远程扫描,对方主机所回应的数据包就是评估漏洞 的原始资料,快速准确地接收数据包是漏洞扫描的基本保证 因素。除了通过正常的TCP/IP协议栈进行处理,另外还可能 需要接收原始数据包,这是由于对不同的漏洞所要分析的数 据包的层次是不相同的,例如需要查看端口号或者查看TCP的 标志位等,而一般的操作系统不提供内核中对原始数据包的 处理。
4.2 漏洞扫描相关知识

漏洞扫描的分类

扫描对象分类

基于主机的扫描



从一个内部用户的角度来检测操作系统级的漏洞(主要用于 检测注册表和用户配置中的漏洞。 通常在目标系统上安装了一个代理(Agent)或者是服务 (Services),以便能够访问所有的文件与进程,这也使的 基于主机的漏洞扫描器能够扫描更多的漏洞。 优势在于它能直接获取主机操作系统的底层细节(如特殊服 务和配置的细节等。其缺点在于只有控制了目标主机,并将 检测工具安装在目标主机,才能实施正常的扫描活动。

即使日志中对扫描有所记录,但是尝试进行连接的记录也 要比全扫描少得多。 在大部分操作系统下,发送主机需要构造适用于这种扫描 的IP包,并且在通常情况下必须要有超级用户权限才能建 立自己的SYN数据包。

缺点

TCP扫描

TCP FIN扫描


对某端口发送一个TCP FIN数据报给远端主机。 如果主机没有任何反馈,那么这个主机是存在的, 而且正在监听这个端口;主机反馈一个TCP RST回 来,那么说明该主机是存在的,但是没有监听这个 端口。 由于这种技术不包含标准的TCP三次握手协议的任 何部分,所以无法被记录下来,从而比SYN扫描隐 蔽得多,也称作秘密扫描。另外,FIN数据包能够 通过只监测SYN包的包过滤器。
TCP扫描

间接扫描
TCP扫描

间接扫描

第一步

第二步
TCP扫描

间接扫描

第三步
UDP扫描

UDP协议概述
UDP扫描

UDP扫描

UDP ICMP 端口不可达扫描 UDP recvfrom()和write() 扫描
端口扫描的防范



因为攻击主机发出的SYN包中有伪造的IP源地址,因 此可以通过配置防火墙和边界路由器, 拒绝使用了 伪造IP源地址如内部网络IP的包进入; 基于状态的防火墙可以防范端口扫描; ISP和网络管理员可通过出口过滤来防止有伪造IP地 址的IP包流出; 对于Idle扫描,可以使用没有IPID值可预测漏洞的操 作系统如Solaris、高版本Linux。所有和IPID值可预 测漏洞有关的攻击对这些操作系统是无效的; 去掉关于操作系统和提供网络服务的信息显示,甚 至改变登录提示信息的显示内容,如提供一个虚假 的操作系统信息,以蒙蔽攻击者。
TCP扫描

TCP FIN扫描



这种方法和系统实现有一定的关系,有的系统不管 端口是否打开,都回复RST,如:Windows, CISCO 这种技术通常适用于UNIX目标主机,跟SYN扫描类 似,FIN扫描也需要自己构造IP包。但是,也可以 利用这个特点进行操作系统的探测。 例如,如果使用SYN扫描发现有端口开放(回复了 SYN/ACK),而使用FIN扫描发现所有端口关闭的 话(按照FIN方法,回复RST表示端口关闭,但 Windows全部回复RST),则操作系统很可能是 Windows系统。
4.1 系统漏洞

漏洞的概念



在计算机安全中,漏洞是指自动化系统安全过程、管理控制 以及内部控制等中的缺陷,它能够被威胁利用,从而获得对 信息的非授权访问或者破坏关键数据处理。 在计算机安全中,漏洞是指在物理层、组织、程序、人员、 软件或硬件方面的缺陷,它能够被利用而导致对自动数据处 理系统或行为的损害。漏洞的存在并不能导致损害,漏洞仅 仅是可以被攻击者利用,对自动数据处理系统或行为进行破 坏的条件。 在计算机安全中,漏洞是指系统中存在的任何不足或缺陷。 不同于前面的两个定义,这个定义指出漏洞是在许多不同层 次和角度下可以觉察得到的预期功能。按照这个定义,漏洞 是对用户、管理员和设计者意愿的一种违背,特别是对这种 违背是由外部对象触发的

接收数据包机制

4.2 漏洞扫描相关知识

漏洞特征码数据库

漏洞特征码数据库是一种抽象的提法,是一个漏洞扫描器最 为重要的部分。




发送机制需要根据特征码来发送探测数据包,接收数据包后也需 要根据特征码来进行判断。 它的真实含义是指网络漏洞扫描器应该具备一个漏洞的知识库, 主要包括每个漏洞的特征码,网络漏洞扫描器归根结底就是对网 络数据包的操作,所以特征码应该能够保证探测数据包的有效性 和接收回应数据包后的判断的准确性。 虽然特征码最终会归结为数据包中某一字段的数值或者字符串, 但是它决不是一个单一的值而是几个字段与其他判断条件相结合 的值的集合。 由于漏洞的种类千差万别,提取漏洞的特征值是件比较困难的工 作,所以实现漏洞扫描的关键其实是一个分析漏洞的过程,是一 个建立、维护漏洞知识库并且能够及时更新它的工作。
4.1 系统漏洞

已知系统漏洞

Leabharlann Baidu
LSASS相关漏洞 (缓冲区溢出漏洞) RPC接口相关漏洞

RPC-RPC(Remote Procedure Call Protocol)——远 程过程调用协议



IE浏览器漏洞 (泄露用户信息) URL处理漏洞 (访问某网站,更改浏览器主页) URL规范漏洞 (恶意链接,中木马病毒) FTP溢出系列漏洞 (破坏服务器) GDI+漏洞 (图片携带病毒)
相关文档
最新文档