作者:黑蛋
一、病毒简介
文件名称:
1f3e836b4677a6df2c2d34d3c6413df2c5e448b5bc1d5702f2a96a7f6ca0d7fb
文件类型(Magic):
PE32 executable (GUI) Intel 80386, for MS Windows
文件大小:
52.50KB
SHA256:
1f3e836b4677a6df2c2d34d3c6413df2c5e448b5bc1d5702f2a96a7f6ca0d7fb
SHA1:
8389fb0466449755c9c33716ef6f9c3e0f4e19c8
MD5:
304bbe0e401d84edf63b68588335ceb6
CRC32:
757BDFA1
SSDEEP:
768:QfvoyXXQkZuzQE98Fs+UwMVdPG42EmAjE/yQd07d21a1Xxu0HfqaWF6i5XcojY9U:QfvoyXgkAP2EFjtQd07k1sXPHijmU
ImpHash:
bdd8c968182d3c29007cb3a7a7e8fe4c
二、环境准备
系统 |
win7x86 |
三、行为分析
接下来借助火绒剑查看一下行为。
这里同样是生成了一个子病毒,我们简单进行一下过滤,文件创建写入,注册表创建,网络行为等:
可以看到,在c:\Windows下生成一个子病毒,当然也注意这里生成了一个hra33.dll:
然后通过cmd删除自身:
这就是母体干的事,接下来看看子病毒干的啥事:
首先这里是干了一些资源释放,在多个文件路径下创建lpk.dll,向下继续看的话,可以看到在很多路径下都有这个dll,他应该是遍历,在所有文件夹下面创建这个dll:
随后就是网络链接操作了:
可以看到一直在进行发包收包操作,结合沙箱的分析结果:
可以看到一共访问了三个域名:sbcq.f3322.org;www.520123.xyz;www.520520520.org
总结一下就是释放dll,网络链接;
四、静态分析
拖入PEID,啥也没,应该是被脱过了:
拖入IDA中,直接在winmain函数处F5:
4.1、sub_405A52
可以看到这里是一个简单的判断服务是否启动,启动的话进入else,服务名Ghijkl Nopqrstu Wxy;
4.2、sub_40561A
接下来看回调函数sub_40561A:
这里主要是创建了4个线程,首先看sub_405394;
4.2.1、sub_405394
进去之后再走到EnumFunc函数中:
这里是定位资源,然后再当前目录下创建文件,写入资源内容;
4.2.2、sub_4053A6
主要在这里,看病毒文件是否存在,存在就拿到句柄,把服务加入资源文件中。
4.2.3、sub_4034E5
这是一个简单的加载hra33.dll的函数;
4.2.4、sub_402DD5
首先可以看到这里,一些用户名和密码,这里应该是用来暴力测试;
这里不断地是获取主机名,再获取hostent结构,然后枚举用户名密码进入sub_402AD0,
这里就是建立连接,通过局域网传播病毒。
4.2.5、sub_4051E0、sub_405241、sub_40387C
这三个回调函数一样,在不同服务器上下载东西,执行,我们只看第一个,一直跟进回调函数到StartAddress:
可以看到这里都是一些在服务器中下载东西,然后跑起来,最后删除自己,其他俩个函数和这个函数一样,无非就是服务器地址不同,最后一个函数里面服务器域名是加密的,直接在OD运行到这里查看就行,是www.520520520.org:9426 ;
4.3、sub_405B6E
这里是在c:\Windows\system32下创建随机病毒文件;接下来是一些服务操作,结尾是sub_40355B函数,我们直接跟进去:
可以看到是一个删除自身的一个操作。
五、hra33.dll分析
看完病毒体,我们再看一下关键dll–>hra33.dll,直接在c:\windows\system32下找到hra33.dll,拖入IDA中分析,直接在主函数处F5:
5.1、sub_10001134
简单的查找病毒资源是否存在;
5.2、sub_10001338
判断当前模块名字是否为hrlxx.tmp;
5.3、sub_10001193
这里就是找到资源,定位资源位置,在临时文件目录中创建hrl,然后把资源内容拷贝进去。
5.4、sub_100012F6
加载lpk.dll
5.5、sub_100019E6
这里是判断磁盘类型,然后创建一个线程,我们跟进去回调函数:
可以看到是判断文件是否是exe,是的话创建lok.dll;如果是rar或者zip等压缩文件,则进去sub_1000142B:
解压文件,然后替换lpk.dll,随后重新打包,删除临时文件;
5.6、sub_100010CE
这里是保存了lpk的导出函数地址。
六、病毒总体思路总结
首先开始运行,判断是否有病毒的注册表:
是:注册函数设置服务请求–设置启动服务–找到dll,释放–把病毒和服务加到hra33.dll,然后加载此dll–
线程1(家里IPC链接,局域网内传播,定时启动)—后面三个线程链接服务器下载东西,根据指令进行不同操作;
否:启动病毒服务–设置键值–删除原病毒