病毒名称:3601劫持病毒
所属家族:Trojan-DDoS.Win32.macri.atk
病毒行为:连接恶意网址下载代码远程执行、对lpk.dll进行劫持
分析目标:分析病毒具体的行为,搞清楚病毒的实现原理,给出合理的方式查杀病毒。
大小: 24576 byte
修改时间: 2007年1月22日, 16:48:04
MD5: b5752252b34a8af470db1830cc48504d
SHA1: aec38add0aac1bc59bfaaf1e43dbdab10e13db18
CRC32: 4EDB317F
壳类型:UPX壳
编写语言:VC6
病毒行为:连接恶意网址下载代码远程执行、对lpk.dll进行劫持
先利用云沙箱获取基本运行情况,如下图所示。
使用火绒剑对病毒的行为进行分析,可以归为以下四类:对文件的操作、对注册表的操作、对进程的操作、对网络的操作。
对文件的操作
① 创建fadbwg.exe文件(之后经过分析此文件名是随机的六个字母),并写入数据:
② 删除原始的病毒文件:
③ 创建hra33.dll文件和临时文件,并写入数据:
④ 在多个文件夹中创建lpk.dll并写入数据:
对注册表的操作
在注册表中创建Ghijkl Nopqrstu Wxy项,并对注册表有删除操作:
对进程的操作
创建了进程,经过排查发现创建的都是cmd、find、rar的进程:
对网络的操作
病毒对注册表进行了操作,并且有网络连接。
发送网络数据包,经过查看数据包流量猜测是发送了计算机的相关信息:
经查壳工具PEID检查,发现该病毒加了UPX壳。根据ESP定律进行脱壳处理。
主程序首先通过查看注册表键值来确定服务是否创建,若服务未创建则创建并启动服务;若服务已经创建,则对自己进行复制,并且修改相关服务,最后删除自己。并且病毒释放了一个hra33.dll文件。
病毒为了防止重复操作,会先检测服务是否创建。
继续跟进,发现病毒在ADVAPI32.dll中加载函数,并遍历文件。
病毒利用时间随机数来生成文件名并进行拼接,最后复制到C:windows目录下。
继续分析,病毒创建了服务,并且修改了相关的配置,启动服务。
紧接着病毒添加了注册表键。
可以运行病毒,去查看注册表进行对比。
病毒通过字符串拼接来执行CMD命令删除自己。
此时,病毒创建了新的线程,自己已经删除,继续分析新的线程。新的程序进行了服务初始化操作。
在跟到4053a6函数中,会对注册表进行检查,并且打开了hra33.dll,复制了相关资源到hra33.dll。
对资源进行了更新操作。
通过OD可以看到具体的资源。
继续分析,发现hra33.dll被释放,这个dll具有劫持功能,将exe相同目录复制lpk.dll。
继续分析创建线程的函数。
其中第一个线程会初始化一些字符串,用于获取主机名和网络连接相关的函数,有可能是利用弱口令进行局域网传播病毒。
经过以上分析,可以判定第一个线程是通过弱口令感染局域网其他主机,当用户名和密码通过后,可以使用共享目录将病毒传播。
继续分析创建的第二个线程。
跟到回调函数中,发现有创建了一个子线程。
继续分析回调函数。
发现这个函数进行了网络连接。若连接成功,就继续运行,失败了就返回。
继续分析,发现该线程获取了一些系统信息,用来判断系统型号。
同时获取了CPU信息。
继续获取了适配器信息。
获取了内存信息。
发现函数4060f0加载了一些dll,并且尝试发送了数据。
使用接收到的数据进行判断,并作出相应的处理。
信息为0x10时,从网络上下载恶意代码保存到临时文件,并执行。
信息为0x12,根据时间随机生成数拼接文件名,并初始化信息。
通过网页下载新的病毒,下载成功删掉原来的所有信息。
自身会被删除。
当信息为0x14时,会打开IE浏览器。
当信息为0x6时,则执行的操作与0x12一样。
当信息为其他情况时,基本上都是进行了初始化Socket操作。
接下来对线程三进行分析,跟进子线程回调函数。
继续分析回调函数。
继续跟进子线程回调函数。
发现函数与线程基本一样,但是连接的的域名改变了。
用IDA Pro加载hra33.dll,对它进行分析。
发现10019e6添加lpk函数时,会遍历文件,如果遇到exe文件就在相同目录下拷贝lpk.dll,如果有.rar或者.zip文件,就用100142b进行感染。
等线程执行完毕后退出线程,使用10001123释放dll。
病毒特征:关键字符串
Ghigkl
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/
1NTUHRYRExYRExYREx3c0eQJChcRFUM=
写yara 规则:
然后可以使用ClamAv进行查杀。
手工查杀
①结束相关进程树;
②删除注册表HKEY_LOCAL_MACHINEsystemCurrentControlsetservicesGhijkl Nopqrstu Wxy下注册表键;
③删除病毒exe和hra32.dll;
④遍历磁盘和压缩包,删除lpk.dll。