近日笔者的电脑出现了奇怪现象,在正常使用时,突然会弹出一些乱七八糟的网页,而且明明没有执行什么操作,硬盘灯和ADSL猫上的数据灯却不停地闪烁,系统的运行速度也明显降低了。看来肯定是有病毒或者木马程序在捣乱了。启动360杀毒软件,对系统进行扫描,但是没有发现染毒的迹象。看来仅仅依靠杀毒软件,并不能保证系统决定绝对安全,只有通过手工来查找隐藏很深的恶意程序了。
病毒,木马等恶意程序要想自动运行,必须将自身隐藏在启动项中才行。运行“msconfig.exe”,在启动面板中并没有找到可疑的启动项目,在“服务”面板中勾选“隐藏所有的Microsoft服务”,仅仅显示非系统服务,在其中也没有发现疑点,看来病毒并没有采用常规的启动方式。
于是笔者打开资源管理器,在系统各个要害文件夹中寻觅恶意程序的踪迹,在系统目录中层层搜索,并没有发现可疑文件。当无意中打开“c:\program files”文件夹时,在其中发现了一个名称为“winstart.bat”的文件,该目录只是用来存放安装程序的,怎么会多出一个批处理文件呢?打开该批处理文件,发现其包含一行命令“Rund1132 she1132.dll,Control Rundll odbccp32.cpl“项,原来是通过Rund1132.dll文件调用“she1132.dll”中的“ControlRundH”函数来启动“dbccp32.cpl”运行的,CPL文件是控制面板中的程序项,是用来配置ODBC数据源的。直接运行该批处理文件,却没有任何反映,看来这里面一定有问题,其中的“dbccp32.cpl”一定是伪装过的病毒文件。
那么该处理文件是如何自动运行的呢?打开注册表编辑器,在其中点击“Ctrl+F”键,搜索 “win start.bat”字符串,果然在“HKEYCURRENT_USERYSoftwareYMicrosoft\Windows\CurrentVersion\Group Policy Objects\{3FB38643-17AF-4989-9367-D2C34973EF6C Us er\So ftware\Microsoft\WindowskCurrentVersion\P olicies\Explorer\Run”路径下,发现了名称为“1”的键值名,双击该键值名,发现其内容为“c:\program files\winstart.bat”。原来“winstart,bat“是通过通过组策略中的系统登录程序项启动的,怪不得“msconfig.exe”没有发现。
木马将自身伪装成了“odbccp32.cpl”控制面板程序,并将原本正常的“odbccp32.cpl”替换掉,之后隐蔽启动,难怪杀毒软件找不到其行踪。于是重启电脑进入安全模式,进入“c:\windows\system32”文件夹,将其中的虚假“odbccp32.cpl”删除。同时将上述注册表中的相关键值名彻底删除。之后重新启动系统,该木马才被彻底清除,系统恢复了正常运行状态,以上各种奇怪故障终于消失了。
经过上述杀毒过程,可以看到如果木马将自身伪装成控制面板程序运行的话,由于其隐蔽的手段特殊,很容易躲过杀毒软件的查杀。实际上,控制面板中的所有程序项其执行文件都是独立的,存储在系统路径中的“System32”文件夹中。每一个控制面板程序都和一个“.cpl”文件对应。例如“电源管理”就和“powercfg.cpl”程序关联。如果木马将正常显示的,太常用的控制面板程序对应的CPL文件替换掉,然后将自身伪装同样的显示图标,就可以“合法”的藏身在控制面板中了。因此,只要在启动中发现使用上述方法启动可疑CPL文件的命令,最好将其清除,并找到对应的CPL文件一并删除。这样就可以避免木马通过控制面板侵入系统。