通过被动特征探测鉴别远程主机

 
   | |

导读:网络安全的挑战之一就是你需要了解攻击者,要了解你存在的威胁并保护你自己的资源,你需要了解你的敌人,被动特征探测是了解攻击者而不被攻击者觉察的方法之一。

关键词:网络安全 攻击者 威胁 被动特征探测 特征探测

 
正在加载数据...

  网络安全的挑战之一就是你需要了解攻击者,要了解你存在的威胁并保护你自己的资源,你需要了解你的敌人,被动特征探测是了解攻击者而不被攻击者觉察的方法之一,虽然这种方法可能不是100%正确,但你会获得一些令你诧异的结果。Craig Smith开发基本本文概念的工具passfing.另外subterrain crew也开发了siphon,一个可以被动探测端口和OS的工具。

  Fingerprinting

  传统上,操作系统特征可以通过"积极性"的工具,如queso或者nmap,这些工具是在每一个操作系统上的IP堆栈有自己不同特性的原理上来操作的,每个操作系统响应通过的多种信息包。所以这些工具只要建立一个基于不同的操作系统对应不同的信息包的数据库,然后,要判断远程主机的操作系统,发送多种不寻常的信息包,检测其是怎样响应这些信息包的,再与数据库进行对比做出判断。Fyodor的 nmap工具就是利用这种方法的,他也写了一份具体的文档。

  而被动特征探测(Passive Fingerprinting )遵循相同的概念,但实现的方法不同。被动特征探测(Passive Fingerprinting )基于嗅探远程主机上的通信来代替主动的去查询远程主机,所有你需要做的是抓取从远程主机上发送的信息包。在嗅探这些信息包的基础上,你可以判断远程主机的操作系统,就象主动特征探测一样,被动特征探测(Passive Fingerprinting )也是由每个操作系统的有自己的IP堆栈特征,通过分析sniffer traces 和鉴别他们之间的不同之处,就可以判断远程主机的操作系统了。

  信号

  判断主机的操作系统一般可以由4个方面来着手(当然也有其他信号存在):

    * TTL - 这个数据是操作系统对出站的信息包设置的存活时间。
    * Window Size - 是操作系统设置的窗口大小,这个窗口大小是在发送FIN信息包时包含的选项。
    * DF - 可以查看是否操作系统设置了不准分片位
    * TOS - 是否操作系统设置了服务类型

  通过分析信息包这些因数,你可以判断一个远程的操作系统,当然探测到的系统不可能100%正确,也不能依靠上面单个的信号特征来判断系统,但是,通过查看多个信号特征和组合这些信息,你可以增加对远程主机的精确程度。下面是一个简单的例子,下面是被探测的系统发送一个信息包,这个系统发起了一个 mountd的漏洞攻击,因此我想了解这个主机, 我现在不使用finger或者NMAP等工具,而想要了解被动接受到的信息,使用snort得到了下面的一些信号特征:

04/20-21: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,从我们的获得信息可以看到TTL是45,这多数表示它通过19跳才到达我们主机,因此原始的TTL应该是设置为 64,基于这个TTL,这个信息包应该看来是由LINUX和FREEBSD系统发来的(当然更多的系统信号特征需要放到数据库中),这个TTL通过了 traceroute远程主机得到证实,如果你考虑到远程主机在检测你的traceroute,你可以设置你traceroute的time-to- live(默认是30跳),使用-m选项来设定到主机的跳数少1到2跳的数值,如,刚才的例子里,我们可以使用traceroute -m 18来设置跳数为18跳,这样做可以让你看到到达主机的路径而不碰到远程主机。要更多关于TTL的信息,请查看这篇文章

  下一步是比较窗口大小-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_MACHINE\System\CurrentControlSet\Services\Tcpip\Parameters

  通过上面所说的方法结合,你就可以大致判断出远程操作系统的情况了。

  其他信息特征和使用

  上面的是讨论了4个信号特征,但还有其他的特征可以被跟踪,如一些初始化序列好,IP鉴定号码(IP Identification numbers ),TCP或者IP的选项。如:Cisco路由器趋向由0开始IP鉴定号码(IP Identification numbers )来代替随机的指派号码。也可以使用ICMP的有效负载来判断,Max Vision discusses 使用ICMP有效负载类型或者TCP选项来鉴别远程主机,举个例子,微软的ICMP REQUEST的有效负荷包含字母,而SOLAIRS或者LINUX的ICMP REQUEST有效符合包含数字和符号。又如TCP选项,选择性的应答Acknowledgement选项SackOK 通常被WINDOWS和LINUX使用,但FREEBSD和SOLARIS这个选项不使用。MSS(最大数据段大小)也可以用来判断,绝大多数系统使用1460 大小的MSS,NOVELL使用的是1368,而有些FREEBSD变种使用512大小的MSS,另一个信号特征是信息包状态,什么类型的信息包被使用,可以应用FYODOR的话说:
"例如,最开始的SYN请求对我来说是一块金子(因为它会被回复),而RST信息包也有一些有趣的特征用来鉴定系统."其他多种特征和上面所说的特征组合能很好的判断远程操作系统。

  被动特征探测可以用来其他一些用途,它当然也可以被攻击者用来秘密的探测系统,如可以请求WEB服务器的WEB页然后进行分析。这对于绕过一些IDS系统的检测有很大的帮助。而且被动特征探测也可以用来判断远程代理防火墙,因为代理防火墙重建对客户的连接,它有它自身的特征代码。也可以同来在同一网络中判断其他系统,如某个公司全部是MICROSOFT或者SUN系统,就可能很快的使用这种方法来判断是否有其他机器混在里面。

  构建数据库

  数据库是通过对各种系统进行TELNET,FTP,HTTP,SSH等协议分析而得到的。还有更多其他的协议来进行扩充,如果你有任何特征码增加到数据库中去请发送到project@honeynet.www.xfocus.net地址,我特别对TCP或者IP选项特征感兴趣,或者一些没有列入到数据库中的操作系统。

  总结

  被动特征探测让你隐秘的了解你的攻击者,通过组合多种特征,你可以大体判断远程操作系统,感谢下面的人提供帮助和想法:


了解你的敌人系列
 Script Kiddie使用的工具和方法论
 跟踪Blackhat的举动
 了解你的敌人之获得root权限之后
 了解你的敌人之学习一次攻击
 了解你的敌人之黑客的动机和心理
 通过被动特征探测鉴别远程主机
 Honeynet及其运作方式和风险
 了解你的敌人之统计分析

原文出处:http://old.honeynet.org/papers/finger/
 
来源:Honeynet    
 
 
 
 
 

远程访问策略

 
黑客喜欢配置不良的远程访问点,为什么呢?很多时候,这些访问点都代表了进入网络的开放的大门,而不需要考虑互联网边界的防火墙以及入侵检测/防御系统。
 
管理对远程访问的保护是艰难的工作。因为远程系统可能直接和内网连接,而不是通过企业防火墙,他们对网络环境产生了越来越多的风险。以下是保护远程访问的五个最佳实践。
 
密码和其他验证方法可能保护不了你的数据。良好的安全系统可以基于用户和访问策略,对每个访问请求进行评估,包括准许或者拒绝策略。名为验证绕路的攻击可以避免……
 
问:访问控制机制和身份管理技术有什么区别? 答:访问控制是身份管理的一个子类,身份管理涵盖了很多功能……
 
问:管理是考虑雇用可以远程工作的员工.在一个小型公司中制定远程访问安全策略方面您有什么建议……

热门技术手册排行

 

虚拟专用网络 VPN(Virtual Private Network )能通过公用网络Internet建立一个临时的、安全的连接,是一条穿过混乱的公用网络的安全、稳定的隧道。VPN是对企业内部网的扩展,它可以帮助远程用户、公司分支机构、商业伙伴及供应商同公司的内部网建立可信的安全连接,并保证数据的安全传输。许多公司使用VPN向公司外部的员工提供企业网络接入。本手册将围绕VPN进行全方位的讲解。

 

“最佳实践”来自英文Best Practice。维基百科对最佳实践的定义是一个管理学概念,认为存在某种技术、方法、过程、活动或机制可以使生产或者管理实践的结果达到最优,并减少出错的可能性。学习应用IT企业安全的最佳实践,其实就是借鉴别人成功的经验,让自己在保护企业安全方面少走弯路。在本手册中,将集合IT业内关于企业安全的最佳实践,并不断更新,以期在企业安全防护方面提供帮助。

 

虚拟化是数据中心的流行技术,它起源于20世纪60年代。它是把昂贵的计算机资源的利用最大化的方式。典型的服务器的利用率不足40%,虚拟化可以更有效地利用技术资源,并节约固定费用。虚拟化的最大优势是,它允许管理员从中央区域为个人电脑和客户设备提供软件。虚拟化不需要管理员对一般任务进行分别考虑。服务器的关机可以带动多用户的关机。

 

黑客策略和技术一直都在进步。黑客还在继续开发新的攻击工具和黑客方法,来恶意访问系统并攻击你的网络,这样企业在开发和采取恰当的方法防御黑客的攻击就变得非常困难。《黑客攻击技术和策略》的技术指南将介绍黑客的内心想法,并帮助你理解恶意攻击者的动机,也提供了一些黑客攻击具体信息的方式,采用的方法以及企业应该采用的保护敏感数据的方法。这里将会提供大量黑客技术和策路的信息,例如允许黑客获取网络系统或者文件访问的系统特征探测。

 

假如你正在寻找一个漏洞扫描器,你可能已经遇到了大量的非常昂贵的商业解决方案,这些方案都有一长串的性能和优点。不幸的是,如果你和我们之中大部分人的情况一样的话,你一般根本没有运行这些奇特的系统的预算。你可能已经退而求其次,转向考虑使用像SATAN或Saint的免费工具。然而,你可能觉得使用这些工具是一种折衷的办法,因为它们的性能设置不能与商业解决方案相比。这时候你就应该学会使用Nessus! 2005年12月Nessus背后的公司Tenable Network Security Inc.发布了Nessus 3,引进了对该产品的全面检查。在写这篇文章时候的最近版本,Nessus 3.2是在2008年3月发布的。Nessus现在可以在多种平台上使用,包括Windows、各种版本的Linux、FreeBSD、Solaris和Mac OS X。以下是这次Nessus3中的重大变化: 下面将介绍如何使用Nessus工具以及Nessus工具的更新。

查看更多
 
 

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录