许嵩的古风:屠“马”心得

来源:百度文库 编辑:偶看新闻 时间:2024/05/05 10:57:57

屠“马”心得

前几天,在乡下表哥家玩,农村里经常停电,好不容易等到来电,迫不急待地打开QQ与MSN,心里直嘀咕:终于可以爽爽了,可把偶给憋坏了。没想到QQ一开就弹出N个留言,其中一个第一句是“唉”一声叹息,第二句是“我把ERP服务器搞倒了”,信息是在广东一工厂当网管的老友发来的,问情况才知道老友在ERP服务器上装了个WinZip重启后问题就出来了,所有保存在硬盘上的可执行文件无法执行,当然也包括Windows系统自带的命令,例如RegEdit,CMD等等。经验与直觉告诉我服务器肯定感染了病毒或木马,并且修改了注册表,限制了一些系统命令的使用。因为是ERP服务器,熟悉工厂情况的朋友都知道如果ERP服务器瘫痪将会给工厂造成多大的影响与损失,情况不太乐观,看来不能袖手旁观了,于是决定帮朋友清掉这害群之“马”。

通过终端服务远程登陆进目标机器,发现是Win2000 Server,点开始菜单运行Cmd与RegEdit均无法执行,也无法将注册表文件导入系统,调出系统进程管理器,不看不知道,一看吓一跳,可怜这台服务器已然成了规模可观的“世界良种马养殖基地”,进程中有多个svchost服务与rundll32,仔细一看竟然有一个进程叫svchsot.exe,另外发现有几个不正常进程,一个是radmin,一个是slave.exe,一个是mscolsrv.exe,还有一个250.exe。看名字就知道radmin肯定是世界知名的远程控制软件Remote Administrator,由于是ERP服务,不敢轻举妄动,于是问朋友radmin与slave.exe是否由他本人装上的,朋友回答不知道,可能是ERP公司给他们装的,因为ERP服务器是由那个公司负责维护的。没得到什么信息,只有放手一博了。

注:如何判断进程为可疑进程?

一、首先你得对不同操作系统默认的进程有所了解,不同的操作系统都有其默认的进程与服务,如WINNT/2000/2003系统中的svchost.exe,explorer.exe,iexplore.exe等等。你得充分了解这些进程的可执行文件名,服务名,功能如何,可执行文件存放路径等信息,这些是基础,不然后面的判断方法就没有参照物。

二、病毒或木马都喜欢伪装进程名(进程注入型的病毒或后门除外)尽量使其名称看上去像系统中的某个正常的程序,以致使你感到迷惑而不能区分。没有一个病毒作者会把自己写的病毒或后门程序进程命名为类似”hack,virus,iamahack,haha”等,除非他脑子进了水。所以你得仔细比较这些进程,极有可能把病毒命名为Iexplorer.exe,注意正常的IE浏览器的名字为Iexplore.exe,或者把病毒进程命名为Explore.exe,正常的资源管理器进程是Explorer.exe。

三、有些病毒或木马喜欢把进程名命名为系统正常的程序名,但保存的位置会改变。你得留意进程的路径位置,比如在进程列表里有两个Iexplore.exe,说不定一个文件是位于%windir%,也就是Windows安装目录,一个是位于Program Files\Internet Explorer这个目录里,要知道正常的IE执行程序是保存在Program Files\Internet Explorer这个目录里的。

好了,根据上面的特点就可以把嫌疑进程初步锁定,svchsot.exe,slave.exe,mscolsrv.exe,250.exe与radmin.exe,于是试着用Windows的进程管理器结束这几个程序,发现这几个进程均无法结束掉。打开控制面板-》管理工具-》服务,发现了系统中有Remote Aadministrator与MSCoolServ两个服务在运行,手工停掉这两个服务,然后把服务改为禁用状态。再调出进程列表,发现mscolsrv.exe与radmin.exe这两个进程没有了,要在要做的就想办法结束掉其他的几个进程,由于剩下的进程没有注册为系统服务,任务管理器又无法结束掉进程,就只有借用外部的功能更为强劲的进程管理工具来杀掉这些顽固进程,但是由于病毒修改了注册表,致使保存在硬盘中的所有可执行文件无法执行,那么现在要做的就是如何解除注册表锁定,好让我能借助工具让这些系统混混滚出去。

注:如何解除注册表锁定?

一、在线修复注册表锁定

目前国内的各大反病毒厂商或其他与安全相关的站点都提供在线注册表修复功能,访问这些站点,按照提示操作就可以解除注册表锁定。只要你的IE浏览器还能正常工作,你就还有希望在线修复注册表锁定。在选择修复站点的时候尽量选择国内比较正规或有名气的站点,而不要进那些所谓的黑客网站或个人网站提供的修复功能,以免雪上加霜。

二、用已有的解除注册表恶意修改的工具来修复注册表或下载正常的注册表导出文件,这些文件是以REG为扩展名的文件,可以用用RegEdit /s 文件名.reg来导入正常的注册表文件以修复被恶意修改的地方。但这种方式只有在系统可以执行命令的前提条件下才可以进行。

言归正传,进入提供在线修复功能的网站解除了注册表锁定,现在可以运行任何程序了,上传了3个小工具:pslist.exe、pskill.exe、srvinstw.exe。第一个工具是在命令行列出系统进程,第二个根据进程PID杀掉进程的工具,
第三个是安装或卸载服务的工具。用pskill杀掉了剩下的顽固进程,然后用srvinstw.exe卸载掉系统中的Remote Administrator与MSCoolServ服务。现在系统环境已经干净了。接下来就打开RegEdit命令在注册表中查找这些文件名,查到后将键值一一删除。然后在系统安装盘里点搜索文件,一一搜索这些文件,如果是WinXP系统,注意在搜索高级选项里设置搜索子目录和隐藏文件。找到后把这些病毒文件全部删除。正常情况下普通的病毒或木马就这样彻底地干掉了,满以为这下完事了,就让朋友把系统重启看看有没有清干净,结果系统重启后发现注册表又被锁定,无法运行程序,进程中又出现了svchsot.exe与mscolsrv.exe进程,MSCoolServ服务依然又来了。看来这条马还是阴魂未散,一定还有其他的激活条件,比如在注册表中关联可执行文件的调用,关联IE或其他程序,以致运行这些正常程序的时候又调用了病毒副本,导致再次感染。由于现在其他进程如slave.exe,250.exe,radmin.exe经过上面的步骤已从系统中清除,唯独剩这两个进程又再次出现,由此判断此两进程可能为同一病毒或木马产生。病毒使用多个进程的情况并不少见,进程间互相监视,如果一旦发现进程被结束掉或注册表键值被改动,马上通过还活着的进程或服务启动被结束的程序或重新修改注册表。看来要彻底把这匹顽劣的野马驯服非得了解程序的工作流程,感染哪些文件,修改注册表中哪些键值,再次激活条件是什么。

由于对此病毒一无所知,所以只有去互联网搜索相关信息,在Google搜关键字svchsot.exe与mscolsrv.exe,发现确实有这种病毒,是最近1月份才被国内杀毒软件厂商查杀的新病毒。由于找了多篇文章都没有最为详细的描述,所以我将结果综合了一下:

病毒名:W32/RAHack 或BKDR_RASBA.?(不同厂商命名不同)

病毒通过远程破解radmin弱口令的方式或利用远程溢出漏洞来攻击Remote Administrator服务,弱口令列表如下:

123456789
11111111
12345678
password
qwertyui
00000000
12341234

病毒生成文件:

%System%\mscolsrv.exe
%System%\server.dll
%System%\svchsot.exe
%System%\syshid.exe
%UserProfile%\Start Menu\Programs\Startup\system.vbs

病毒修改的注册表键值:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

增加键值:

“sysser” = “%System%\svchsot.exe”

在注册表位置:

HKEY_CLASSES_ROOT\exefile\shell\open\command

增加键值:

“(Default)”= “syshid.exe “%1″ %*”"

在注册表位置:

HKEY_CLASSES_ROOT\CLSID\[random CLSID]

增加键值:

“(Default)” = “sysser”
“(Default)” = “[path to executable]”

在注册表位置:

HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\MSCoolServ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSCoolServ

增加如下内容: “%SysDir%\mscolsrv.exe -service” ,以将病毒注册成为服务。

另外还修改如下位置:

HKEY_LOCAL_MACHINE\SOFTWARE\RAdmin\v1.1
HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0

The virus scans for .htm files on the local machine. For every .htm file found, the virus copies itself to the directory using the same file name. It overwrites the .htm file with a line of code, that runs the virus when the .htm file is run.

看完这些资料终于明白为什么清除干净后重启系统病毒又复活的根源所在,病毒在感染系统后会扫描硬盘所有分区上的扩展名为htm的文件,找到一个htm文件就将自己命名为相同的文件名,但扩展名为exe,然后在htm文件里加入代码,调用这个病毒副本。比如在D盘发现一个ABC.HTM文件,病毒就将自己的复制过去,并且命名为ABC.exe,然后修改htm文件调用ABC.exe,并且每找到一个这样的文件就在注册表里面加入一个键值指向这个文件,也就是在上面的HKEY_CLASSES_ROOT\CLSID\[random CLSID]位置加入随机的键值指向这个文件,然后在注册表里和Shell关联,HKEY_CLASSES_ROOT\exefile\shell\open\command,这样每执行一个程序或打开一个HTM文件,病毒就再次激活。

于是再次重复先前的步聚,解锁注册表-》结束病毒进程-》停掉服务-》搜索并删除病毒文件-》卸载病毒服务,删除注册表中先前已知的关键字。由于考虑到病毒可能在注册表中加了太多的随机 CLSID,用RegEdit一个一个删的话肯定会“独自流泪到天亮”,于是装上Registry Crawler,这个工具可以一次性在注册表中找出所有含有关键字的键值,用此工具再次搜索结果发现竟然有600多个sysser,也就意味着病毒在硬盘里有600多个副本。然后将先前没有发现的与syshid.exe有关的键值全部干掉,然后删除syshid.exe文件。再装上卡巴斯基服务器版,将病毒特征库更新,再整个硬盘彻底查杀。果然不出所料,杀掉几百个病毒副本。至此,此活蹦乱跳的劣马才彻底被轰出系统。

附:杀毒软件使用经验谈:

一、有些朋友经常抱怨自己的反病毒软件办事不力,能查到却杀不掉,其实这怨不得反病毒软件,此种可以查却杀不掉的情况多半是因为病毒正在系统中运行,而运行中的进程文件是受操作系统保护不可以删除的。这时只要手工用工具结束掉相关进程就可以杀掉或删除了。

二、病毒文件可以查杀,每次都可以在硬盘中杀掉一大堆,但无法彻底杀干净,重启系统后病毒又如同“特洛伊归来”般浩浩荡荡。如果全怨杀毒软件也实属牵强,毕竟杀毒软件没有人工智能,像刚才这种病毒,在注册表中到处留下激活机关,只要存在漏网之鱼就有可能野火烧不尽了。

三、怀疑是病毒或明明知道是病毒,并且觉得杀毒软件当时的病毒特征库已经可以查杀该病毒的情况下,杀毒软件却无动于衷地任系统感染上了病毒。这时暂且先别抱怨你手中的武器,最好先用壳扫描工具扫描一下病毒文件或可疑文件是否已经过改造过或加了壳。如果确实有加壳,可先用脱壳工具将披在马身上的羊皮给揭了再用杀毒软件试试。