要弄清楚什么是动态嵌入式DLL木马,我们必须要先了解Windows系统的另一种“可执行文件”——DLL,DLL是Dynamic Link Library(动态链接库)的缩写,DLL文件是Windows的基础,因为所有的API函数都是在DLL中实现的。DLL文件没有程序逻辑,是由多个功能函数构成,它并不能独立运行,DLL文件一般都是由进程加载并调用的。因为DLL文件不能独立运行,所以在进程列表中并不会出现DLL.所以木马的开发者就通过编写动态嵌入式DLL木马,并且通过别的进程来运行它,那么无论是入侵检测软件还是进程列表中,都只会出现那个进程而并不会出现那个DLL木马。如果那个进程是可信进程(例如资源管理器Explorer.exe),那么就没人会怀疑DLL文件也是个木马了。从而木马就又实现了自己的隐蔽性的功能,所以,预防DLL木马也是相当重要的。
在WinNT系统,DLL木马一般都藏在System32目录下(因为System32是系统文件存放的目录,里面的文件很多,在里面隐藏当然很方便了),针对这一点我们可以在安装好系统和必要的应用程序后,对该目录下的EXE和DLL文件作一次记录:点击开始-运行;输入cmd回车-出现DOS命令行模式-输入cd\回车,再输入cd C:\Windows\System32回车,这就转换目录到了System32目录(要还是不知道怎么进入的,请参看DOS的cd命令的使用),输入命令:dir *。exe>exebackup.txt & dir *。dll>dllbackup.txt回车。这样,我们就把System32目录下所有的exe文件和所有的dll文件都记录在exebackup.txt和dllbackup.txt里面了。日后如发现系统异常而用传统的方法又查不出问题时,则要考虑是不是系统中已经潜入了DLL木马。这时我们用同样的方法将System32目录下的EXE和DLL文件记录到另外exebackup1.txt和dllbackup1.txt中,然后运行CMD-fc exebackup.txt exebackup1.txt>different.txt & fc dllbackup.txt dllbackup1.txt>different.txt(使用FC命令比较前后两次的DLL和EXE文件,并将结果输入到different.txt中),这样我们就能发现一些多出来的DLL和EXE文件,然后通过查看创建时间、版本、是否经过压缩等就能够比较容易地判断出是不是已经被DLL木马光顾了。没有是最好,如果有的话也不要直接删除掉,可以先把它移到回收站里,若系统没有异常反应再将之彻底删除。