设为主页 | 加入收藏 | 繁體中文

远程主机探测技术FAQ集 - OS识别篇

  1:为什么要识别远程主机的OS?
  OS识别是入侵或安全检测必要网络的紧张信息,是分析毛病和各种安全隐患的基础。只有确定了远程主机的操作系统范例,版本,才能对其安全状况做进一步评价。
  2:什么能标识远程主机的OS信息?
  端口及其运行的办事,主机上运行的步伐品种及版本信息,TCP/IP协议栈完成的差别等等,凡是能标明某个范例[版本]OS与其他全部差别范例[版本]OS差别的差别
  均可作为标识远程主机OS信息的手段。
  3:识别远程主机OS的要领都有什么?
  凭据ICMP协议的使用得到TTL值: 直接对目标主机举行ping 指令将返回 TTL 值,也可以共同Tracert确定原始[或者更精确]的TTL值,这种要领相当简单,但是不精确且
  不行靠,因为主机办理员可以手动修正TTL值 WINDOWS系统中只必要修正注册表的对应键值,将DefaultTTL 这个key修正即可。
  获取使用步伐旗标:比如:直接对主机举行telnet 或者 Ftp 连接,缺省环境下你将得到远程主机返回的Banner信息,它将诚笃地交接本身的信息,telnet 可以直接得到一些OS的信息,FTP将得到FTP SERVER的信息,便于帮助确认远程OS。当然,这些 Banner 信息也可以很方便地被修正,因此不要太过相信它。[此要领将在“我该怎样获取远程OS及其上运行的使用步伐的旗标?”中专门指出]
  使用TCP/IP协议栈指纹辨别 :[此要领将在“TCP/IP协议栈指纹辨别究竟是怎么回事?”中专门指出]必要指出:这个要领的准确性和牢靠性都很高!因为一般的办理员可不会去无认识地修正OS底层事情着的网络堆栈参数。queso,nMAP,checkOS等工具就是使用这个原理来识别远程OS。
  WEB查点+综合分析:若目标主机是一台WEB主机,那么可以直接通过WWW访问它,当今很少见HTML静态页面了,许多站点都是通过一些WEB剧本[ASP PHP CGI等]搭建,通过在WEB页面上搜集的信息也可以粗略果断OS,比如ASP的剧本,那主机当然是WINDOWS系列了,通常这个要领粗略且不准确 [除非他们把主机设置装备摆设信息详细公布在WEBSITE上~:)]如今也有不少WEB站点用VMWARE等软件制作一个虚拟机环境,这给通过访问WEB来获取OS信息又形成了障碍。
  交际工程探测:这个不用多讲了,与技能有关,看你的骗术高低了~:)
  4:TCP/IP协议栈指纹辨别究竟是怎么回事?
  协议栈指纹识别[stack fingerprinting]
  此技能分两类,一类是自动识别,另一类则是主动识别
  自动协议栈指纹识别
  原理:由于TCP/IP协议栈技能只是在RFC 文档中描叙,并没有一个统一的行业标准,于是各个公司在编写使用于本身的OS的TCP/IP协议栈时,对RFC文档做出了不尽雷同的
  解释,于是形成了各个OS在TCP/IP协议的完成上差别。比如人类的指纹,每个平凡人都有指纹,但是没有两个人的指纹是一模一样的。通过对差别 OS的TCP/IP协议栈存在的些微差别的辨别来判定OS范例[版本]的技能也就比如人们往往使用指纹来标明是否统一人一样,这种技能是目前很初级的远程OS辨别要领。最早将此技能使用于网络探测的工具是queso ,它通过一个已开放端口举行协议栈指纹识别[默认环境下是80端口],厥后这个步伐的作者Fyodor将它整和进nMAP里,作育了这一伟大扫描器的辉煌。
  一般环境下nMAP要求远程主机至多开放一个端口以供密查,不过即使没有任何端口开放,nMAP也能智能果断远程OS,当然精确度要大打折扣。
  关于自动协议栈指纹识别这个领域最权威的论文是Fyodor发表在Phrack杂志上的《Remote OS detection via TCP/IP Stack FingerPrinting 》
  各种自动发送的探测数据包范例:
  FIN 探测:凭据RFC 793文档,往目标主机上一个翻开的端口发送一个FIN分组[实在任何无ACK和SYN标志的包可以达到同样的目标],精确的响应应该是无任何响应;
  但是,许多OS的TCP/IP协议栈完成上将返回一个FIN/ACK包[据笔者不完全统计有WINNT ,CISCO IOS,HP/UX,IRIX等]
  BOGUS 标志探测:发送一个含有未定义的TCP标志的TCP头的SYN包,那么一些OS[比如Linux]的回应将包含这个未定义的标志,在别的一些系统收到SYN+BOGU包将封闭连接
  使用这些特性可以标识一些OS。
  ISN 采样探测:探求初始化序列长度模板与特定的OS匹配的要领,如许可以区分一些OS 比如早些的UNIX系统是64K长度;而一些新的UNIX系统则是随机增加长度。
  [比如 Solaris,IRIX,FreeBSD,Digital Unix,Cray等)
  Don't Fragement 位 探测:一些操作系统会设置IP头部 “Don't Fragement 位”[不分片位]以改进性能,监督这个位就可以判定区分远程OS
  TCP 初始窗口大小 检测:简单查抄返回的包里包含的窗口大小,某些OS在TCP/IP协议栈的完成中,这个值是奇特的[AIX是0x3F25,NT和BSD是0x402E],可以增加指纹鉴另外准确度。
  TCP 可选项 探测:由RFC 793,1323文档定义的TCP 可选项[比如:无操作;最大段大小MSS ;工夫戳等],使用在发送的TCP包里设定一些TCP 可选项,凭据返回包内容果断OS。在RFC 1323定义的一些初级可选项有许多在比较新的OS对TCP/IP协议栈完成中加入。
  ACK 值探测:差别OS对TCP/IP协议栈实如今ACK包序列号值选择上存在差别,有些OS发送回所确认TCP包的序列号[少数环境下],另外一些则发送回所确认TCP包的序列号加1
  [WINDOWS系列和一些打印机系统]
  ICMP出错音讯抑制:凭据RFC 1812文档 的划定,有些OS限制ICMP出错音讯的速率;通过某个随即选定的高位端口发送UDP包,可能统计出在某个给定工夫段内担当的不行达出错音讯的数量。
  ICMP音讯援用:当必要发送ICMP出错音讯时,差别OS在援用网络包的的信息量差别。通过检测所援用的音讯,可以粗略果断OS
  ICMP出错音讯回射完备性:某些OS对TCP/IP协议栈的实如今返回ICMP出错音讯的时候会修正所援用的IP头,检测对IP头窜改的范例可以粗略果断OS。
  TOS [办事范例]:检测ICMP端口不行达音讯的TOS字段,少数OS会是0,另一些则不是
  片断处置惩罚:差别 TCP/IP协议栈实如今对重叠的片断处置惩罚上有差别。有些在重组时会用后抵达的新数据笼罩旧数据,有些则相反。
  主动协议栈指纹识别
  自动协议栈指纹识别由于必要自动往目标发送数据包,但这些数据包在网络流量中比较引人瞩目,因为正常使用网络不会按如许的顺序呈现包,因此比较容易被IDS捕获
  为了秘密地识别远程OS,就必要使用主动协议栈指纹识别。
  主动协议栈指纹识别在原理上和自动协议栈指纹识别类似,但是它从不自动发送数据包,只是主动地捕获远程主机返回的包来分析其OS范例[版本]
  四种常用的主动签名[signature]:
  TTL值: Time-To-Live 设置是什么
  窗口大小: OS设置的窗口大小
  DF: 是否设置 Don't Fragment [不分片]
  TOS:设置的办事范例
  主动分析这些属性并将得到的比较效果与属性库比较以果断远程OS范例[版本]


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: