“目前流行的木马,特别是盗取密码的木马,差不多都是这样的。”我的好奇心又被勾起来了,“这个木马有什么特别之处吗?”
“这是一个应用了远程线程动态嵌入技术的dll木马,它通过提升权限的方法把interinfo.exe这样的系统进程当成自己的宿主进程。因此发现和查杀都十分的困难。”
“远程?线程?动态?dll?”秦思伟一下子听到这么多术语,表情一片茫然。
“动态嵌入是dll木马使用的一种技术,而远程线程技术是实现动态嵌入的一种方式。”我只好用比较通俗的语言解释给他,“理论上来说,每个进程都有自己的私有内存空间,别的进程是不允许对这个私有空间进行操作的。但是实际上,黑客仍然可以利用诸如动态嵌入这些方法进入并操作进程的私有空间,也就拥有了与那个远程进程相当的权限。这样做的目的,是让木马的核心代码运行于别的进程的内存空间,这样不仅能很好地隐藏自己,也能更好地保护自己。”
“正确。”丁博士颔首微笑,“不过这个木马最让我吃惊的地方是,它还采用了类似三线程的机制实现自我保护。”
“不是远程线程吗?怎么又三线程了?”秦思伟越听越糊涂了。
“是这样的。”我继续给他扫盲,“最近一段时间,很多黑客采用了三线程这种技术保护自己的木马。简单地说,就是将想执行的代码放在进程的主线程里,然后再生成两个辅助线程,一个驻留在主进程体内,另一个通过创建远程线程驻留到其他正在运行的进程体内。驻留主进程体内的辅助线程同时观察注册表和远程进程的情况。驻留在远程进程体内的辅助进程则监视主进程的运行情况。如果主进程被kill了,它会确认程序的可执行文件是否也被删除掉了。如果系统目录下的可执行文件不存在了,则用备份的文件恢复可执行文件,然后再重新启动。不过博士,dll木马本身是非进程的木马,怎么会又用到三线程呢?”