文/甘冀平 系统管理员在维护计算机网络时,担忧的不是这里或那里出现的故障,担忧的是故障发生时,不知道采取何样的工具或方法在案发现场采集何样的信息。本文就为大家介绍故障采集方面的工具和方法,旨在帮助系统管理员从"案发现场"及时、全面地收集第一手资料,从而进一步采取对应措施。
一、概要
当对故障事件进行响应时,调查人员需要得知到哪里寻找线索,以及如何从受害的计算机中获取必要的信息。由于每个组织的网络都是不尽相同的,不同的基础结构、不同的商业需求、不同的安全策略,因此这里介绍的软件和方法并非完整,目的是为大家提供一个推荐选择。可使用的软件分为3类:通讯工具、收集不稳定信息的工具以及收集稳定信息的工具。由于当今病毒等恶意程序危害猖獗,我建议将这些软件拷贝到CD上直接使用以免软件不"纯"。为了更安全起见,最好将CD制作成可启动的系统。这样,真实的软件就可以在干净的系统中发挥作用了。
另外,我还要为调查人员提供一个非常重要的工具,它就是Perl。Perl可以从ActiveState免费获取,它可用于对收集的信息进行解析、合并操作,并且还可以使用Perl2Exe对本文提及的一些程序源码进行编译,生成独立执行的EXE文件。
二、通讯工具
当调查一个故障事件时,调查人员需要在尽可能少改变受害计算机数据的情况下收集到它的当前状态信息,然后将这些信息保存到一个称为诊断工作站的计算机中。到目前为止,能实现这个目的的最佳软件是netcat,它被美誉为这方面软件中的"瑞士军刀"。Netcat的主程序是nc.exe,使用的基本思路是:在诊断工作站上使用netcat建立监听服务,在受害计算机上使用netcat发送信息给诊断工作站。我们来看一个例子:
在诊断工作站上执行命令:nc
-l -p 12345 >
victim.txt,这样就在该计算机的12345端口上建立一个监听服务,监听到的信息将保存到文件victim.txt中。
在受害计算机上执行命令:nc
xx.xx.xx.xx
12345,其中xx.xx.xx.xx表示诊断工作站的IP地址,然后,调查人员将需要保存的信息输入,最后按F6完成输入,退出程序。这时,诊断工作站上的nc程序也将终止,victim.txt中就保存了调查人员在受害计算机上输入的一切内容。
调查人员要注意的是,netcat传送的信息没有任何加密措施,这样,如果网络中存在一个嗅探器(sniffer),那么就可能造成信息泄漏。不过没关系,Farm9公司的cryptcat软件可以完成netcat的所有功能,并且对传送信息进行了加密处理,就是说:cryptcat=
netcat +
encryption。cryptcat的使用方法与netcat完全相同,在上面的例子中将"nc"替换为cryptcat的执行文件即可。
另外,调整人员关心的一个重要信息是收集信息的时间,这可以从在诊断工作站上生成的诊断文件的创建时间清楚地得知。
三、收集不稳定信息的工具
所谓不稳定信息,就是和计算机当前状态有关的系统信息,当经过一段时间或者计算机重新启动后,这些信息就有可能改变。当故障事件发生时,调查人员必需尽快地收集这些信息。这些不稳定信息及相应采集软件和方法包括:
1、进程运行信息
调查人员感兴趣的第一个不稳定信息是受害计算机的进程运行状况,我们可以使用下面的几种软件来获取相关信息:
Pslist.exe:产自SysInternals公司,提供一个全面的进程信息列表,包括进程的PID、内核时间(kernel
time)、用户时间(user time)以及内存使用状况。来看看一个运行实例图示:
点击小图放大
Pulist.exe:出自NT Resource
Kit,列出每个进程的PID标识和用户。
Fport.exe:产自FoundStone,列出系统中所有打开的TCP/IP和UDP端口,以及它们对应应用程序的完整路径、PID标识、进程名称等信息。来看看一个运行实例图示:
点击小图放大
Listdlls.exe:产自SysInternals,列出系统中每个进程使用中的DLL文件信息,包括基地址、大小、版本、DLL文件的完整路径。来看看一个运行实例图示:
点击小图放大
Psloggedon.exe:产自SysInternals,报告本地登录受害计算机的用户信息,以及共享资源信息。来看看一个运行实例图示:
点击小图放大
Psuptime.exe:产自SysInternals,显示系统运行的时间。来看看一个运行实例图示:
点击小图放大
Pclip.exe:产自UnxUtils.zip,可以将剪贴板的内容发送到标准输出设备。
我们也可以通过管道命令联合使用Pclip和netcat或cryptcat,比如:在诊断工作站执行命令"nc -l -p 12345
> c:\caseid\\pclip.dat",负责接收输出信息;在受害计算机执行命令"pclip \| nc
12.34.56.78
12345"收集剪贴板信息。
2、待执行任务信息
受害计算机上有可能运行了AT命令,因此调查人员有必要执行"AT"命令,确认一下受害计算机是否还有任务等待运行。
3、网络连接信息
要获取网络连接信息,不需要另外的工具直接使用Windows内置命令就可以实现,它们是"netstat
-a","nbtstat
-c"以及带各种参数的net命令。将它们通过管道命令与netcat或cryptcat联合使用,输出信息就可以方便地传送到诊断工作站。
4、网络通讯信息
网络通讯信息是指受害计算机所在系统和其他系统间数据传输信息。我们可以使用几个免费的嗅探器程序方便地在诊断工作站上建立监听服务以接收这方面的信息。产自winpcap的几个软件非常有用,它们是WinDump、Analyzer、Ethereal以及snort,这些软件能够捕捉网络通信、读取并翻译来自其他系统的tcpdump类型二进制数据包。
|