马振伟
摘要:计算机病毒是编制者在计算机程序中插入的破坏计算机功能或者数据的代码,能影响计算机使用,能自我复制的一组计算机指令或者程序代码(1)。计算机病毒具有很强的隐蔽性,有些可以通过病毒软件监测出来,有些隐蔽性很强,具有一定的环境适应性能力,这类病毒处理进来通常很困难(2)。由于杀毒软件更新的滞后性,用常规的杀毒方法未必能及时有效,且很容易损坏正常软件,造成计算机无法正常运转等损失。正确分析计算机的异常行为,查找发病源,通过手动杀毒,也是一种直观的方法及有价值的尝试。
关键词:计算机病毒;杀毒软件;手动杀毒
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2020)31-0071-02
计算机感染病毒后通常会出现一些容易发觉的异常表现行为,如计算机启动速度慢、程序运行卡顿、文件损坏或丢失以及出现间歇性断网等。通过计算机行为的异常表现,然后反推问题的根源,再通过适当的杀毒方法进行病毒清除。下面是一个服务器出现异常的案例:笔者打开服务器时异常卡顿,打开任务管理发现svchost运行程序占用CPU资源达到99%以上,严重影响了服务器的运行,这是病毒的一种典型表现。
1 病毒特征分析
1.1 Svchost进程分析
Svchost.exe是Windows操作系统中的核心进程文件,从动态链接库(Dynamic Link library,DLL)中加载的通用主机进程,该进程是系统运行的基础进程之一,且不能被中止(3)。因为svchost.exe是一個基础进程,可以访问很多系统资源和文件,所以svchost.exe非常容易被病毒所利用。被病毒利用之后,系统常会弹出svchost.exe错误,当然svchost.exe病毒也有不少专杀工具。很多木马程序喜欢伪装成这个服务程序来逃过查杀。为进一步确认,笔者通过资源管理器观察了一下这个进程的更多属性,发现了更多异常之处。
1.2 怪异的命令行参数
该进程是通过一串命令启动起来。具体命令是:
svchost -o gulf.moneroocean.stream:10001 -u xxxxx –donate-level=1
1.3 可疑的管理员账户
经查证,进程svchost.exe的启动用户是Administrator,是这台计算机的超级管理员。windows默认的系统管理员账号是预留出来的,系统默认情况下隐藏这个账号,除非在计算机上没有其他账号可用。超级用户只能有一个,但进一步查看Administrator的文件夹,居然有两个,这说明服务器存在病毒,需要我们进一步深入分析。
2 解密
2.1 参数的含义
参数中的gulf.moneroocean.stream看起来是个域名,尝试访问之后,发现是门罗币的网站,那么该病毒极有可能与门罗币有关。Monero中文翻译成门罗币,是区款连比特币的一种。参数合起来的意思是:通过gulf.moneroocean.stream服务器从事挖矿活动,将受益放到账户为xxxxx的钱包地址当中,受益的1%捐赠给这个木马的开发人员。
2.2 真假账户
至于真假账号的问题,我们猜想可能是某一个账号采用了特殊字符,而windows文件系统无法正常显示这个字符,于是看起来和真正的administrator是一样的。为了证实这一点,我们把两个文件夹的名字拷贝到notepad++里,果然原形毕露了。
有一个账户用的A其实是希腊字符的A,在windows下看起来和A一模一样。如果不够细心的话,很容易认为这个进程就是Administrator起来的,进而容易误判它为系统进程,达到鱼目混珠的目的。
3 手动查杀病毒
手动杀毒不会像杀毒软件那样,受病毒库大小的制约,特别是对于那些新病毒,手动杀毒技术明显优于使用杀毒软件进行杀毒(5)。其次,手动杀毒技术的人工参与性质决定了它拥有充分的灵活性,这是作为计算机程序的杀毒软件无法比拟的。手动杀毒技术能够跟踪单个病毒运行、了解病毒习性,从而在灭杀病毒后完美修复曾被起破坏的系统。
通过分析,可以确认这就是门罗币的挖矿木马病毒,从任务管理器将它直接关掉是很简单的事,但是难保他凭借什么触发器再启动起来,所以需要找到它的启动位置并把它彻底删除才是根本的解决办法。
手动杀毒一般应从几方面入手:
1)查内存,排查可疑进程。目的是为了将病毒从内存中清除掉。
2)查启动项,删除病毒启动项。
3)通过病毒启动项判断病毒所在位置,从根本上删除病毒。
4)修复系统,常见的病毒会对系统部分损坏,必须对损坏的文件或系统进行修复。
首先,为了保证操作的流畅性,我们先将资源占用率降下来。通过资源管理器只给这个进程分配1个CPU,使之最大CPU占用率不超过25%,这样我们的手动操作就变得无比流畅。
其次,为了找到这个可执行程序的地址,需要在资源管理器增加路径一栏PATH,可以获取路径。这里采用了Powershell来获取可执行文件的物理地址。
通过powershell的命令,我们得出病毒可执行文件的物理地址为: c:\windows\fonts\ses\svhost.exe。不仅隐藏在系统目录,而且在伪装成windows的字体文件。但是用这个地址实际上也是不存在的。用资源管理器找不到这个地址,直接在地址栏输入地址也不行。
经过一番查证,这种情况是因为病毒已经被操作系统标记为系统文件,并加以隐藏,所以用户的资源管理器是无法访问到的。需要使用dos命令来访问该目录。