欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    探测远程主机操作系统指纹.doc

    • 资源ID:2397358       资源大小:17.50KB        全文页数:3页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    探测远程主机操作系统指纹.doc

    探测远程主机操作系统指纹 操作系统探测技术主要有以下几种方式:获取标识信息  在很多探测工具中都使用了此项技术来获得某些服务的标识信息。它往往是通过对二进制文件的收集和分析来实现的。TCP分段(标准/非标准)响应分析  它是依靠不同操作系统对特定分段的不同反应来区分的。比较流行的工具有Savage的QueSO和Fyodor的NMAP,他们都使用了很多来自于这种技术的变种。ICMP响应分析  它是刚推出不久的一种技术。它通过发送UPD或ICMP的请求报文,然后分析各种ICMP应答。Ofir Arkin的X-Probe就是使用的这种技术,在通常情况下,X-Probe工作的比较好,但是在防火墙阻塞某些协议时,得到的结果就不那么尽如人意了。初始化序列号(ISN)分析  在TCP栈中不同的exploits随机产生,通过鉴别足够的测试结果来确定远程主机的操作系统。特殊的操作系统  拒绝服务同样可以用在操作系统指纹的探测上,而不仅仅是被黑客所使用。在一些非常特殊的情况下,拒绝服务能探测到准确的结果。在本文中,着重以Nmap为例,介绍一下探测远程主机操作系统指纹的方法。有许多技术可以用来定义网络栈指纹。基本上,你只要找出操作系统间的不同并写探测器查明它们。如果你合并足够这些,你可以非常细致的区分它们。下面介绍一些这种技术:FIN 探测器 - 这里我们送一个FIN包(或任何其他包不带ACK 或SYN标记)给一个打开的端口并等待回应。正确的RFC793行为是不响应,但许多有问题的实现例如 MS Windows, BSDI, CISCO, HP/UX,MVS,和IRIX 发回一个RESET。许多现有工具利用这个技术。BOGUS 标记探测器 - Queso 是一个用这种技术的扫描器。它是设置一个未定义的TCP “标记”(64或128)在SYN包的TCP头里。Linux机器到2.0.35之前在回应中保持这个标记。其他OS还没发现有这个错误。然而,一些操作系统象是复位连接当它们得到一个SYN+ BOGUS包的时候。这一行为对辨识它们有用。TCP ISN 取样 - 这个主意是找出当响应一个连接请求时由TCP 实现所选择的初始化序列数式样。这可分为许多组例如传统的64K(许多老UNIX机器),随机增量(新版本的Solaris, IRIX, FreeBSD,Digital UNIX, Cray, 和许多其他的),真“随机”(Linux 2.0.*,OpenVMS,新的AIX,等)。Windows 机器(和一些其他的)用一个“时间相关”模型,每过一段时间ISN 就被加上一个小的固定数。不用说,这几乎和老的64K 行为一样容易攻破。当然最让人喜欢的技术是”常数”。机器总是使用确切同样的ISN 。而3Com的集线器(用0x803)和Apple LaserWriter打印机(用0xC7001 )就是这样。你也可以通过例如计算其随机数的变化量,最大公约数,以及序列数的其他函数和数之间的差异再进一步分组。不分段位 - 许多操作系统开始在送出的一些包中设置IP的”Dont Fragment”位。这带来多种性能上的好处(尽管它也可能是讨厌的 - 这就是nmap的分段扫描对Solaris机器无效的原因)。无论如何,不是所有的OS都这样做而且另一些做的场合不同,所以通过注意这个位我们甚至能收集目标OS的更多信息。TCP 初始化窗口 - 这只包括了检查返回包的窗口大小。较老的扫描器简单地用一个非零窗口在RST包中来表示“BSD 4.4 族”。新一些的如queso 和nmap则保持对窗口的精确跟踪因为它对于特定OS基本是常数。这个测试事实上给出许多信息,因为有些可以被唯一确定(例如,AIX 是所知唯一用0x3F25的)。在它们“完全重写”的NT5 TCP 栈中,Microsoft 用的是0x402E。有趣的是,这和OpenBSD 与FreeBSD 中所用的数字完全一样。ACK 值 - 不同实现中一些情况下ACK域的值是不同的。例如,如果你送了一个FIN|PSH|URG 到一个关闭的TCP 端口。大多数实现会设置ACK 为你的初始序列数,而Windows 和一些傻打印机会送给你序列数加1 。若你送一个SYN|FIN|URG|PSH 到一个打开的端口,Windows 会非常古怪。一些时候它送回序列号,但也有可能送回序列号加1, 甚至还可能送回一个随机数。ICMP 错误信息终结 - 一些操作系统跟从RFC 1812的建议限制各种错误信息的发送率。例如,Linux 内核(在net/ipv4/icmp.h)限制目的不可达消息的生成每4 秒钟80个,违反导致一个1/4 秒的处罚。测试的一种办法是发一串包到一些随机的高UDP 端口并计数收到的不可达消息。ICMP 消息引用 - RFC 规定ICMP错误消息可以引用一部分引起错误的源消息。对一个端口不可达消息,几乎所有实现只送回IP请求头外加8 字节。然而,Solaris 送回的稍多,而Linux 更多。这使得nmap甚至在没有对方没有监听端口的情况下认出Linux 和Solaris 主机。ICMP 错误消息回应完整性 - 机器会把原始消息的一部分和端口不可达错误一起送回。然而一些机器倾向于在初始化处理时用你的消息头作为“草稿纸”所以再得到时会有些许的改动。例如,AIX 和BSDI送回一个IP“全长”域在20字节处。一些 BSDI,FreeBSD,OpenBSD,ULTRIX,和VAXen 改变了你送的IP ID 。因为TTL 改变而改变了检查和,有些机器(AIX, FreeBSD, 等)送回错误的或0 检查和。总之,nmap作9 种测试在ICMP错误上以分辨出这类细微差别。服务类型 - 对于ICMP端口不可达消息可察看送回包的服务类型(TOS)值。几乎所有实现在这个ICMP错误里用0 除了Linux 用0xc0。这不是标准的TOS 值,而是一个未使用优先域(AFAIK) 的一部分。尽管不知道为什么如此,但如果他们改成0 我们还能够分辨旧系统_而且_还能分辨出旧系统和新系统。TCP 选项 - 这简直是泄漏信息的金矿。它的好处在于:1) 这通常是可选的,所以并非所有实现都支持。2) 若一个实现发出设置了选项的请求,目标通过设置它在回应中表示支持。3) 可以在一个数据包中设置而一次测试所有选项。                        Nmap发送这些选项的几乎所有可能的包:Window Scale=10; NOP; Max Segment Size = 265; Timestamp; End of Ops;当你得到回应,看看那个选项被送回也就是被支持。一些操作系统如最近的FreeBSD 机器支持上面所有的,而其他,如Linux 2.0.X支持的则很少。最近的Linux 2.1.x 内核支持上面所有的。另一方面,它们又有更易受攻击的TCP 序列生成方式。即使几个操作系统支持同样的选项集,有时仍可以通过选项的值分辨出它们。例如,如果送一个小的MSS值给Linux机器,它会用那个MSS 生成一个回答给你。其他主机会给你不同的值。甚至即使你得到同样的支持选项集和同样得值,你仍可以通过选项提供的顺序和填充字进行辨识,例如Solaris返回NNTNWME表示;而Linux 2.2.122返回MENNTNW。同样的选项,同样的值,但不同顺序!没见过其他OS检测工具利用TCP 选项,但它非常有用。因同样原因有其他几个有用的选项我会探测,象那些支持T/TCP和选择性确认。开发年代 - 甚至使用上面所有测试,nmap仍不能从TCP 栈区分Win95,WinNT,或Win98。但你可以简单的进行早期的WindowsDOS 攻击(Ping of Death, Winnuke, 等)而比当时的如Teardrop和Land多做一些。就是在每个攻击之后,ping它们看是否垮掉了。等到你最后crash 掉它们,你就能缩小的某一服务包或补丁。SYN洪水限度 - 一些操作系统会停止新的连接尝试如果你送太多的伪造SYN 给它(伪造包避免你的内核复位连接)。许多操作系统只能处理8 个包。最近的Linux 内核(包括其他操作系统)允许不同的方式如SYN cookie来防止这成为严重问题。所以你可以试着从伪造地址发8 个包到目标打开的端口再尝试你还能否建立连接以发现一些信息。这没在nmap中实现因为有人不喜欢用SYN 洪水,甚至你解释这只是想知道它运行的操作系统也不能使他们平静。

    注意事项

    本文(探测远程主机操作系统指纹.doc)为本站会员(文库蛋蛋多)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开