随着计算机的发展,木马技术也在不停的发展,以冰河为首的老一代经典木马已经开始慢慢消失在经典木马行列中,取而代之的则是新一代的嵌入式木马,也就是通常所说的dll型注入式木马,其运用了动态嵌入技术,动态嵌入最常见的是最常见的是钩子、API以及远程线程技术,而现在大多
让病毒无法遁形 文件对比查杀嵌入式木马(上)
随着计算机的发展,木马技术也在不停的发展,以冰河为首的老一代经典木马已经开始慢慢消失在经典木马行列中,取而代之的则是新一代的嵌入式木马,也就是通常所说的dll型注入式木马,其运用了动态嵌入技术,动态嵌入最常见的是最常见的是钩子、API以及远程线程技术,而现在大多数的嵌入式木马都是运用远程线程技术把自己本身挂在一个正常的系统进程中,通常这一类木马清除起来比较困难。
嵌入式木马之迷
那到底什么是嵌入式dll型木马呢?DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,而dll木马的标准执行入口为dllmain,dllmain包含了木马的运行代码,或者其指向木马的执行模块,在dll木马中通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间被称为“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,这就是嵌入式dll木马。
实战文件对比法
以上讲了这么多方法来揪出嵌入式木马,也许大家看着这些操作无从做起,以下我将给出文件对比的主要步骤。
◆应用环境◆
Windows2000 pro,d:/test文件夹的对比
{ad}◆实战流程◆
步骤一:进入d盘test文件夹,对test文件夹下内容进行记录,运行CMD--转换目录到d:/test--dir *.exe>exe.txt & dir *.dll>dll.txt,如下图所示:
这样我们就会在d:/test下生成exe和dll两个记事本文件,内容分别如下:
exe.txt文件:
驱动器 D 中的卷是 娱乐
卷的序列号是 6078-F043
D:\test 的目录
2005-12-0411:59a 26,772,480 dx81setup.exe
2005-12-0411:59a 473,600 g5setup解码.exe
2 个文件 27,246,080 字节
0 个目录 505,454,592 可用字节
dll.txt文件:
驱动器 D 中的卷是 娱乐
卷的序列号是6078-F043
D:\test 的目录
2005-03-3102:52a 36,924 php5apache.dll
2005-03-3102:52a 36,925 php5apache2.dll
2005-03-3102:52a 53,314 php5apache_hooks.dll
3 个文件 127,163 字节
0 个目录 505,454,592 可用字节
让病毒无法遁形 文件对比查杀嵌入式木马(下)
步骤二:我向test文件夹中拷贝几个exe和dll文件进去,再次重复步骤一,得到exe1.txt和dll1.txt两个文件,同样他们位于test文件夹中。
步骤三:比较exe.txt和exe1.txt文件以及dll.txt和dll1.txt文件,运行CMD--fc exe.txt exe1.txt>change.txt & fc dll.txt dll1.txt>change.txt,如下图所示:
{ad}对比后得到changedll.txt和changeexe.txt两个文件内容如下:
changedll.txt:
正在比较文件 dll.txt 和 DLL1.TXT
***** dll.txt
2005-03-3102:52a 36,924 php5apache.dll
***** DLL1.TXT
2005-03-3102:52a 417,792 fdftk.dll
2005-03-3102:52a 90,112 fribidi.dll
2005-03-3102:52a 346,624 gds32.dll
2005-03-3102:52a 36,924 php5apache.dll
*****
***** dll.txt
2005-03-3102:52a 53,314 php5apache_hooks.dll
3 个文件 127,163 字节
0 个目录 505,454,592 可用字节
***** DLL1.TXT
2005-03-3102:52a 53,314 php5apache_hooks.dll
6 个文件 981,691 字节
0 个目录 475,787,264 可用字节
*****
其中我们只需看上面我加粗的部分,这部分内容为增加的文件。加粗部分上面一段dll.txt内容只显示一行信息2005-03-31 02:52a 36,924 php5apache.dll,其他文件内容信息省略了,这一行内容就代表了dll.txt中的内容,而加粗这部分DLL1.TXT中的2005-03-31 02:52a 36,924 php5apache.dll就代表了dll.txt中所有内容,剩下的就是我加粗了的文件了,即增加了的文件。
changeexe.txt:
正在比较文件 exe.txt 和 EXE1.TXT
***** exe.txt
2005-12-0411:59a 473,600 g5setup解码.exe
2 个文件 27,246,080 字节
0 个目录 505,454,592 可用字节
***** EXE1.TXT
2005-12-0411:59a 473,600 g5setup解码.exe
2005-12-0412:02p 13,058,048 mpsetup.exe
2004-10-3009:11a 11,761,184 RealPlayer10-5GOLD_cn.EXE
2005-12-0412:02p 3,963,392 Winamp278cn_DFX_Blue.EXE
5 个文件 56,028,704 字节
0 个目录 475,787,264 可用字节
*****
以上增加了的内容为:
2005-12-0412:02p 13,058,048 mpsetup.exe
2004-10-3009:11a 11,761,184 RealPlayer10-5GOLD_cn.EXE
2005-12-0412:02p 3,963,392 Winamp278cn_DFX_Blue.EXE
步骤四:判断以上增加的内容是否是自己,曾经安装在test文件夹中的exe或者dll文件,如果不是则删除即可。
结束语
总而言之要查杀这类嵌入式木马最有效的办法就是文件对比法,除了上面介绍的一些缩小查找范围的办法外,用户还可以自己再发挥想象把范围缩至最小,从而更加准确的查杀此类嵌入式木马,让嵌入式木马在我们面前无法遁形。
网友评论