DLL木马是依靠DLL文件来作恶的,木马运行时不会在进程列表出现新的进程,而且很多DLL木马还插入到系统关键进程中(无法终止),即使能被杀毒软件检测出来也无法查杀,这给系统安全带来极大的威胁。如果你的手头没有趁手的杀马兵器,抄起办公的Excel我们也可以肉搏一番。下面就看看我们是如何用Excel对付这种插入lsass.exe进程的木马吧!
第一步:查找被感染的进程
近日开机上网一段时间后就觉得网速特别的慢,于是便运行"netstat -a -n -o"查看开放的端口和连接,其中进程PID为580发起的连接极为可疑:状态为ESTABLISHED,表示两台机器正在通信(见图1)。通过任务管理器可以知道这个进程为lsass.exe,根据进程的解释,lsass.exe是用于微软Windows系统的安全机制,它用于本地安全和登陆策略,显然这个进程是不需要开放端口和外部连接的,据此判断该进程极可能插入DLL木马。如果牧马者当前没有进行连接,还可以通过端口状态判断是否中招,如TIME_WAIT的意思是结束了这次连接,说明端口曾经有过访问,但访问结束了,表明已经有黑客入侵过本机。 LISTENING表示处于侦听状态,等待连接,但还没有被连接,不过只有TCP协议的服务端口才能处于LISTENING状态。
小提示:判断是否中招的前提是要找出被感染的进程,按被插入进程的类别分,DLL木马大致可以分为:
1.插入常用进程,如Notepad.exe、Iexplorer.exe(此类木马的判断很简单,开机后不启动任何程序,打开任务管理器如果发现上述进程,那就可以判断中招了)。
2.插入系统进程,如Explorer.exe、lsass.exe(由于每台电脑开机后都有上述的进程,具体可以通过查看端口和进程本身特性加以判断,比如本机的lsass.exe、winlogon.exe、explorer.exe就不会开放端口连接)。
3.对于插入本身就开放端口进程如alg.exe、svchost.exe,需要通过连接状况、连接IP、调用DLL综合加以判断。
第二步:追查木马真凶
知道被插入DLL木马的进程,我们就可以通过比较进程调用的DLL模块来甑别。
1.到其它正常电脑上启动命令提示符运行"tasklist /m /fo list >G:dll1.txt",将当前进程加载所有DLL文件以列表形式输出,然后打开dll.txt并复制lsass.exe加载的DLL文件列表(见图2)。
2.打开Excel,将正常电脑和中招电脑lsass.exe加载的DLL文件复制到A、B列,由于Excel有序号,通过序号就可以轻易发现两个lsass.exe加载的DLL文件数量不同(64和68)。现在将B列字体设置为红色,剪切B列内容并粘贴到A列,单击Excel的“数据/排序”,将数据重新排序后,木马文件就在连续红色但和上格不相同的DLL文件中,分别是mswsock.dll、PSAPI.DLL、 wshtcpip.dll、share.dll。
小提示:
如果无法确定哪个进程被插入木马,可以先输出所有DLL文件,然后在Excel中排序和正常状态DLL文件比较,依次找出新增的DLL文件一一排查。
第三步:删除木马文件
从上可以知道DLL木马就在上述多出的4个文件中,现在通过搜索功能找到这些文件(DLL文件大多在系统目录,搜索范围可限制在此),并通过查看属性最终找到真凶为c:windowssystem32share.dll.现在进入安全模式将share.dll删除,然后根据它的创建时间、大小找到木马的同伙并删除。一般微软系统DLL文件都有版本标签,而且文件日期大多是一样的,可以通过这些属性判断。
小提示:对于插入notepad、IE、explorer.exe等进程的dll木马,可以将进程终止后直接删除dll木马。
第四步:做好备份,防患于未然
相对来说,本例被插入木马的系统进程比较容易判断,但是对插入系统本身就开放端口的进程如svchost.exe,判断起来就比较困难。因此我们平时要用Tasklist命令做好常见系统进程DLL文件备份,这样就可以在怀疑自己中招时,重启并关闭任何无关程序,然后通过Excel排序快速找到木马真凶!
注意:系统有多个svchost.exe进程,但是它们进程pid是不同的,需要分开备份。