




已阅读5页,还剩150页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
网络扫描技术 刘鹏北京大学信息科学技术学院软件研究所网络和信息安全研究室 2 内容 TCP IP基础网络信息收集目标探测网络扫描查点从系统中获取有效账号或资源名网络监听截获网络上的数据包 3 安全层次 安全的密码算法 安全协议 网络安全 系统安全 应用安全 4 TCP IP基础 网络体系架构重要协议的数据包格式IP ICMPTCP UDPTCP连接一些上层协议 5 网络体系架构 OSI参考模型 TCP IP模型 6 TCP IP协议栈 7 协议栈各层数据包结构 8 IP数据包格式 9 IP首部说明 版本号 目前取值4首部长度 4个字节为单位 取值范围5 15服务类型 指定传输的优先级 传输速度 可靠性和吞吐量等报文总长度 最大长度为65535字节报文标识 唯一标识一个数据报 如果数据报分段 则每个分段的标识都一样标志 最高位未使用 定义为0 其余两位为DF 不分段 和MF 更多分段 段偏移量 以8个字节为单位 指出该分段的第一个数据字在原始数据报中的偏移位置 10 IP首部说明 续 生存时间 取值0 255 以秒为单位 每经过一个路由节点减1 为0时被丢弃协议 指明该数据报的协议类型 1为ICMP 4为IP 6为TCP 17为UDP等首部校验和 每通过一次网关都要重新计算该值 用于保证IP首部的完整性选项 长度可变 提供某些场合下需要的控制功能 IP首部的长度必须是4个字节的整数倍 如果选项长度不是4的整数倍 必须填充数据 11 IP地址 保留地址 只用于内部通信 10 0 0 0 10 255 255 255172 16 0 0 172 31 255 255192 168 0 0 192 168 255 255 1 0 0 0 127 255 255 255 128 0 0 0 191 255 255 255 192 0 0 0 223 255 255 255 224 0 0 0 239 255 255 255 240 0 0 0 247 255 255 255 12 特殊意义的IP地址 全0的IP地址表示本机以0作网络号的IP地址表示当前的网络32比特全为1的IP地址表示局域网的广播地址127 xx yy zz保留做回路 loopback 测试 13 ICMP协议 InternetControlMessageProtocol 本身是IP的一部分 用途网关或者目标机器利用ICMP与源通讯 当出现问题时 提供反馈信息用于报告错误在IP协议栈中必须实现特点 其控制能力并不用于保证传输的可靠性它本身也不是可靠传输的并不用来反映ICMP报文的传输情况 14 ICMP数据包 ICMP数据包直接包含在IP数据包的净荷数据中 IP头中协议类型为1ICMP数据的第一个字节代表ICMP报文的类型 它决定了后续数据的格式 15 ICMP报文类型 0EchoReply3DestinationUnreachable4SourceQuench5Redirect8Echo11TimeExceeded12ParameterProblem 13Timestamp14TimestampReply15InformationRequest16InformationReply17AddressMaskRequest18AddressMaskReply 16 ICMP报文分类 ICMP差错报文目的不可达报文 类型3 超时报文 类型11 参数出错报文 类型12 ICMP控制报文报源抑制报文 类型4 重定向 类型5 ICMP请求 应答报文回送请求和响应报文 类型0和8 时间戳请求和响应报文 类型13和14 地址掩码请求和响应报文 类型17和18 其他 17 ICMPEcho报文 类型 0表示EchoReply 8表示Echo代码 0标识符 标识一个会话 例如 用进程ID序号 可能这样用 每个请求增1选项数据 回显 18 ICMPTimeExceeded报文 类型 11代码 0表示传输过程中时间到 1表示分片装配过程中时间到出错的IP包IP首部 原始IP数据包中前8个字节 19 ICMPDestinationUnreachable报文 类型 3代码 0表示网络不可达 1表示主机不可达 2表示协议不可达 3表示端口不可达 等等出错的IP包的IP首部 原始IP数据包中前8个字节 20 TCP数据包格式 21 TCP首部说明 源端口号和目的端口号 源和目的主机的IP地址加上端口号构成一个TCP连接序号和确认号 序号为该TCP数据包的第一个数据字在所发送的数据流中的偏移量 确认号为希望接收的下一个数据字的序号 首部长度 以4个字节为单位 通常为20个字节6个标志位 URG 如果使用了紧急指针 URG置1 紧急指针为当前序号到紧急数据位置的偏移量ACK 为1表示确认号有效 为0表示该TCP数据包不包含确认信息PSH 表示是带有PUSH标志的数据 接收到数据后不必等缓冲区满再发送 22 TCP首部说明 续 RST 用于连接复位 也可用于拒绝非法的数据或拒绝连接请求SYN 用于建立连接 连接请求时SYN 1 ACK 0 响应连接请求时SYN 1 ACK 1FIN 用于释放连接 表示发送方已经没有供发送的数据窗口大小 表示在确认字节后还可以发送字节数 用于流量控制校验和 覆盖了整个数据包 包括对数据包的首部和数据选项 常见的选项是MSS MaximumSegmentSize 23 UDP数据包格式 24 TCP连接的建立和终止 25 TCP连接若干要点 TCP IP的一些实现原则当一个SYN或者FIN数据包到达一个关闭的端口 TCP丢弃数据包同时发送一个RST数据包当一个RST数据包到达一个监听端口 RST被丢弃当一个RST数据包到达一个关闭的端口 RST被丢弃当一个包含ACK的数据包到达一个监听端口时 数据包被丢弃 同时发送一个RST数据包 当一个不包含SYN位的数据包到达一个监听端口时 数据包被丢弃当一个SYN数据包到达一个监听端口时 正常的三阶段握手继续 回答一个SYN ACK数据包当一个FIN数据包到达一个监听端口时 数据包被丢弃 26 常用的上层协议 DNS 53 tcp udpFTP 20 21 tcptelnet 23 tcpHTTP 80 tcpNNTP 119 tcpSMTP 25 tcpPOP3 110 tcp 参考 IANA提供的port numbers txt 27 网络攻击的完整过程 28 信息收集 信息收集技术是一把双刃剑黑客在攻击之前需要收集信息 才能实施有效的攻击安全管理员用信息收集技术来发现系统的弱点并进行修补 攻击工具攻击命令 攻击机制 目标网络 目标系统 攻击者 漏洞扫描评估加固 攻击过程 实时入侵检测 知己知彼 百战不殆 29 信息收集过程 信息收集 踩点 footprint 是一个综合过程从一些社会信息入手找到网络地址范围找到关键的机器地址找到开放端口和入口点找到系统的制造商和版本 30 攻击者需要的信息 域名经过网络可以到达的IP地址每个主机上运行的TCP和UDP服务系统体系结构访问控制机制系统信息 用户名和用户组名 系统标识 路由表 SNMP信息等 其他信息 如模拟 数字电话号码 认证机制等 31 社会信息 DNS域名网络实名管理人员在新闻组或者论坛上的求助信息也会泄漏信息网站的网页中新闻报道例如 XX公司采用XX系统 这样的信息可以合法地获取 32 例 来自网站的公开信息 33 网站上令人感兴趣的信息 机构所在位置与其关系紧密的公司或实体电话号码联系人姓名和电子邮件地址指示所用安全机制的类型的私密或安全策略与其相关联的Web服务器链接 此外 尝试查阅HTML源代码 34 非网络技术的探查手段 社会工程通过一些公开的信息 获取支持人员的信任假冒网管人员 骗取员工的信任 安装木马 修改口令等 查电话簿 XX手册 指南 在信息发达的社会中 只要存在 就没有找不到的 是这样吗 通过搜索引擎可以获取到大量的信息搜索引擎提供的信息的有效性 google AltaVista 35 信息收集 whois Whois为Internet提供目录服务 包括名字 通讯地址 电话号码 电子邮箱 IP地址等信息Client Server结构Client端发出请求 接受结果 并按格式显示到客户屏幕上Server端建立数据库 接受注册请求提供在线查询服务客户程序UNIX系统自带whois程序Windows也有一些工具直接通过Web查询 36 例 SamSpade工具 37 各种whois数据来源 多数Unix提供了whois fwhois由ChrisCappuccio创建http www samspade org 如果需要查询com net edu org以外的域可以查询以下的whois服务器欧洲IP地址分配亚太IP地址分配http whois nic mil美国军事部门 38 http whois nic gov美国政府部门美国以外的whois服务器通过这些查询可以得到黑客感兴趣的一些信息 注册机构 显示特定的注册信息和相关的whois服务器 机构本身 显示与某个特定机构相关的所有信息 域名 显示与某个特定域名相关的所有信息网络 显示与某个特定网络或IP地址相关的所有信息 联系点 显示与某位特定人员 通常是管理方面联系人 相关的所有信息 各种whois数据来源 续 39 公共数据库安全对策 考虑使用免费电话或不在本机构电话交换机范围内的电话 避免拨入攻击和社交工程伪造虚假的管理方面联系人 期望以此捕获潜在的社交工程师加强注册机构的信息更新方式 可以使用安全的认证机制弱的认证方式 电子邮件的FROM字段1998年对AOL的攻击 修改其域名信息 40 信息收集 DNS查询 关于DNS是一个全球分布式数据库 对于每一个DNS节点 包含有该节点所在的机器的信息 邮件服务器的信息 主机CPU和操作系统等信息Nslookup是一个功能强大的客户程序熟悉nslookup 就可以把DNS数据库中的信息挖掘出来分两种运行模式非交互式 通过命令行提交命令交互式 可以访问DNS数据库中所有开放的信息UNIX LINUX环境下的host命令有类似的功能 41 DNS节点的例子 42 DNS nslookup 通过nslookup可以做什么 区域传送 可以列出DNS节点中所有的配置信息这是为了主DNS和辅DNS之间同步复制才使用的查看一个域名 根据域名找到该域的域名服务器反向解析 根据IP地址得到域名名称从一台域名服务器可以得到哪些信息 如果支持区域传送 可以从中获取大量信息否则的话 至少可以发现以下信息邮件服务器的信息 在实用环境中 邮件服务器往往在防火墙附近 甚至就在同一台机器上其他 比如ns www ftp等 这些机器可能被托管给ISP 43 nslookup交互环境中常用命令 server 指定DNS服务器settype XXX 设定查询类型ls 列出记录 domainname orIPaddress 44 关于DNS nslookup的安全 注意的地方关闭未授权区域传送 zonetransfer 功能或者 在防火墙上禁止53号TCP端口 DNS查询请求使用53号UDP端口区分内部DNS和外部DNS内部信息不出现在外部DNS中DNS中该公开的信息总是要公开的 否则 域名解析的功能就无效了 没有MX记录就不能支持邮件系统Windows2000中的DNS与AD集成在一起 增加了新的功能SRV记录动态DNS在获得灵活性的同时 更加要注意安全 45 网络勘察 最常用的工具 Ping和TraceroutePing PacketInterNetGroper用来判断远程设备可访问性最常用的方法原理 发送ICMPEcho消息 然后等待ICMPReply消息Traceroute用来发现实际的路由路径原理 给目标的一个无效端口发送一系列UDP 其TTL依次增一 中间路由器返回一个ICMPTimeExceeded消息Windows中为tracert 46 Ping工具 发送ICMPEcho消息 等待EchoReply消息可以确定网络和外部主机的状态可以用来调试网络的软件和硬件每秒发送一个包 显示响应的输出 计算网络来回的时间最后显示统计结果 丢包率 47 关于Ping Ping有许多命令行参数 可以改变缺省的行为可以用来发现一台主机是否active为什么不能ping成功 没有路由 网关设置 网卡没有配置正确增大timeout值被防火墙阻止 Pingofdeath 发送特大ping数据包 65535字节 导致机器崩溃许多老的操作系统都受影响 48 traceroute 发送一系列UDP包 缺省大小为38字节 其TTL字段从1开始递增 然后监听来自路径上网关发回来的ICMPTimeExceeded应答消息UDP包的端口设置为一个不太可能用到的值 缺省为33434 因此 目标会送回一个ICMPDestinationUnreachable消息 指示端口不可达 49 关于traceroute traceroute有一些命令行参数 可以改变缺省的行为可以用来发现到一台主机的路径 为勾画出网络拓扑图提供最基本的依据Traceroute允许指定宽松的源路由选项 许多防火墙是禁止带源路由的包的 50 指定源路由示例 51 网络勘察的对策 防火墙 设置过滤规则使用NIDS NetworkIntrusionDetectionSystem 商用以及免费的NIDS Snort 使用其他工具 如rotoroutor 它可以记录外来的traceroute请求 产生虚假的应答 52 信息收集 扫描技术 基于TCP IP协议 对各种网络服务 无论是主机或者防火墙 路由器都适用扫描可以确认各种配置的正确性 避免遭受不必要的攻击用途 双刃剑安全管理员可以用来确保自己系统的安全性黑客用来探查系统的入侵点端口扫描的技术已经非常成熟 目前有大量的商业 非商业的扫描器 53 扫描器的重要性 扫描器能够暴露网络上潜在的脆弱性无论扫描器被管理员利用 或者被黑客利用 都有助于加强系统的安全性它能使得漏洞被及早发现 而漏洞迟早会被发现的扫描器可以满足很多人的好奇心扫描器除了能扫描端口 往往还能够发现系统存活情况 以及哪些服务在运行用已知的漏洞测试这些系统对一批机器进行测试 简单的迭代过程有进一步的功能 包括操作系统辨识 应用系统识别 54 扫描器历史 早期80年代 网络没有普及 上网的好奇心驱使许多年轻人通过Modem拨号进入到UNIX系统中 这时候的手段需要大量的手工操作于是 出现了wardialer 自动扫描 并记录下扫描的结果现代的扫描器要先进得多SATAN SecurityAdministrator sToolforAnalyzingNetworks1995年4月发布 引起了新闻界的轰动界面上的突破 从命令行走向图形界面 使用HTML界面 不依赖于X两位作者的影响 DanFarmer写过网络安全检查工具COPS 另一位WeitseVenema是TCP Wrapper的作者 Nmap作者为Fyodor 技术上 是最先进的扫描技术大集成结合了功能强大的通过栈指纹来识别操作系统的众多技术 55 扫描技术 主机扫描 确定在目标网络上的主机是否可达 同时尽可能多映射目标网络的拓扑结构 主要利用ICMP数据包端口扫描 发现远程主机开放的端口以及服务操作系统指纹扫描 根据协议栈判别操作系统 56 传统主机扫描技术 ICMPEchoRequest type8 和EchoReply type0 通过简单地向目标主机发送ICMPEchoRequest数据包 并等待回复的ICMPEchoReply包 如PingICMPSweep PingSweep 使用ICMPEchoRequest一次探测多个目标主机 通常这种探测包会并行发送 以提高探测效率BroadcastICMP设置ICMP请求包的目标地址为广播地址或网络地址 则可以探测广播域或整个网络范围内的主机 这种情况只适合于UNIX Linux系统Non EchoICMP其它ICMP服务类型 13和14 15和16 17和18 也可以用于对主机或网络设备如路由器等的探测 57 高级主机扫描技术 利用被探测主机产生的ICMP错误报文来进行复杂的主机探测异常的IP包头向目标主机发送包头错误的IP包 目标主机或过滤设备会反馈ICMPParameterProblemError信息 常见的伪造错误字段为HeaderLength和IPOptions 不同厂家的路由器和操作系统对这些错误的处理方式不同 返回的结果也不同 在IP头中设置无效的字段值向目标主机发送的IP包中填充错误的字段值 目标主机或过滤设备会反馈ICMPDestinationUnreachable信息 这种方法同样可以探测目标主机和网络设备 58 高级主机扫描技术 续 通过超长包探测内部路由器若构造的数据包长度超过目标系统所在路由器的PMTU且设置禁止分片标志 该路由器会反馈FragmentationNeededandDon tFragmentBitwasSet差错报文 反向映射探测用于探测被过滤设备或防火墙保护的网络和主机 构造可能的内部IP地址列表 并向这些地址发送数据包 当对方路由器接收到这些数据包时 会进行IP识别并路由 对不在其服务的范围的IP包发送ICMPHostUnreachable或ICMPTimeExceeded错误报文 没有接收到相应错误报文的IP地址可被认为在该网络中 59 主机扫描的对策 使用可以检测并记录ICMP扫描的工具使用入侵检测系统在防火墙或路由器中设置允许进出自己网络的ICMP分组类型 60 端口扫描技术 开放扫描 OpenScanning 需要扫描方通过三次握手过程与目标主机建立完整的TCP连接可靠性高 产生大量审计数据 容易被发现半开放扫描 Half OpenScanning 扫描方不需要打开一个完全的TCP连接秘密扫描 StealthScanning 不包含标准的TCP三次握手协议的任何部分隐蔽性好 但这种扫描使用的数据包在通过网络时容易被丢弃从而产生错误的探测信息 61 端口扫描技术 基本的TCPconnect 扫描 开放 Reverse ident扫描 开放 TCPSYN扫描 半开放 IPIDheaderaka dump 扫描 半开放 TCPFin扫描 秘密 TCPXMAS扫描 秘密 TCPftpproxy扫描 bounceattack 用IP分片进行SYN FIN扫描 躲开包过滤防火墙 UDPICMP端口不可达扫描UDPrecvfrom扫描 62 63 TCPconnect 扫描 原理扫描器调用socket的connect 函数发起一个正常的连接如果端口是打开的 则连接成功否则 连接失败优点简单 不需要特殊的权限缺点服务器可以记录下客户的连接行为 如果同一个客户轮流对每一个端口发起连接 则一定是在扫描 64 Reverse ident扫描 Ident协议 RFC1413 使得可以发现任何一个通过TCP连接的进程的所有者的用户名 即使该进程并没有发起该连接只有在TCP全连接之后才有效TCP端口113例如可以先连接到80端口 然后通过identd来发现服务器是否在root下运行建议关闭ident服务 或者在防火墙上禁止 除非是为了审计的目的 65 TCPSYN扫描 原理向目标主机的特定端口发送一个SYN包如果应答包为RST包 则说明该端口是关闭的否则 会收到一个SYN ACK包 于是 发送一个RST 停止建立连接由于连接没有完全建立 所以称为 半开连接扫描 优点很少有系统会记录这样的行为缺点在UNIX平台上 需要root权限才可以建立这样的SYN数据包 66 IPIDheaderaka dump 扫描 由Antirez首先使用 并在Bugtraq上公布原理 扫描主机通过伪造第三方主机IP地址向目标主机发起SYN扫描 并通过观察其IP序列号的增长规律获取端口的状态优点不直接扫描目标主机也不直接和它进行连接 隐蔽性较好缺点对第三方主机的要求较高 67 TCPFin扫描 原理扫描器发送一个FIN数据包如果端口关闭的 则远程主机丢弃该包 并送回一个RST包否则的话 远程主机丢弃该包 不回送变种 组合其他的标记优点不是TCP建立连接的过程 所以比较隐蔽缺点与SYN扫描类似 也需要构造专门的数据包在Windows平台无效 总是发送RST包 68 TCPXMAS扫描 原理扫描器发送的TCP包包头设置所有标志位关闭的端口会响应一个同样设置所有标志位的包开放的端口则会忽略该包而不作任何响应优点比较隐蔽缺点主要用于UNIX Linux BSD的TCP IP的协议栈不适用于Windows系统 69 分片扫描 它本身并不是一种新的扫描方法 而是其他扫描技术的变种 特别是SYN扫描和FIN扫描思想是 把TCP包分成很小的分片 从而让它们能够通过包过滤防火墙注意 有些防火墙会丢弃太小的包而有些服务程序在处理这样的包的时候会出现异常 或者性能下降 或者出现错误 70 TCPftpproxy扫描 FTPbounceattack原理用PORT命令让ftpserver与目标主机建立连接 而且目标主机的端口可以指定如果端口打开 则可以传输否则 返回 425Can tbuilddataconnection Connectionrefused Ftp这个缺陷还可以被用来向目标 邮件 新闻 传送匿名信息优点 这种技术可以用来穿透防火墙缺点 慢 有些ftpserver禁止这种特性 71 UDPICMP端口不可达扫描 利用UDP协议 主机扫描 原理开放的UDP端口并不需要送回ACK包 而关闭的端口也不要求送回错误包 所以利用UDP包进行扫描非常困难有些协议栈实现的时候 对于关闭的UDP端口 会送回一个ICMPPortUnreach错误缺点速度慢 而且UDP包和ICMP包都不是可靠的需要root权限 才能读取ICMPPortUnreach消息一个应用例子Solaris的rpcbind端口 UDP 位于32770之上 这时可以通过这种技术来探测 72 UDPrecvfrom write 扫描 非root用户不能直接读取ICMPPortUnreach消息 但是Linux提供了一种方法可以间接通知到原理第二次对一个关闭的UDP端口调用write 总是会失败经验 在ICMP错误到达之前 在UDP端口上调用recvfrom 会返回EAGAIN 重试 否则会返回ECONNREFUSED 连接拒绝 73 端口扫描的对策 设置防火墙过滤规则 阻止对端口的扫描例如可以设置检测SYN扫描而忽略FIN扫描使用入侵检测系统禁止所有不必要的服务 把自己的暴露程度降到最低Unix或linux中 在 etc inetd conf中注释掉不必要的服务 并在系统启动脚本中禁止其他不必要的服务Windows中通过Services禁止敏感服务 如IIS 74 操作系统辨识 操作系统辨识的动机许多漏洞是系统相关的 而且往往与相应的版本对应从操作系统或者应用系统的具体实现中发掘出来的攻击手段都需要辨识系统操作系统的信息还可以与其他信息结合起来 比如漏洞库 或者社会诈骗 社会工程 socialengineering 如何辨识一个操作系统一些端口服务的提示信息 例如 telnet http ftp等服务的提示信息TCP IP栈指纹DNS泄漏出OS系统 75 端口服务提供的信息 Telnet服务Http服务Ftp服务 76 某大学的ftp进站页面 77 栈指纹技术 定义 利用TCP IP协议栈实现上的特点来辨识一个操作系统技术导向可辨识的OS的种类 包括哪些操作系统结论的精确度 细微的版本差异是否能识别一些工具Checkos byShokQueso bySavageNmap byFyodor 78 主动栈指纹识别技术 原理 寻找不同操作系统之间在处理网络数据包上的差异 并且把足够多的差异组合起来 以便精确地识别出一个系统的OS版本配置能力扩展性 新的OS 版本不断推出定义一种配置语言或者格式 79 主动栈指纹识别方法 常用的手段给一个开放的端口发送FIN包 有些操作系统有回应 有的没有回应对于非正常数据包的反应比如 发送一个包含未定义TCP标记的数据包根据TCP连接的序列号风格寻找初始序列号之间的规律ACK值有些系统会发送回所确认的TCP分组的序列号 有些会发回序列号加1TCP初始化窗口有些操作系统会使用一些固定的窗口大小DF位 Don tFragmentbit 某些操作系统会设置IP头的DF位来改善性能 80 主动栈指纹识别方法 续 分片处理方式分片重叠的情况下 处理会不同 用后到的新数据覆盖先到的旧数据或者反之ICMP协议ICMP错误消息的限制发送一批UDP包给高端关闭的端口 然后计算返回来的不可达错误消息ICMP端口不可达消息的大小通常情况下送回IP头 8个字节 但是个别系统送回的数据更多一些ICMP回应消息中对于校验和的处理方法不同ICMP回应消息中 TOS域的值TCP选项 RFC793和更新的RFC1323 这里充满了各种组合的可能性应答方式 Query Reply 可以把多个选项放到一个包中有些高级选项在新的协议栈实现中加入 81 主动栈指纹识别方法 续 SYNflooding测试如果发送太多的伪造SYN包 一些操作系统会停止建立新的连接 许多操作系统只能处理8个包 82 Nmap的指纹库 指纹模板文件 nmap os fingerprints txt首先定义一组测试 例如 TESTDESCRIPTION TseqistheTCPsequenceabilitytest T1isaSYNpacketwithabunchofTCPoptionstoopenport T2isaNULLpacketw optionstoopenport T3isaSYN FIN URG PSHpacketw optionstoopenport T4isanACKtoopenportw options T5isaSYNtoclosedportw options T6isanACKtoclosedportw options T7isaFIN PSH URGtoaclosedportw options PUisaUDPpackettoaclosedport 83 Nmap的指纹库 续 例如FingerprintLinuxkernel2 2 13TSeq Class RI gcd 24CA0 T1 DF Y W 7F53 ACK S Flags AS Ops MENNTNW T2 Resp N T3 Resp Y DF Y W 7F53 ACK S Flags AS Ops MENNTNW T4 DF N W 0 ACK O Flags R Ops T5 DF N W 0 ACK S Flags AR Ops T6 DF N W 0 ACK O Flags R Ops T7 DF N W 0 ACK S Flags AR Ops PU DF N TOS C0 A0 0 IPLEN 164 RIPTL 148 RID E RIPCK E UCK F ULEN 134 DAT E 84 Nmap的指纹库 续 FingerprintWindows2000 XP METSeq Class RI gcd 240 T1 DF Y W 40E8 5B8E FAF0 7FFF ACK S Flags AS Ops MNWNNT MNW M T2 Resp Y DF N W 0 ACK S Flags AR Ops T3 Resp Y DF Y W 40E8 5B8E FAF0 7FFF ACK S Flags AS Ops MNWNNT MNW M T4 DF N W 0 ACK O Flags R Ops T5 DF N W 0 ACK S Flags AR Ops T6 DF N W 0 ACK O Flags R Ops T7 DF N W 0 ACK S Flags AR Ops PU TOS 0 IPLEN 38 RIPTL 148 RID E RIPCK E UCK E ULEN 134 DAT E 85 Nmap的指纹库参数说明 1 TSeq class 指sequence的类型 有如下几种值 C sequence为常数 64K sequence的差值为64000 800i sequence的差值为800 TD timedependant sequence的取值与时间相关 RI randomincremental sequence随机递增 TR turerandom sequence随机取值 val 仅在class为C时判断 其值为sequence常数 gcd sequence差值的最大公约数 仅在class为RI或TD时判断 SI nmap在sequence规律不明显时对sequence套用某种算法得到的一个值 仅在class为RI或TD时判断 86 Nmap的指纹库参数说明 续 2 TCP探测 T1 T7 Resp 是否有应答 Y 或 N DF 分片标志 Y 或 N W 窗口大小 tcp th win ACK 应答序列号的类型 有如下几种值 S ack syn S ack syn 1 O 其他情况 Flags tcp控制位 为以下几种值的组合 B Bogus 64 notarealTCPflag U Urgent A Acknowledgement P Push R Reset S Synchronize F Final 在SYN包的tcp头中设置bogus标记 版本号2 0 35之前的linux内核在回应中保持这个标记 有些操作系统在收到这种包会复位连接 87 Nmap的指纹库参数说明 续 2 TCP探测 T1 T7 续 Ops TCP选项 为以下几种值的组合 L EndofList N NoOp M MSS E 返回的MSS与请求的MSS相同 W WindowScale T Timestamp 3 UDP探测 pu Resp 是否有应答 Y 或 N DF 分片标志 Y 或 N TOS 服务类型域的值 IPLEN 返回包的IP长度 RIPTL 返回的 请求IP长度 RID 返回的 请求IP ID 88 Nmap的指纹库参数说明 续 3 UDP探测 pu 续 RIPCK 返回的 请求IP checksum 取值为 0 checksum为0 E 正确 F 不正确 UCK 返回的 请求IP udp checksum 取值为 0 checksum为0 E 正确 F 不正确 ULEN 返回的 请求IP udp len DAT 返回包的IP长度与实际长度是否相符 取值为 E 正确 大多数实现不回送我们的任何UDP包 默认为E F 不正确 89 Nmap识别操作系统的例子 90 被动栈指纹识别方法 它和主动栈指纹识别方法类似不是向目标系统发送分组 而是被动监测网络通信 以确定所用的操作系统如根据TCP IP会话中的几个属性 TTL窗口大小DFTOSSiphon工具 91 例 被动栈指纹识别方法 telnet192 168 102 245 发起方为192 168 102 155 利用snort监听到的数据包 192 168 102 245 23 192 168 102 155 2300TCPTTL 255TOS 0 x0ID 58955DF S A Seq 0 xD3B709A4Ack 0 xBE09B2B7Win 0 x2798TCPOptions NOPNOPTS 96887759682347NOPWS 0MSS 1460和osprints conf比较 可猜测192 168 102 245的操作系统为Solaris2 6 2 7 92 操作系统识别的对策 端口扫描监测工具监视操作系统检测活动让操作系统识别失效的补丁修改OS的源代码或改动某个OS参数以达到改变单个独特的协议栈特征的目的防火墙和路由器的规则配置使用入侵检测系统 93 其他扫描方法 延时扫描和分布式扫描原因 各IDS常采用的检测方法 在某个时间段内特定主机对本地端口的访问频度是否大于事先预定的阈值来判断入侵 延时扫描是加大各连接之间的时间间隔 逃避检测 比较有效但是延缓了扫描速度 分布式扫描解决连接数问题的同时也解决了扫描进度的问题 把扫描任务分配到地理位置和网络拓扑分布的扫描主机上 同时也解决了大量信息收集时单机扫描面临的主机负载和网络负载过重的问题 94 nmap ByFyodor作者研究了诸多扫描器 每一种扫描器都有自己的优点 它把所有这些技术集成起来 写成了nmap源码开放 C语言两篇技术文档TheArtofPortScanningRemoteOSdetectionviaTCP IPStackFingerPrinting除了扫描功能 更重要的是 可以识别操作系统 甚至是内核的版本 95 Nmap用于扫描 96 Nmap用于扫描 续 97 X scan 98 扫描器 SATANSAINTSSSStrobeX Scan ISS 安氏 PingerPortscanSuperscan流光 99 查点 如果黑客从一开始的目标探测中没有找到任何可以直接利用的入侵途径 他就会转向收集目标有效的用户账号或保护不当的共享资源 这就是查点 enumeration 查点要对目标系统进行连接和查询 查点活动有可能会被目标系统记录 查点通常是针对特定操作系统进行 100 查点的信息 攻击者查点时感兴趣的信息类型 网络资源和共享资源用户和用户组服务器程序及其标记 banner 101 WindowsNT 2000的查点 WindowsNT的网络服务依赖于CIFS SMB CommonInternetFileSystem ServerMessageBlock 和NetBIOS数据传输协议 很容易泄漏共享信息 Windows2000也同样具有NT的不安全特性 Windows提供了很多工具用于管理网络 同时也具有副作用 NTRK NTResourceKit 2000Server安装盘的Support Tools目录 102 WindowsNT 2000空会话 原理利用WindowsNT 2000对NetBIOS的缺省信赖通过TCP端口139返回主机的大量信息实例如果通过端口扫描获知TCP端口139已经打开netuse 192 168 102 230 IPC USER 在攻击者和目标主机间建立连接Windows2000还有另一个SMB端口445 103 NT 2000NetBIOS网络资源查点 NT 2000中有很多工具可用于提供对网络资源的查询nbtstat 可以获取NetBIOS远程主机名字表 104 NT 2000NetBIOS网络资源查点 续 nbtscan 一次可对多个网络进行查询 弥补了nbtstat一次只能对一台主机进行查询的缺陷 105 NT 2000NetBIOS网络资源查点 续 netview查看域 计算机或计算机共享资源的列表如果建立了空会话连接 可用netview查看目标共享资源 106 NT 2000NetBIOS网络资源查点工具 两个常用的网络资源查点工具 legion和NAT Legion 107 NT 2000NetBIOS网络资源查点工具 NAT 108 NT 2000NetBIOS网络资源查点工具 NTRK中的网络资源查点工具nltest rmtshare srvcheck srvinfo netdom等其他网络资源查点工具epdump getmac netviewx enum dumpsec等 109 NT 2000NetBIOS用户查点 攻击者对目标主机的用户名和密码更感兴趣一旦获取用户名 50 的努力花在窃取账号上用户通常使用弱密码在查询资源的同时可以查询用户前面介绍的一些工具 如NAT enum dumpsec等Rudnyi的sid2user和user2sid 从用户名查找SID SecurityIdentifier 或从SID查找用户名参看文章 WhatisaSID 110 NT 2000服务器程序及标记查点 连接目标主机的应用程序并根据输出来获取标记可以确认服务器上运行的软件和版本常用的方法telnet和nc 瑞士军刀 c telnet192 168 102 15580 许多常用服务器程序对某个固定端口作出响应 111 NT 2000服务器程序及标记查点 nc v192 168 102 23380 在确定了服务器软件的厂商和版本之后 攻击者就可以使用特定平台的技术和方法进行攻击 112 NT 2000服务器程序及标记查点 注册表查点通常情况下正常安装在系统上的应用程序都会在注册表中留下信息注册表中有大量和用户有关的信息从目的地得到Windows注册表的内容NT 2000的缺省配置是只允许Administrator访问注册表HKEY Local Machine SYSTEM CurrentControlSet Control SecurePipeServers winreg注册表访问工具 regdump dumpsec等 113 NT 2000查点的对策 在路由器 防火墙或其他网络关口设置 不允许对TCP和UDP的135 139端口的访问2000中 还要禁止445端口 114 NT 2000查点的对策 Hkey Local Machine SYSTEM CurrentControlSet Control LSA 增加一个数据项RestrictAnonymous 数据类型为REG DWORD NT下数值为1 2000下为22000下 管理工具 中的 本地安全设置 本地策略 安全选项 中对匿名连接的额外限制 相当于设置RestrictAnonymous为2 115 NT 2000查点的对策 对服务程序标记查点的对策 对具有风险的应用程序 尽可能隐藏其标记中的厂商和版本信息 定期使用端口扫描和netcat工具连接活动端口进行网络系统检查 确保没有泄露信息锁定注册表 不能对它进行远程访问 116 Unix Linux的查点 Unix Linux的具体实现依赖于标准的TCP IP 无法通过传统的NetBIOS获取信息利用Unix Linux提供的一些服务仍然可以进行查点网络资源查点showmount 用于查点网络中使用NFS的文件系统 使用端口2049 网络信息服务NIS用户查点finger 自动获取远程主机用户信息的简便方法 finger服务 端口号为79 常运行在不安全的缺省配置上 117 Unix Linux的查点 rusers和rwho也可以获取登录到远程主机的用户SMTP的命令vrfy和expn 118 Unix Linux的查点 服务器程序和标记查点和NT 2000中一样 可以使用telnet和nc进行查点rpcinfo通过访问portmapper 端口111 查询服务器程序 119 Unix Linux查点的对策 在防火墙或路由器中阻塞对特定端口如 79 的访问想办法去掉服务程序的标记尽可能对服务程序进行升级 120 一个利用空会话进行攻击的实例 利用扫描器得知对方已打开端口139 121 一个利用空会话进行攻击的实例 续 考虑用空会话进行远程密码猜测 轻松获取administrator密码1234 122 映射驱动器 安装后门nc 一个利用空会话进行攻击的实例 续 123 远程启动nc 并添加每日运行计划 一个利用空会话进行攻击的实例 续 124 网络监听 截获网络上的数据包监听数据包的技术LibpcapWinPcap 125 网络监听 在一个共享式网络 可以听取所有的流量是一把双刃剑管理员可以用来监听网络的流量情况开发网络应用的程序员可以监视程序的网络情况黑客可以用来刺探网络情报目前有大量商业的 免费的监听工具 俗称嗅探器 sniffer 126 以太网络的工作原理 载波侦听 冲突检测 CSMA CD carriersensemultipleaccesswithcollisiondetection 技术载波侦听 是指在网络中的每个站点都具有同等的权利 在传输自己的数据时 首先监听信道是否空闲如果空闲 就传输自己的数据如果信道被占用 就等待信道空闲而冲突检测则是为了防止发生两个站点同时监测到网络没有被使用时而产生冲突以太网采用了CSMA CD技术 由于使用了广播机制 所以 所有与网络连接的工作站都可以看到网络上传递的数据 127 以太网卡的工作模式 网卡的MAC地址 48位 通过ARP来解析MAC与IP地址的转换用ipconfig ifconfig可以查看MAC地址正常情况下 网卡应该只接收这样的包MAC地址与自己相匹配的数据帧广播包网卡完成收发数据包的工作 两种接收模式混杂模式 不管数据帧中的目的地址是否与自己的地址匹配 都接收下来非混杂模式 只接收目的地址相匹配的数据帧 以及广播数据包 和组播数据包 为了监听网络上的流量 必须设置为混杂模式 128 一个简单的sniffer程序 129 共享网络和交换网络 共享式网络通过网络的所有数据包发往每一个主机最常见的是通过HUB连接起来的子网交换式网络通过交换机连接网络由交换机构造一个 MAC地址 端口 映射表发送包的时候 只发到特定的端口上 130 共享式网络示意图 131 应用程序抓包的技术 UNIX系统提供了标准的API支持PacketsocketBPFWindows平台上通过驱动程序来获取数据包驱动程序WinPcap 132 Packetsocket 设置混杂 promiscuous 模式用ioctl 函数可以设置打开一个packetsocketpacket socket socket PF PACKET intsocket type intprotocol 以前的做法 socket PF INET SOCK PACKET protocol 不同的UNIX或者Linux版本可能会有不同的函数调用 本质上打开一个socket 或者通过open打开一个设备 通过ioctl 或者setsockopt 设置为混杂模式 133 BPF BerkeleyPacketFilter BSD抓包法BPF是一个核心态的组件 也是一个过滤器NetworkTap接收所有的数据包KernelBuffer 保存过滤器送过来的数据包Userbuffer 用户态上的数据包缓冲区Libpcap 一个抓包工具库 支持BPFLibpcap是用户态的一个抓包工具Libpcap几乎是系统无关的BPF是一种比较理想的抓包方案在核心态 所以效率比较高 但是 只有少数OS支持 主要是一些BSD操作系统 134 BPF和libpcap 135 关于libpcap 用户态下的数据包截获系统独立的API接口 C语言接口目前最新为1 10版本广泛应用于 网络数据收集安全监控网络调试支持过滤机制 BPFProgrammingwithpcaphttp www tcpdump org pcap htm 136 libpcap介绍 为捕获数据包做准备的几个函数char pcap lookupdev char errbuf 返回一个指向网络设备的指针 这个指针下面用到pcap t pcap open live char device intsnaplen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 家委会工作管理制度
- 库房目视化管理制度
- 强化地板厂管理制度
- 影视器材室管理制度
- 微党校党员管理制度
- 心理与课堂管理制度
- 快手安全与管理制度
- 快餐厅考勤管理制度
- 总经理授权管理制度
- 感染科电梯管理制度
- 《中心静脉导管的护理》课件
- 城市轨道交通应急处理自然灾害应急处理课件
- 2025-2030中国熊去氧胆酸类药物行业市场现状供需分析及投资评估规划分析研究报告
- 防跌倒、坠床预防指南
- 上海证券交易所会计监管动态(2024年第2期,总第20期)2024.5.29
- 基础会计教学质量分析报告
- 2025年中国品牌燕麦片(麦片) 市场供需格局及未来发展趋势报告
- 2025年水发集团社会招聘(249人)笔试参考题库附带答案详解
- 国家开放大学《四史通讲》形考作业1-7答案
- 计量管理知到智慧树章节测试课后答案2024年秋中国计量大学
- 《宏观经济学原理》课件
评论
0/150
提交评论