风险评估与网络嗅探.ppt_第1页
风险评估与网络嗅探.ppt_第2页
风险评估与网络嗅探.ppt_第3页
风险评估与网络嗅探.ppt_第4页
风险评估与网络嗅探.ppt_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

网络扫描与嗅探 TSM-301,网络攻击的完整过程,信息收集,信息收集技术是一把双刃剑 黑客在攻击之前需要收集信息,才能实施有效的攻击 安全管理员用信息收集技术来发现系统的弱点并进行修补,攻击工具 攻击命令,攻击机制,目标网络,目标系统,攻击者,漏洞扫描 评估 加固,攻击过程,实时 入侵 检测,知己知彼,百战不殆,信息收集过程,信息收集(踩点,footprint)是一个综合过程 从一些社会信息入手 找到网络地址范围 找到关键的机器地址 找到开放端口和入口点 找到系统的制造商和版本 ,网络勘察,最常用的工具: Ping和Traceroute Ping: Packet InterNet Groper 用来判断远程设备可访问性最常用的方法 原理:发送ICMP Echo消息,然后等待ICMP Reply消息 Traceroute 用来发现实际的路由路径 原理:给目标的一个无效端口发送一系列UDP,其TTL依次增一,中间路由器返回一个ICMP Time Exceeded消息 Windows中为tracert,Ping工具,发送ICMP Echo消息,等待Echo Reply消息 可以确定网络和外部主机的状态 可以用来调试网络的软件和硬件 每秒发送一个包,显示响应的输出,计算网络来回的时间 最后显示统计结果丢包率,关于Ping,Ping有许多命令行参数,可以改变缺省的行为 可以用来发现一台主机是否active 为什么不能ping成功? 没有路由,网关设置? 网卡没有配置正确 增大timeout值 被防火墙阻止 “Ping of death” 发送特大ping数据包(65535字节)导致机器崩溃 许多老的操作系统都受影响,Traceroute,发送一系列UDP包(缺省大小为38字节),其TTL字段从1开始递增,然后监听来自路径上网关发回来的ICMP Time Exceeded应答消息 UDP包的端口设置为一个不太可能用到的值(缺省为33434),因此,目标会送回一个ICMP Destination Unreachable消息,指示端口不可达,关于Traceroute,traceroute有一些命令行参数,可以改变缺省的行为 可以用来发现到一台主机的路径,为勾画出网络拓扑图提供最基本的依据 Traceroute允许指定宽松的源路由选项。 许多防火墙是禁止带源路由的包的,网络勘查的对策,防火墙:设置过滤规则 使用NIDS(Network Intrusion Detection System) 使用其他工具:如rotoroutor,它可以记录外来的traceroute请求,产生虚假的应答,扫描技术,基于TCP/IP协议,对各种网络服务,无论是主机或者防火墙、路由器都适用 扫描可以确认各种配置的正确性,避免遭受不必要的攻击 用途,双刃剑 安全管理员可以用来确保自己系统的安全性 黑客用来探查系统的入侵点 端口扫描的技术已经非常成熟,目前有大量的商业、非商业的扫描器,扫描器的重要性,扫描器能够暴露网络上潜在的脆弱性 无论扫描器被管理员利用,或者被黑客利用,都有助于加强系统的安全性 它能使得漏洞被及早发现,而漏洞迟早会被发现的 扫描器可以满足很多人的好奇心 扫描器除了能扫描端口,往往还能够 发现系统存活情况,以及哪些服务在运行 用已知的漏洞测试这些系统 对一批机器进行测试,简单的迭代过程 有进一步的功能,包括操作系统辨识、应用系统识别,扫描器的历史,早期 80年代,网络没有普及,上网的好奇心驱使许多年轻人通过Modem拨号进入到UNIX系统中。这时候的手段需要大量的手工操作 于是,出现了war dialer自动扫描,并记录下扫描的结果 现代的扫描器要先进得多 SATAN: Security Administrators Tool for Analyzing Networks 1995年4月发布,引起了新闻界的轰动 界面上的突破,从命令行走向图形界面(使用HTML界面),不依赖于X 两位作者的影响(Dan Farmer写过网络安全检查工具COPS,另一位Weitse Venema是TCP_Wrapper的作者) Nmap 作者为Fyodor,技术上,是最先进的扫描技术大集成 结合了功能强大的通过栈指纹来识别操作系统的众多技术,扫描技术,主机扫描:确定在目标网络上的主机是否可达,同时尽可能多映射目标网络的拓扑结构,主要利用ICMP数据包 端口扫描:发现远程主机开放的端口以及服务 操作系统指纹扫描:根据协议栈判别操作系统,传统主机扫描技术,ICMP Echo Request (type 8) 和 Echo Reply (type 0) 通过简单地向目标主机发送ICMP Echo Request 数据包,并等待回复的ICMP Echo Reply 包,如Ping ICMP Sweep(Ping Sweep) 使用ICMP Echo Request一次探测多个目标主机。通常这种探测包会并行发送,以提高探测效率 Broadcast ICMP 设置ICMP请求包的目标地址为广播地址或网络地址,则可以探测广播域或整个网络范围内的主机,这种情况只适合于UNIX/Linux系统 Non-Echo ICMP 其它ICMP服务类型(13和14、15和16、17和18)也可以用于对主机或网络设备如路由器等的探测,高级主机扫描技术,利用被探测主机产生的ICMP错误报文来进行复杂的主机探测 异常的IP包头 向目标主机发送包头错误的IP包,目标主机或过滤设备会反馈ICMP Parameter Problem Error信息。常见的伪造错误字段为Header Length 和IP Options。不同厂家的路由器和操作系统对这些错误的处理方式不同,返回的结果也不同。 在IP头中设置无效的字段值 向目标主机发送的IP包中填充错误的字段值,目标主机或过滤设备会反馈ICMP Destination Unreachable信息。这种方法同样可以探测目标主机和网络设备,高级主机扫描技术,通过超长包探测内部路由器 若构造的数据包长度超过目标系统所在路由器的PMTU且设置禁止分片标志, 该路由器会反馈 Fragmentation Needed and Dont Fragment Bit was Set差错报文。 反向映射探测 用于探测被过滤设备或防火墙保护的网络和主机 。 构造可能的内部IP地址列表,并向这些地址发送数据包。当对方路由器接收到这些数据包时,会进行IP识别并路由,对不在其服务的范围的IP包发送ICMP Host Unreachable或ICMP Time Exceeded 错误报文,没有接收到相应错误报文的IP地址可被认为在该网络中,主机扫描策略的对策,使用可以检测并记录ICMP扫描的工具 使用入侵检测系统 在防火墙或路由器中设置允许进出自己网络的ICMP分组类型,端口扫描技术,开放扫描(Open Scanning) 需要扫描方通过三次握手过程与目标主机建立完整的TCP连接 可靠性高,产生大量审计数据,容易被发现 半开放扫描(Half-Open Scanning) 扫描方不需要打开一个完全的TCP连接 秘密扫描(Stealth Scanning) 不包含标准的TCP三次握手协议的任何部分 隐蔽性好,但这种扫描使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息,端口扫描技术,基本的TCP connect()扫描(开放) Reverse-ident扫描(开放) TCP SYN扫描(半开放) IP ID header aka “dump”扫描(半开放) TCP Fin扫描(秘密) TCP XMAS扫描(秘密) TCP ftp proxy扫描(bounce attack) 用IP分片进行SYN/FIN扫描(躲开包过滤防火墙) UDP ICMP端口不可达扫描 UDP recvfrom扫描,TCP connect()扫描,原理 扫描器调用socket的connect()函数发起一个正常的连接 如果端口是打开的,则连接成功 否则,连接失败 优点 简单,不需要特殊的权限 缺点 服务器可以记录下客户的连接行为,如果同一个客户轮流对每一个端口发起连接,则一定是在扫描,Reverse-ident扫描,Ident协议(RFC1413)使得可以发现任何一个通过TCP连接的进程的所有者的用户名,即使该进程并没有发起该连接 只有在TCP全连接之后才有效 TCP端口113 例如 可以先连接到80端口,然后通过identd来发现服务器是否在root下运行 建议关闭ident服务,或者在防火墙上禁止,除非是为了审计的目的,TCP SYN扫描,原理 向目标主机的特定端口发送一个SYN包 如果应答包为RST包,则说明该端口是关闭的 否则,会收到一个SYN|ACK包。于是,发送一个RST,停止建立连接 由于连接没有完全建立,所以称为“半开连接扫描” 优点 很少有系统会记录这样的行为 缺点 在UNIX平台上,需要root权限才可以建立这样的SYN数据包,IP ID header aka “dump” 扫描,由Antirez首先使用,并在Bugtraq上公布 原理: 扫描主机通过伪造第三方主机IP地址向目标主机发起SYN扫描,并通过观察其IP序列号的增长规律获取端口的状态 优点 不直接扫描目标主机也不直接和它进行连接,隐蔽性较好 缺点 对第三方主机的要求较高,TCP Fin扫描,原理 扫描器发送一个FIN数据包 如果端口关闭的,则远程主机丢弃该包,并送回一个RST包 否则的话,远程主机丢弃该包,不回送 变种,组合其他的标记 优点 不是TCP建立连接的过程,所以比较隐蔽 缺点 与SYN扫描类似,也需要构造专门的数据包 在Windows平台无效,总是发送RST包,TCP XMAS扫描,原理 扫描器发送的TCP包包头设置所有标志位 关闭的端口会响应一个同样设置所有标志位的包 开放的端口则会忽略该包而不作任何响应 优点 比较隐蔽 缺点 主要用于UNIX/Linux/BSD的TCP/IP的协议栈 不适用于Windows系统,分片扫描,它本身并不是一种新的扫描方法,而是其他扫描技术的变种,特别是SYN扫描和FIN扫描 思想是,把TCP包分成很小的分片,从而让它们能够通过包过滤防火墙 注意,有些防火墙会丢弃太小的包 而有些服务程序在处理这样的包的时候会出现异常,或者性能下降,或者出现错误,TCP ftp proxy扫描,FTP bounce attack 原理 用PORT命令让ftp server与目标主机建立连接,而且目标主机的端口可以指定 如果端口打开,则可以传输否则,返回“425 Cant build data connection: Connection refused.“ Ftp这个缺陷还可以被用来向目标(邮件,新闻)传送匿名信息 优点:这种技术可以用来穿透防火墙 缺点:慢,有些ftp server禁止这种特性,UDP ICMP端口不可达扫描,利用UDP协议 原理 开放的UDP端口并不需要送回ACK包,而关闭的端口也不要求送回错误包,所以利用UDP包进行扫描非常困难 有些协议栈实现的时候,对于关闭的UDP端口,会送回一个ICMP Port Unreach错误 缺点 速度慢,而且UDP包和ICMP包都不是可靠的 需要root权限,才能读取ICMP Port Unreach消息 一个应用例子 Solaris的rpcbind端口(UDP)位于32770之上,这时可以通过这种技术来探测,UDP recvfrom() & write()扫描,非root用户不能直接读取ICMP Port Unreach消息,但是Linux提供了一种方法可以间接通知到 原理 第二次对一个关闭的UDP端口调用write()总是会失败 经验:在ICMP错误到达之前,在UDP端口上调用recvfrom()会返回EAGAIN(重试),否则会返回ECONNREFUSED(连接拒绝),端口扫描的对策,设置防火墙过滤规则,阻止对端口的扫描 例如可以设置检测SYN扫描而忽略FIN扫描 使用入侵检测系统 禁止所有不必要的服务,把自己的暴露程度降到最低 Unix或linux中,在/etc/inetd.conf中注释掉不必要的服务,并在系统启动脚本中禁止其他不必要的服务 Windows中通过Services禁止敏感服务,如IIS,操作系统辨识,操作系统辨识的动机 许多漏洞是系统相关的,而且往往与相应的版本对应 从操作系统或者应用系统的具体实现中发掘出来的攻击手段都需要辨识系统 操作系统的信息还可以与其他信息结合起来,比如漏洞库,或者社会诈骗(社会工程,social engineering) 如何辨识一个操作系统 一些端口服务的提示信息,例如,telnet、http、ftp等服务的提示信息 TCP/IP栈指纹 DNS泄漏出OS系统,端口服务提供的信息,Telnet服务 Http服务 Ftp服务,栈指纹技术,定义:利用TCP/IP协议栈实现上的特点来辨识一个操作系统 技术导向 可辨识的OS的种类,包括哪些操作系统 结论的精确度,细微的版本差异是否能识别 一些工具 Checkos, by Shok Queso, by Savage Nmap, by Fyodor,主动栈指纹识别技术,原理:寻找不同操作系统之间在处理网络数据包上的差异,并且把足够多的差异组合起来,以便精确地识别出一个系统的OS版本 配置能力 扩展性,新的OS,版本不断推出 定义一种配置语言或者格式,主动栈指纹识别方法,常用的手段 给一个开放的端口发送FIN包,有些操作系统有回应,有的没有回应 对于非正常数据包的反应 比如,发送一个包含未定义TCP标记的数据包 根据TCP连接的序列号风格 寻找初始序列号之间的规律 ACK值 有些系统会发送回所确认的TCP分组的序列号,有些会发回序列号加1 TCP初始化窗口 有些操作系统会使用一些固定的窗口大小 DF位(Dont Fragment bit ) 某些操作系统会设置IP头的DF位来改善性能,主动栈指纹识别方法,分片处理方式 分片重叠的情况下,处理会不同:用后到的新数据覆盖先到的旧数据或者反之 ICMP协议 ICMP错误消息的限制 发送一批UDP包给高端关闭的端口,然后计算返回来的不可达错误消息 ICMP端口不可达消息的大小 通常情况下送回IP头+8个字节,但是个别系统送回的数据更多一些 ICMP回应消息中对于校验和的处理方法不同 ICMP回应消息中,TOS域的值 TCP选项(RFC793和更新的RFC1323) 这里充满了各种组合的可能性 应答方式“Query-Reply”,可以把多个选项放到一个包中 有些高级选项在新的协议栈实现中加入 SYN flooding 测试 如果发送太多的 伪造SYN包,一些操作系统会停止建立新的连接。许多操作系 统只能处理8 个包。,被动栈指纹识别方法,它和主动栈指纹识别方法类似 不是向目标系统发送分组,而是被动监测网络通信,以确定所用的操作系统 如根据TCP/IP会话中的几个属性: TTL 窗口大小 DF TOS Siphon工具,/,例:被动栈指纹识别方法,telnet 45(发起方为55 ) 利用snort监听到的数据包: 45:23- 55:2300 TCP TTL:255 TOS:0x0 ID:58955 DF *S*A* Seq:0xD3B709A4 Ack:0xBE09B2B7 Win:0x2798 TCP Options = NOP NOP TS:9688775 9682347 NOP WS:0 MSS:1460 和osprints.conf比较, 可猜测45的操作系统为 Solaris 2.6-2.7,操作系统识别的对策,端口扫描监测工具监视操作系统检测活动 让操作系统识别失效的补丁 修改OS的源代码或改动某个OS参数以达到改变单个独特的协议栈特征的目的 防火墙和路由器的规则配置 使用入侵检测系统,其他扫描方法,延时扫描和分布式扫描 原因:各IDS常采用的检测方法在某个时间段内特定主机对本地端口的访问频度是否大于事先预定的阈值来判断入侵。 延时扫描是加大各连接之间的时间间隔,逃避检测。 比较有效但是延缓了扫描速度。 分布式扫描解决连接数问题的同时也解决了扫描进度的问题。把扫描任务分配到地理位置和网络拓扑分布的扫描主机上。 同时也解决了大量信息收集时单机扫描面临的主机负载和网络负载过重的问题。,查点,如果黑客从一开始的目标探测中没有找到任何可以直接利用的入侵途径,他就会转向收集目标有效的用户账号或保护不当的共享资源,这就是查点(enumeration)。 查点要对目标系统进行连接和查询,查点活动有可能会被目标系统记录。 查点通常是针对特定操作系统进行。,查点的信息,攻击者查点时感兴趣的信息类型: 网络资源和共享资源 用户和用户组 服务器程序及其标记(banner),Windows NT/2000的查点,Windows NT的网络服务依赖于CIFS/SMB(Common Internet File System/Server Message Block)和NetBIOS数据传输协议,很容易泄漏共享信息。Windows 2000也同样具有NT的不安全特性。 Windows提供了很多工具用于管理网络,同时也具有副作用。 NTRK(NT Resource Kit) 2000 Server安装盘的SupportTools目录,Windows NT/2000空会话,原理 利用Windows NT/2000对NetBIOS的缺省信赖 通过TCP端口139返回主机的大量信息 实例 如果通过端口扫描获知TCP端口139已经打开 net use 30IPC$ “ /USER: “ 在攻击者和目标主机间建立连接 Windows 2000还有另一个SMB端口445,NT for all 工具,NT/2000 NetBIOS网络资源查点,NT/2000中有很多工具可用于提供对网络资源的查询 nbtstat,可以获取NetBIOS远程主机名字表,NT/2000 NetBIOS网络资源查点,net view查看域、计算机或计算机共享资源的列表 如果建立了空会话连接,可用net view查看目标共享资源,Nc工具,NT/2000 NetBIOS 网络资源查点工具,两个常用的网络资源查点工具:legion和NAT,NT/2000 NetBIOS 网络资源查点工具,NTRK中的网络资源查点工具 nltest、rmtshare、srvcheck、srvinfo、 netdom等 其他网络资源查点工具 epdump、getmac、netviewx、enum、dumpsec等,NT/2000 NetBIOS 用户查点,攻击者对目标主机的用户名和密码更感兴趣 一旦获取用户名,50%的努力花在窃取账号上 用户通常使用弱密码 在查询资源的同时可以查询用户 前面介绍的一些工具,如NAT、enum、dumpsec等 Rudnyi的sid2user和user2sid,从用户名查找SID(Security Identifier)或从SID查找用户名 参看文章“What is a SID ” /Articles/Index.cfm?ArticleID=14781,NT/2000服务器程序及标记查点,连接目标主机的应用程序并根据输出来获取标记 可以确认服务器上运行的软件和版本 常用的方法 telnet和nc(瑞士军刀) c:telnet 55 80,NT/2000服务器程序及标记查点,注册表查点 通常情况下正常安装在系统上的应用程序都会在注册表中留下信息 注册表中有大量和用户有关的信息 从目的地得到Windows注册表的内容 NT/2000的缺省配置是只允许Administrator访问注册表 HKEY_Local_MachineSYSTEMCurrentControlSetControlSecurePipeServerswinreg 注册表访问工具:regdump、dumpsec等,NT/2000查点的对策,在路由器、防火墙或其他网络关口设置,不允许对TCP和UDP的135139端口的访问 2000中,还要禁止445端口。,NT/2000查点的对策,Hkey_Local_MachineSYSTEMCurrentControlSetControlLSA,增加一个数据项RestrictAnonymous,数据类型为REG_DWORD,NT下数值为1,2000下为2 2000下,“管理工具”中的“本地安全设置”|“本地策略”|“安全选项”中对匿名连接的额外限制(相当于设置RestrictAnonymous为2),NT/2000查点的对策,对服务程序标记查点的对策: 对具有风险的应用程序,尽可能隐藏其标记中的厂商和版本信息; 定期使用端口扫描和netcat工具连接活动端口进行网络系统检查,确保没有泄露信息 锁定注册表,不能对它进行远程访问,IIS Logo: www3c.dll,网络嗅探,在一个共享式网络,可以听取所有的流量 是一把双刃剑 管理员可以用来监听网络的流量情况 开发网络应用的程序员可以监视程序的网络情况 黑客可以用来刺探网络情报 目前有大量商业的、免费的监听工具,俗称嗅探器(sniffer),LC4,以太网络的工作原理,载波侦听/冲突检测(CSMA/CD, carrier sense multiple access with collision detection)技术 载波侦听:是指在网络中的每个站点都具有同等的权利,在传输自己的数据时,首先监听信道是否空闲 如果空闲,就传输自己的数据 如果信道被占用,就等待信道空闲 而冲突检测则是为了防止发生两个站点同时监测到网络没有被使用时而产生冲突 以太网采用了CSMA/CD技术,由于使用了广播机制,所以,所有与网络连接的工作站都可以看到网络上传递的数据,以太网卡的工作模式,网卡的MAC地址(48位) 通过ARP来解析MAC与IP地址的转换 用ipconfi

温馨提示

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

评论

0/150

提交评论