巧用系统命令,清除深层木马

  • 来源:PC电脑王
  • 关键字:木马,网络连接,记事本
  • 发布时间:2015-10-10 10:19

  同病毒相比,木马(尤其是DLL木马)则阴险得多,木马的活动并不张扬,而是悄无声息地潜入系统,并开启后门为黑客打开入侵通道,让其可以轻松对本机进行各种遥控操作,执行注入盗窃数据,拦截信息等勾当。一旦您的机密信息被盗,那么就会带来很大的损失。虽然使用杀软可以拦截木马,但是杀软并非万能,对于免杀型木马来说,突破杀软防线并非难事。看来,仅仅依靠杀软还是不够的,这就要求我们能够发现并及时清除深层木马。

  这里就以对付DLL木马为例,来说明发现和清除之道。这类木马将自身的关键代码封装在DLL动态库中,然后由主控程序将木马DLL文件非法插入到系统的核心进程中,同时主动连接远程控制端电脑,让防火墙形同虚设。木马的最大特点就是开启后门,要开启后门就必然打开特定的端口。在CMD窗口中运行“netstat-ano”命令,可以查看网络连接信息。

  不过,在很多情况下,面对一大串的连接信息,会让人感到眼晕。其实,借助简单的命令,就可以让可疑连接迅速浮出水面。在系统运行正常时,执行“netstat–ano>c: est etone.txt”命令,将所有的网络连接信息导出到“netone.txt”文件中。当怀疑有木马活动时,执行“netstat–an>c: est ettwo.txt”命令,获得所需的监控文件。之后执行“fcnetone.txtnettwo.txt”命令,对两者的内容进行比较,就可以大大缩小查找的范围。这就能看到当前系统中所有网络连接信息,包括源地址和端口号、目标地址和端口号、连接状态、进程的PID号等内容,据此可以很容易发现可疑的网络连接。

  例如,在本例中可以清晰的看到一个可疑的TCP连接信息,在本地端口打开了9100端口,和远程地址xxx.xxx.140.109的3060端口建立了网络连接,建立该连接的是PID为1736的进程。根据查到的进程PID号,打开Windows任务管理器,切换到“进程”面板,点击菜单“查看”→“选择列”,在列名称选择窗口中勾选“PID”,确认后在“进程”面板中就能查看到所有进程的PID号了,很快就找到了PID为1736的进程名,原来是系统进程“Svchost.exe”,而该进程默认是不会开启可疑端口的,肯定是木马程序将自身注入到该系统进程中,并利用反弹连接主动和远程控制端建立联系,达到非法控制本机的目的。

  到底是什么可疑程序隐藏到了“Svchost.exe”进程中呢?在CMD窗口中运行命令“Tasklist/m”,Windows会逐一列出每一个进程的名称,PID号,以及其中包含的所有模块信息。根据名称为1736的PID号,找到“Svchost.exe”进程,将“Svchost.exe”进程中包含的模块信息复制粘贴到记事本中,将多余的空格和逗号删除,按一行一个文件名的顺序排列。然后将其保存,假设文件名为“Svchost.txt”。

  为了找出隐藏在其中的可疑模块,可以到其他正常的电脑中提取对应的的模块信息(最好在WindowsXP刚刚安装之后,就保存所有系统进程包含的模块信息),将提取的模块信息经过同样处理后保存,假设文件名为“Svchost0.txt”。在CMD窗口中运行命令“fcSvchost.txt Svchost0.txt”,很快就缩小了查找的范围,最终将可疑点集中到了“winsrv32.dll”文件上。同时在Windows的任务管理器中发现“kndriver.exe”和“service.exe”两个可疑程序,当试图终止上述两个可疑进程时,发现其具备相互守护功能,无法手工关闭。看来,这两个可疑进程很有可能是木马的帮凶。

  打开文件夹选项窗口,确认选择显示所有的文件和文件夹项。利用Windows的查找功能,确定上述可疑文件都位于“c:windowssystem32media”文件夹中,当试图删除该文件时,系统提示该文件正在使用无法删除。同时运行“Msconfig.exe”程序,发现在注册表启动项中存在和可疑程序“kndriver.exe”相关的启动项。木马既然可以自动运行,而且可以将木马DLL模块插入到系统进程中,一定是通过与之关联的启动项目实现的。但是运行“msconfig.exe”程序,在系统配置实用程序窗口中打开“启动”面板,在其中没有发现可疑项目。在“服务”面板中勾选“隐藏所有Microsoft服务”项,在第三方服务列表中仔细查看,同样没有发现可疑的服务项目。

  看来,该DLL木马很有可能是通过驱动文件的形式加载的。果然,运行“msinfo32.exe”程序,在系统信息窗口左侧点击“签署的驱动程序”项,在右侧窗口中显示所有的第三方驱动程序信息,因为一般的软件是不会随意在系统中安装驱动的。

  在运行正常的主机上打开上述系统信息窗口。列出驱动文件信息。两者对比,很快就发现了名为“netadapter”的驱动程序极为可疑,应该是该驱动文件从系统底层执行加载操作,将木马DLL模块插入到系统进程中。在注册表编辑器中打开“HKEY_LOCAL_MACHINESYSTEMCurrent Control SetServices”路径,在其中果然找到了名为“netadapter”的驱动项目,在右侧的“ImagePath”栏发现了该驱动文件的存储路径,位于“C:WindowsSystem32drivers”路径中,其名称为“netnupio.sys”。

  确定了木马藏身地后,可以进入安全模式,将上述“kndriver.exe”、“service.exe”、“netnupio.sys”、“winsrv32.dll”等可疑文件全部删除。也可以使用WinPEU盘引导系统进入WinPE环境,执行手工清除操作。例如,先将可疑文件“winsrv32.dll”删除,接着依次删除其余的可疑文件即可。然后重新进入电脑,连接上网后重新检查网络连接信息,发现上述可疑网络连接已经消失了。运行“msconfig.exe”程序,将和木马相关的启动项删除。进入注册表编辑器,打开“HKEY_LOCAL_MACHINESYSTEMCurrent Control SetServices”路径,将木马创建的“netadapter”驱动项目删除,这样就彻底清除了该DLL木马。

  文/刘景云

关注读览天下微信, 100万篇深度好文, 等你来看……