第五章网络攻击步骤和常用工具

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第五章 网络攻击步骤和常用工具
典型网络攻击步骤
Whois数据库查找
通用目标侦察工具
ping:这个工具将ICMP Echo请求消息发给目标 ,看是否它是可达的,并判断应答的时间。 (ping IP) Nslookup:这个特性允许查询DNS服务器,以找 到与IP地址映射的域。(nslookup ip )
• T4测试是向开放的端口发送一个ACK+Options数据包,这 里没有设置“Resp=”是因为系统对这种测试都会作出应答 ,如果没有收到应答数据包则说明由于网络或系统错误 导致数据包遗失,而在T2和T3中设置该项是因为有一些 系统对这两种探测确实不作应答。 • T5、T6和T7测试是分别向关闭的端口发送一个SYN、ACK 和FIN|PSH|URG+Options数据包。 • PU测试表示向关闭的端口发送一个UDP数据包,检测目标 返回的“Port Unreachable”ICMP报文。其中IP服务类型 (Type Of Service)字段是0或20(TOS=0|20),IP的 长度是38字节(IPLen=38),应答数据包中的IP总长度 是148字节(RIPTL=148),RID=E表明应答IP的ID复制了 发送的UDP数据包中的IPID(否则为RID=F),RIPCK=E表 明应答IP的校验和是正确的,UCK=E说明UDP校验和也是 正确的,ULEN说明UDP包的长度是0x134,最后DAT=E表明 目标正确的应答了UDP数据包。
非技术手段: 社会工程学—使用社会技巧和人际关系, 获取 与安全相关的信息,内部的一些地址“建筑物 里面有些什么”。 偷听 --- 垃圾搜寻,通过公告牌与聊天室交换 信息 ( 漏洞、使用的技术、相关目标的信息 ) 利用软件开发商的一些文档了解产品的细节。
预防措施
审计、监控和记录您用于登录的设备以及其它可能受 攻击的设备。 • 安全性策略是一个良好的开端,但缺少了备份和执 行就等于浪费时间。 • 遍历您的安装。好的遍历通常能使您找到连接到机 器的调制解调器。还有,保存好的文档和平面图, 以便您知道该查看哪儿。 • 查看您调制解调器上的自动应答配置。这也可以用 来保护您的调制解调器。
• 最后,使用与您的内部 PBX (程控交换机 )号码范 围完全不同的电话号码。这是阻止战争拨号攻击的 比较有效的方法之一。
攻击前奏---踩点扫描
• 踩点就是通过各种途径对所要攻击的目标 进行多方面的了解(包括任何可得到的蛛 丝马迹,但要确保信息的准确),确定攻 击的时间和地点。
• 扫描的目的是利用各种工具在攻击目标的 IP地址或地址段的主机上寻找漏洞。扫描 分成两种策略:被动式策略和主动式策略 。
利用TCP实现端口扫描
• 实现端口扫描的程序可以使用TCP协 议和UDP协议,原理是利用Socket连 接对方的计算机的某端口,试图和该 端口建立连接 • 如果建立成功,就说明对方开放了该 端口,如果失败了,就说明对方没有 开放该端口。
漏洞扫描
• 扫描内容包括: • 远程操作系统类型及版本 • 标准端口状态及端口Banner信息 • SNMP信息,CGI漏洞,IIS漏洞,RPC漏洞, SSL漏洞 • SQL-SERVER、FTP-SERVER、SMTP-SERVER、 POP3-SERVER • NT-SERVER弱口令用户,NT服务器NETBIOS 信息 • 注册表信息等。
• TSeq表示TCP的ISN序列,Class=RI说明它是随机增加 的(Random Increments)。 • T1表明是测试1(Test1)。测试1是向开放的端口发送 一个SYN+Options数据包,该系统的应答数据包中标 记了DF位(DF=Y),窗口大小为0x2238(W=2238), ACK的值是原来的序列号加1(ACK=S++),标志位是 ACK|SYN(Flags=AS),选项中只有MSS有应答(Ops=M )。 • T2测试是向开放的端口发送一个NULL+Options的数据 包,其中Resp=Y表明系统有应答,“Ops=”表明应答数 据包中没有选项值。 • T3测试是向开放的端口发送一个 TH_SYN|TH_FIN|TH_URG|TH_PUSH+Options数据包。
栈指纹识别方法(续)
• ICMP协议 – ICMP错误消息的限制 • 发送一批UDP包给高端关闭的端口,然后计算返回来的不可达错 误消息 – ICMP端口不可达消息的大小 • 通常情况下送回IP头+8个字节,但是个别系统送回的数据更多一 些 – ICMP回应消息中对于校验和的处理方法不同 – ICMP回应消息中,TOS域的值 • TCP选项 – 这里充满了各种组合的可能性 – 应答方式“Query-Reply”,可以把多个选项放到一个包中 • SYN Flooding对抗测试 – 先发送8个SYN包,看还能不能建立连接,确认它是否受此攻击
扫描方法
• ICMP ping :为了建立一个可访问的目录清单,攻 击者将尝试ping你的网络中所有可能的地址,以判 断哪个地址有活动的主机。攻击者可以向你网络中 的每一个地址发送一个ICMP的回应请求数据包,这 些地址是在侦察阶段发现的。发送ping之后,攻击 者开始寻找回应的ICMP应答消息。如果返回一个应 答消息,则说明那个地址端有一台活动机器。否则 的话,我们可以认为那个地址端没有东西。 • TCP/UDP数据包:许多网络会阻塞 ICMP消息,因此 攻击者可以有选择的给常开放的端口发送一个TCP或 者UDP数据包,如TCP端口80。如果端口是开放的, 目标系统将会返回一个 SYN-ACK数据包,表明那个 地址端有一台机器。如果没有任何消息返回,则说 名明地址端可能没有机器。
网络扫描概述
• 被动式策略就是基于主机之上,对系统中不合适 的设置,脆弱的口令以及其他同安全规则抵触的 对象进行检查。主动式策略是基于网络的,它通 过执行一些脚本文件模拟对系统进行攻击的行为 并记录系统的反应,从而发现其中的漏洞。 • 扫描的目的就是利用各种工具对攻击目标的IP地 址或地址段的主机查找漏洞。扫描采取模拟攻击 的形式对目标可能存在的已知安全漏洞逐项进行 检查,目标可以是工作站、服务器、交换机、路 由器和数据库应用等。根据扫描结果向扫描者或 管理员提供周密可靠的分析报告。
Traceroute:这个特性返回源计算机与选择的目标之间 的路由器跳的一个列表。Tracert ip Finger:这个特性支持查询一个系统,决定它的用户列 表。
–SMTP VRFY:这个功能用于判断特定 邮件地址在一给定电子邮件服务器上 是否合法。它基于简单的邮件传输协 议(SMTP)鉴别命令,是最广泛使用 的电子邮件协议里的选项,用于检查 邮件地址的合法性。 –Web浏览器:一些内建的小型 Web浏 览器使用户能查看原始HTTP交互,包 括所有的HTTP首部。
源自文库 跟踪路由
• 跟踪路由的技术来确定组成你的网络基础设施的各种路 由器和网关。跟踪路由技术依赖于IP首部中的生存时间 (TTL)字段。TTL与时间无关;它与跳有关。 • TTL字段工作原理:当路由器收到任何传来的IP数据包 的时候,它首先将TTL字段的值减去1。然后,在继续往 目的地发送这个数据包之前,路由器要检查它的TTL字 段并判断其值是否为0。如果TTL值是0,则路由器给数 据包的源站回送一个ICMP超时的消息。我们之所以建立 TTL字段就是为了使数据包有一个有限的生存时间。
SuperScan • 前面讨论的都是UNIX下使用的扫描工具,Robin Keir 编写的SuperScan是应用在Windows环境下的TCP端口扫 描程序。它允许灵活的定义目标IP端口列表,而且图 形化的交互界面使得用起来简单方便。 X-Scan • X-Scan是由国内“安全焦点”编写的一个运行于 Windows环境下的能够扫描漏洞的检测工具。它支持插 件功能,提供了图形界面和命令行两种操作方式,能 够实现扫描远程操作系统类型、标准端口、常见漏洞 等功能。但是,它只能提供一种端口扫描方式,在目 标网络复杂时无法灵活自主的进行选择配置,从而限 制了它的适应性。此外,X-Scan的许多功能还需进一 步完善,如扫描的漏洞较少且漏洞信息不详细,能够 检测识别的操作系统也只有十几种。
• 例如
–Fingerprint Windows 2000 Professional –TSeq(Class=RI) –T1(DF=Y %W=2238%ACK=S++%Flags=AS%Ops=M) –T2(Resp=Y%DF=N%W=0%ACK=S%Flags=AR%Ops=) –T3(Resp=Y%DF=Y%W=2238%ACK=S++%Flags=AS%Ops=M) –T4(DF=N%W=0%ACK=0%Flags=R%Ops=) –T5(DF=N%W=0%ACK=S++%Flags=AR%Ops=) –T6(DF=N%W=0%ACK=0%Flags=R%Ops=) –T7(DF=N%W=0%ACK=S++%Flags=AR%Ops=) –PU(DF=N%TOS=0|20%IPLEN=38%RIPTL=148%RID=E%RIPCK= E%UCK=E|F%ULEN=134%DAT=E)
栈指纹技术
• 定义:利用TCP/IP协议栈实现上的特点来辨识一个操作 系统 • 技术导向 –可辨识的OS的种类,包括哪些操作系统 –结论的精确度,细微的版本差异是否能识别 • 一些工具 –Checkos, by Shok –Queso, by Savage –Nmap, by Fyodor
栈指纹识别技术
Nmap的指纹库
• 指纹模板文件:nmap-os-fingerprints.txt • 首先定义一组测试,例如
# TEST DESCRIPTION: # Tseq is the TCP sequenceability test # T1 is a SYN packet with a bunch of TCP options to open port # T2 is a NULL packet w/options to open port # T3 is a SYN|FIN|URG|PSH packet w/options to open port # T4 is an ACK to open port w/options # T5 is a SYN to closed port w/options # T6 is an ACK to closed port w/options # T7 is a FIN|PSH|URG to a closed port w/options # PU is a UDP packet to a closed port
Nmap识别操作系统的例子
Nmap的图形界面&探寻数据包示意图
常见扫描工具
Nmap • 由Fyodor编写的Nmap提供TCP、UDP端口扫 描和操作系统指纹识别的功能。它集成了 前面讨论的多种扫描技巧,提供的端口扫 描功能比较全面,而且能够对操作系统进 行指纹识别,是目前国外最为流行的端口 扫描工具之一。Nmap虽然是一个强大的端 口扫描工具,但遗憾的是它没有扫描漏洞 的功能,无法对目标主机的脆弱性进行深 入挖掘,不能符合网络攻击系统中的综合 性能强的作战要求。
• 做法:寻找不同操作系统之间在处理网络数据 包上的差异,并且把足够多的差异组合起来, 以便精确地识别出一个系统的OS版本 • 配置能力 –扩展性,新的OS,版本不断推出 –定义一种配置语言或者格式
栈指纹识别方法
• 常用的手段 – 给一个开放的端口发送FIN包,有些操作系统有回应,有的没有 回应 – 对于非正常数据包的反应 • 比如,发送一个包含未定义TCP标记的数据包 – 根据TCP连接的序列号风格 • 寻找初始序列号之间的规律 – TCP初始化窗口 • 有些操作系统会使用一些固定的窗口大小 – DF位(Don't Fragment bit ) • 分片处理方式 – 分片重叠的情况下,处理会不同。如何确定处理方式?
相关文档
最新文档