windump 的使用技巧
现在的网络入侵行为日益猖獗,传统的系统级安全检测,在很多时候已经失去了作用。 现在模拟一个网络环境:一台Windows 2000 Server操作系统的web服务器。一般这种服务器都在网络的非军事区(DMZ)中,它被攻击的可能性最大,至少目前的攻击一般都是基于这种服务器的。 在这台服务器上有个内核级后门Hxdef100(这个后门大家应该听说过吧!不仅它自己能隐藏在Windows系统中,而且能隐藏服务,端口,进程等等),对于这种情况,一般的系统管理员很难发现它。 但是,从数据流来看,就很简单,连接信息如下图所示:
C:> windump –vv –i 2 –n 13:45:13.956853 192.168.1.1.3164 > 192.168.1.2.1864: S 87334271:87334271(0) win 65535 (DF) 13:45:14.059243 192.168.1.2.1864 > 192.168.1.1.3164: S 4138420249:4138420249(0) ack 87334272 win 32120 (DF) 13:45:14.059475 192.168.1.1.3164 > 192.168.1.2.1864: . 87334272:87334272(0) ack 4138420250 win 65535 (DF)
入侵者192.168.1.1用nc连接192.168.1.2:1864,由于在服务器192.168.1.2中有Rootkit屏蔽了端口1864,所以在使用netstat –na这个命令时,就不会显示1021的连接信息,而通过windump就会发现连接信息,以上就是nc的三次握手的情况。 其实,有很多管理员他们仅仅考虑的是系统级安全,用netstat –na检测系统信息,对于系统内核级后门而言,这些信息会被屏蔽,或者这些检测工具已经被木马化了,这就是他们的盲区,而我认为数据流级的安全,就像windump的抓包这样的检测,相比之下更为重要了!
再给大家补充一点WinDump安装和基本用途
WinDump分两部分。第一部分是WinPcap一系列网络记录驱动,是WinDump用来获得计算机中信息包到网络界面的信息。第二部分是程序本身,windump,在安装WinPcap library后从命令列中调用。
当你运行windump时你第一个想要使用的选项是-D,它会列出目前系统中所有可使用的网络界面。默认情况下程序听从第一可用界面,但是在Windows中,它是典型的软件拨号配置器,不是实体网络配置器。-D的结果通常如下:
1.\Device\NPF_GenericDialupAdapter (Generic dialup adapter)
2.\Device\NPF_ (Intel DC21140 PCI Fast Ethernet Adapter (Microsoft's Packet Scheduler) )
要使用专门的配置器,用-i命令和配置器号运行程序。例如,如果你想使用上述Ethernet配置器,用windump -i 2。这要比通过GUID向配置器提交简单得多,但是要注意如果新硬件或软件配置器增加,那么配置器号不是保持固定不变的。
Windump具有通过详细标准过滤已记录数据的能力――详细的网络协议,主机或端口――通常在命令列中有详细说明。其中的语法相当复杂。在程序文件中有详细解释,这有一些例子:
windump -i 2 port 80
通过端口80从界面#2记录所有流量
windump -i 2 host im-chat.com
记录所有从the host im-chat.com.或来或到界面#2的流量
windump -i 1 net 127
这些参数也可以自由组合。
输出记录
默认情况下,程序的输出记录存在控制台。除非,你使用程序仅仅是为了观察网络流量,你都想用-w<filename> 命令将结果记录到文件。默认情况下,程序用这个名字记录已存在的文件,所以注意不要用这种方式擦掉已记录的数据!
如果你打算在程序运行时查看输出文件,用-U选项。它使得程序将每一已接收信息包写到输出文件中。默认情况下,程序为数据保留1MB的缓存空间。
默认情况下,windump只记录每个信息包的标题,不是full payload。-s 0选项使程序为每个信息包堆积整个raw payload。如果你和-A选项一起用,你可以以ASCII格式记录结果。例如,用这种方式记录网页,服务器会提供可读形式,不会以gzip/deflate形式发送记录。
另一个有用的选项, -C <filesize>,将数据记录到multiple files,每一个文件的长度都不多过<filesize>。每一个连续文件是递增编码的。<filesize>是以MB校对;如果你用-C 5,每一个文件的长度都将是5,000,000字节。
当你停止程序(通过点击Ctrl-Break)时,程序向控制台提交一份报告列出所记录、阻止、丢弃(由于缺少缓存空间)的信息包数。如果程序开始丢弃信息包,你可以向记录缓冲器增加分配空间,通过-B <size>命令,其中<size>是分配的千字节数。默认缓存大小是1MB。
高端性能
WinDump一个更强有力的用途就是它能通过IPsec将已加密的网络数据流解密。这不是简单的操作,她要求你有IPsec加密的ESP密匙,同时将tcpdump应用软件与密码使用法选项结合才能解密(一些本文以外的内容)。
如果你想将有滤镜参数的外部文件列入清单,你可以用-F <filename>选项。注意这会使程序忽略命令列中提供的任何滤镜参数。
最后,如果你想使程序阅读、过滤之前已标记的数据而不是网络适配器上的现时数据,使用-r <filename>选项。 |