下载Currports

图2 将连接中断
小知识:端口状态参数含义
LISTENING表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接,只有TCP协议的服务端口才能处于LISTENING状态。
ESTABLISHED的意思是建立连接,表示两台机器正在通信。
TIME_WAIT的意思是结束了这次连接。说明端口曾经有过访问,但访问结束了。
SYN_SENT是本机向其它计算机发出的连接请求,一般这个状态存在的时间很短。
②.分析
既然是插入进程的DLL木马,通过查看“winlogon.exe”进程加载DLL模块应该可以找出“真凶”。查看模块利用免费软件“prcmgrWindows进程管理器”,运行软件后选中进程并切换到“进程模块”选项卡,接着单击“导出列表”,将加载列表导出为TXT文件(如图3)。
下载Windows进程管理器

图3 将加载列表导出为TXT文件
小提示
若木马插入到“Explorer”、“Iexplorer.exe”等进程中,由于启动的应用程序不同,则加载的DLL模块也是不同的,为便于比较最好关闭所有不必要的程序再进行导出。
③.查找木马
用上文的方法到另一台电脑中同样导出“winlogon.exe”进程加载的DLL模块文件,用记事本打开这两个文件比较,可以看到中招电脑上进程模块比正常电脑多出14个(如图4),现在一一比较将相同模块文件删除后,顺利找到多出的14个DLL文件,经查看文件属性获知,“e:\windows\rundll.dll”为非微软“制造”,它就是DLL木马。

图4 可以看到中招电脑上进程模块比正常电脑多出14个
小提示
如果是系统正常的DLL文件,文件属性中都会有一个“版本”标签,公司名称为“Microsoft Corporation”,创建日期是“2001年9月5日,:13:00”,可根据这一特性来判断是否为木马文件。如本例的“rundll.dll”木马,创建日期“2004年11月13日, :11:59”,修改日期则是“2001年9月5日, :13:00”,也就是说还没创建文件时就被修改了,显然是非法文件!
④.删除木马
由于“winlogon.exe”是系统关键进程无法终止,所以也无法直接删除“rundll.dll”,这里使用系统权限设置来禁止“winlogon.exe”的调用。打开“我的电脑”,单击“工具→文件夹选项→查看”,然后在“高级设置”选项下去除“简单文件共享(推荐)”前的小勾;随后找到“rundll.dll”右击选择“属性”命令,点击“安全”标签,接着单击“高级”项,在弹出的窗口清除“从父项继承那些可以应用到子对象的权限项目,包括那些在此明确定义的项目”复选框,最后单击删除,去除所有继承的权限(如图5),依次单击“确定”后退出,这样系统中就没有任何进程可以调用“rundll.dll”,重启后重新勾选“从父项继承那些可以应用到子对象的权限项目权限”,然后将其删除。

图5 去除所有继承的权限
小提示
上述权限操作仅对采用NTFS分区的系统有效,对于采用FAT32分区的系统,可以重启后进入纯DOS将木马文件删除。如果加载DLL木马的进程可以被终止,如嵌入“Explorer.exe”木马,只要将进程终止,然后找到文件将它删除即可。
⑤.修复自启动
DLL木马会通过注册表键值进行自启动,查看自启动菜单推荐大家使用“Autoruns8.13汉化版”,它也是一款免费工具,可以查看系统所有启动项目。运行后单击“登录”,可以看到[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer\Run]下,有一“Windows服务”启动项极为可疑(加载的是“E:\WINDOWS\msagent\msymrj.com”),右击选择“转到具体位置”(如图6)。此时程序将直接打开注册表,随后将该键值删除,至此DLL木马顺利被查杀。那么“msymrj.com”与“rundll”木马究竟是什么关系?这其实是一对守护进程,用于守护嵌入“winlogon.exe”进程的木马,如果发现被插入的进程被终止,立刻重新启动该进程。不过本例的“winlogon.exe”进程如果被终止,系统会重新启动,它也帮不上什么忙了。