被动特点探测






  人家说要想百站百胜,你必须良知知彼,你要维护系统不被攻击,你首先必须了
  解袭击者,被动特征探测Passive Fingerprinting 是一种了解攻打者的而
  不被其察觉的一种方法
  
  Fingerprinting
  
  传统上,操作系统特征可以使用一些踊跃的工具,如queso或者nmap,这些工具是
  在每一个操作系统上的IP堆栈有本人不同特征的原理上来操作的,每个操作系统
  响应通过的多种信息包。所以这些工具只有树立一个基于不同的操作系统对应不
  同的信息包的数据库,而后,要判定远程主机的操作系统,发送多种不寻常的信
  息包,检测其是怎么响应这些信息包的,再与数据库进行对照做出判断。Fyodor
  的 nmapwww.insecure.org/nmap工具就是应用这种方法的,他也写了一
  份详细的文档www.insecure.org/nmap/nmapfingerprintingarticle.html,
  另外绿盟backend也写过这中文文章。
  
  而被动特征探测Passive Fingerprinting 遵守雷同的概念,但实现的办法不
  同。被动特征探测Passive Fingerprinting 基于嗅探远程主机上的通讯来取代
  自动的去查问远程主机,所有你须要做的是抓取从远程主机上发送的信息包。在
  嗅谈这些信息包的基本上,你可以判断远程主机的操作系统,就象主动特征探测
  一样,被动特征探测Passive Fingerprinting 也是由每个操作系统的有自己
  的IP堆栈特征,通过火析sniffer traces 和鉴别他们之间的不同之处,就可以判断
  远程主机的操作系统了
  
  
  信,
  
  断定主机的操作系同一般能够由4个方面来决议当然也有其余信,存在:
  
   TTL
  这个数据是操作系统对出站的信息包设置的存活时光。
  窗口大小Window Size 是操作系统设置的窗口大小,这个窗口大小是 在发送FIN信息包时包括的选项。
   DF
  可以查看是否操作系统设置了Don\'t Fragment bit位· TOS
  是否操作系统设置了装备类型·
  通过剖析信息包这些因数,你可以判断一个远程的操作系统,当然探测到的系统
  不可能100准确,也不能依附上面单个的信,特征来判断系统,但是,通过查看
  多个信,特征和组合这些信息,你可以增添对远程主机的精确水平。下面是一个
  简略的例子,下面是the sniffer trace of a system 发送一个信息包,
  . This system launched a mountd exploit against me,
  我当初不要使用finger 或者NMAP等工具,而想要懂得被动接收到的信息,使用snort
  www.clark.net/~roesch/security.html
  得到了下面的一些信,特征:
  04/2021:41:48.129662 129.142.224.3:659 > 172.16.1.107:604
  TCP TTL:45 TOS:0x0 ID:56257
  ...F..A. Seq: 0x9DD90553 Ack: 0xE3C65D7 Win: 0x7D78
  
  依据上面的四条准则,我们可以到达下面的情形:
  
   TTL: 45
   Window Size: 0x7D78 (or 32120 in decimal)
   DF: The Don\'t Fragment bit is set
   TOS: 0x0
  
  我们在比较信,特征数据库,首先,我们查看使用在远程系统上的TTL,从我们
  的sniffer trace 可以看到TTL是45,这多数表现它通过19跳来被咱们捕捉,因此
  原始的TTL是设置为64,基于这个TTL,这个信息包应当看来是由LINUX和FREEBSD
  系统发来的当然更多的系统信,特征需要放到数据库中,这个TTL通过了
  traceroute
  远程主机得到证明,如果你斟酌到远程主机在检测你的traceroute, 你可以设置你traceroute的timetolive(默认是30跳,使用m选项来设定到
  主机的跳数少1到2跳的数值,如,方才的例子里,我们可以使用traceroute m 18
  来设置跳数为18跳,这样做可以让你看到达到主机的门路而不遇到远程主机。
  要多TTL的信息,请查看www.switch.ch/docs/ttl_default.html
  
  下一步是比较窗口大小Windows size,用Windows size来判断是另一个十分有效
  的工具,特殊是使用多大的窗口大小和改变大小的法则,在上面的信,特征中,
  我们可以看到其设置为0x7D78,这是LINUX通常使用的默认窗口大小。LINUX,FREEBSD
  和SOLARIS系统在完全的一个会话进程中窗口的大小是保持不变的,但是 ,局部
  Cisco
  路由器如2514和WINDOWS/NT的窗口是常常转变的在一个会话阶段, 假如在初始化三次握手后权衡窗口大小是比较准确的,详细信息,可以看看
  Richard Stevens
  的"TCP/IP Illustrated, Volume 1" 20章.
  多数系统使用DF位设置,因而这个是一个限定的值,然而有些系统如SCO跟OPENBSD
  不应用这个DF标记,所以就比拟轻易的用来辨别一些不这个DF位设置的体系,在
  更多的测试后,发明TOS也是一个限定的值,这就表示不是良多操作系统来判断TOS,
  而是协定在使用这个值。TOS的断定需要更多的测试。因此,根据上面的信息,一些
  特别的TTL值和窗口大小值,你可以通过信,数据库来比较成果。
  
  留神,与主动特征探测一样,passive Fingerpinting有很多限度,首先,利用
  程序必需构建他们自己的与操作系统不同信,特征信息包如NMAP,HUNT ,TEARDROP等。
  
  其次,这种探测可以使用调剂系统的信息包的值来防止,如可以用下面的方式来
  改变TTL值:
  
  Solaris: ndd set /dev/ip ip_def_ttl \'number\'
  Linux: echo \'number\' > /proc/sys/net/ipv4/ip_default_ttl
  NT: HKEY_LOCAL_MACHINESystemCurrentControlSetServicesTcpipParameters
  
  其他信息特征和使用
  
  上面的是探讨了4个信,特征,但还有其他的特征可以被跟踪,如一些初始化序列
  好,IP鉴定,码IP Identification numbers ,TCP或者IP的选项。如:
  Cisco
  路由器趋势由0开端IP鉴定,码IP Identification numbers 来代替 随机的指派,码。也可以使用ICMP的有效负载来判断,
  dev.whitehats./papers/passive/index.html

10-17 11:20