以前有过一款国产木马,它有个好听的名字,叫做“广外女生”。这个木马是广东外语外贸大学“广外女生”网络小组的作品,它可以运行于WIN98,WIN98SE,WINME,WINNT,WIN2000或已经安装Winsock2.0的Win95/97上。与以往的木马相比,它具有体积更小、隐藏更为巧妙的特点。可以预料,在将来的日子里它会成为继“冰河”之后的又一流行的木马品种。
由于“广外女生”这个木马的驻留、启动的方法比较具有典型性,下面我就通过对这种新型木马的详细分析过程来向大家阐述对一般木马的研究方法。下面的测试环境为Windows2000中文版。
一、所需工具
1.RegSnap v2.80 监视注册表以及系统文件变化的最好工具
2.fport v1.33 查看程序所打开的端口的工具
3.FileInfo v2.45a 查看文件类型的工具
4.ProcDump v1.6.2 脱壳工具
5.IDA v4.0.4 反汇编工具
二、分析步骤
一切工具准备就绪了,我们开始分析这个木马。一般的木马的服务器端一旦运行之后都会对注册表以及系统文件做一些手脚,所以我们在分析之前就要先对注册表以及系统文件做一个备份。
首先打开RegSnap,从file菜单选new,然后点OK。这样就对当前的注册表以及系统文件做了一个记录,一会儿如果木马修改了其中某项,我们就可以分析出来了。备份完成之后把它存为Regsnp1.rgs。
然后我们就在我们的电脑上运行“广外女生”的服务器端,不要害怕,因为我们已经做了比较详细的备份了,它做的手脚我们都可以照原样改回来的。双击gdufs.exe,然后等一小会儿。如果你正在运行着“天网防火墙”或“金山毒霸”的话,应该发现这两个程序自动退出了,很奇怪吗?且听我们后面的分析。现在木马就已经驻留在我们的系统中了。我们来看一看它究竟对我们的做了哪些操作。重新打开RegSnap,从file菜单选new,然后点OK,把这次的snap结果存为Regsnp2.rgs。
从RegSnap的file菜单选择Compare,在First snapshot中选择打开Regsnp1.rgs,在Second snapshot中选择打开Regsnp2.rgs,并在下面的单选框中选中Show modifiedkey names and key values。然后按OK按钮,这样RegSnap就开始比较两次记录又什么区别了,当比较完成时会自动打开分析结果文件Regsnp1-Regsnp2.htm。
看一下Regsnp1-Regsnp2.htm,注意其中的:
Summary info:Deleted keys: 0Modified keys: 15New keys : 1 |
意思就是两次记录中,没有删除注册表键,修改了15处注册表,新增加了一处注册表。再看看后边的:
File list in C:\WINNT\System32\*.*Summary info:Deleted files: 0Modified files: 0New files : 1New filesdiagcfg.exe Size: 97 792 , Date/Time: 2001年07月01日 23:00:12--------------Total positions: 1 |
这一段话的意思就是,在C:\WINNT\System32\目录下面新增加了一个文件diagcfg.exe,这个文件非常可疑,因为我们在比较两次系统信息之间只运行了“广外女生”这个木马,所以我们有理由相信diagcfg.exe就是木马留在系统中的后门程序。不信的话你打开任务管理器看一下,会发现其中有一个DIAGCFG.EXE的进程,这就是木马的原身。但这个时候千万不要删除DIAGCFG.EXE,否则系统就无法正常运行了。
木马一般都会在注册表中设置一些键值以便以后在系统每次重新启动时能够自动运行。我们再来看看Regsnp1-Regsnp2.htm中哪些注册表项发生了变化,凭借经验应该注意到下面这条了:
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\exefile\shell\open\command\@Old value: String: ""%1" %*"New value: String: "C:\WINNT\System32\DIAGCFG.EXE "%1" %*" |
这个键值由原来的"%1" %*被修改为了C:\WINNT\System32\DIAGCFG.EXE "%1" %*,因为其中包含了木马程序DIAGCFG.EXE所以最为可疑。那么这个注册表项有什么作用呢?
它就是运行可执行文件的格式,被改成C:\WINNT\System32\DIAGCFG.EXE "%1"。%*之后每次再运行任何可执行文件时都要先运行C:\WINNT\System32\DIAGCFG.EXE这个程序。
原来这个木马就是通过这里做了手脚,使自己能够自动运行,它的启动方法与一般普通木马不太一样,一般的木马是在
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run* |
键里增加一个键值,使自己能够自启动,但这种方法被杀毒软件所熟知了,所以很容易被查杀。而“广外女生”这个木马就比较狡猾,它把启动项设在了另外的位置。
现在我们已经掌握了这个木马的驻留位置以及在注册表中的启动项,还有重要的一点就是我们还要找出它到底监听了哪个端口。使用fport可以轻松的实现这一点。在命令行中运行fport.exe,可以看到:
C:\tool\fport>fportFPort v1.33 - TCP/IP Process to Port MapperCopyright 2000 by Foundstone, Inc.http://www.foundstone.comPid Process Port Proto Path584 tcpsvcs -> 7 TCP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 9 TCP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 13 TCP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 17 TCP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 19 TCP C:\WINNT\System32\tcpsvcs.exe836 inetinfo -> 80 TCP C:\WINNT\System32\inetsrv\inetinfo.exe408 svchost -> 135 TCP C:\WINNT\system32\svchost.exe836 inetinfo -> 443 TCP C:\WINNT\System32\inetsrv\inetinfo.exe8 System -> 445 TCP464 msdtc -> 1025 TCP C:\WINNT\System32\msdtc.exe684 MSTask -> 1026 TCP C:\WINNT\system32\MSTask.exe584 tcpsvcs -> 1028 TCP C:\WINNT\System32\tcpsvcs.exe836 inetinfo -> 1029 TCP C:\WINNT\System32\inetsrv\inetinfo.exe8 System -> 1030 TCP464 msdtc -> 3372 TCP C:\WINNT\System32\msdtc.exe1176 DIAGCFG -> 6267 TCP C:\WINNT\System32\DIAGCFG.EXE~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 注意这行!!!836 inetinfo -> 7075 TCP C:\WINNT\System32\inetsrv\inetinfo.exe584 tcpsvcs -> 7 UDP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 9 UDP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 13 UDP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 17 UDP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 19 UDP C:\WINNT\System32\tcpsvcs.exe584 tcpsvcs -> 68 UDP C:\WINNT\System32\tcpsvcs.exe408 svchost -> 135 UDP C:\WINNT\system32\svchost.exe8 System -> 445 UDP228 services -> 1027 UDP C:\WINNT\system32\services.exe836 inetinfo -> 3456 UDP C:\WINNT\System32\inetsrv\inetinfo.exe |
我