骷髅病毒分析

一、病毒信息

病毒名称:骷髅病毒
文件名称:
d5dac2456fa6758480e946aa6a1597399bf0b9e7df1383c7ba568559b969a827
文件格式:
EXEx86
文件类型(Magic):
PE32 executable (GUI) Intel 80386, for MS Windows, UPX compressed
文件大小:
66.50KB
SHA256:
d5dac2456fa6758480e946aa6a1597399bf0b9e7df1383c7ba568559b969a827
SHA1:
c660516ceb64fb9373b297973f962398ee6d1879
MD5:
77031bafa4c641c28ab9f624a15766b0
CRC32:
79C2B4D8
SSDEEP:
768:CGBwjSgvnyXXQkZuzQEN8Fs+U5MV4nb42sWAw/CQd07d21a1XWCIqrY+9GbRa:PBzgvnyXgkwg0sl5Qd07k1sXvr
TLSH:
T1D0635C1BAD45D0A1E00600389519FAFF66A76C71C51EAA53FB80FD827CB8587F8B9D07
AuthentiHash:
4A58C42F188D69E5EC03A22F02C0C9AB8D6B8D0B39C01DD7CA05DD97074509A2
peHashNG:
15fe9808e4c7996169d2f7d72ab94995e16510faac3b23d090f9c6ccbcceaa0f
RichHash:
c5755a1d31fa664aef391971dfc1145d
impfuzzy:
24:MEpZQCB8u1wX1siuLVuLQjuyPq0jcfLGDQj1E5T0v+GO9CJI/qkbJnBevrzvoLWZ:prwX1Euljix02G+CJI/q0JBevrzri+
ImpHash:
ccbcdba127c40ad07597791950e62759
ICON SHA256:
ffac9d7025d1e7d091fc5449da7401928cff13c3083719ca38b4518042608ef9
ICON DHash:
336171172d330c0d
Tags:
exe,section_name_exception,lang_chinese

二、环境准备

系统杀毒软件调试器
Win7x86火绒剑IDA,OD

三、脱壳

样本拖到PEID中,可以看到是有UXP壳:

图片[1]-骷髅病毒分析-NGC660 安全实验室

首先脱壳,样本拖入OD:

图片[2]-骷髅病毒分析-NGC660 安全实验室

Ctrl+F,取消整个块,查找popad,并下断点:

图片[3]-骷髅病毒分析-NGC660 安全实验室

F9运行,卡在断点这里,然后走过下面一个JMP,到了OEP

图片[4]-骷髅病毒分析-NGC660 安全实验室

然后右键dump,保存为1.exe:

图片[5]-骷髅病毒分析-NGC660 安全实验室

把1.exe拖进PEID:

图片[6]-骷髅病毒分析-NGC660 安全实验室

脱壳成功。

四、行为分析

首先我们需要将病毒样本加入火绒软件信任区,让火绒不要干扰病毒程序运行,接下来打开火绒剑:

图片[7]-骷髅病毒分析-NGC660 安全实验室

点击开始监控,然后双击运行骷髅病毒,首先可以看到骷髅病毒本体已经不见:

图片[8]-骷髅病毒分析-NGC660 安全实验室

接下来进行过滤:

图片[9]-骷髅病毒分析-NGC660 安全实验室

在这里我们可以详细的看到骷髅病毒的所有行为,简单的根据动作过滤来看一下病毒行为:

图片[10]-骷髅病毒分析-NGC660 安全实验室

可以看到这里是创建了一个新的EXE,最后通过cmd删除本体。

图片[11]-骷髅病毒分析-NGC660 安全实验室
图片[12]-骷髅病毒分析-NGC660 安全实验室

这里有一些对注册表项的修改写入等行为。详细行为都可以根据火绒剑进行分类查询。这里大致可以看出是在C:\Windows下生成另一个文件,然后对自身进行删除。

五、静态分析

把脱壳后的1.exe拖入Ida,找到WInMain,F5:

图片[13]-骷髅病毒分析-NGC660 安全实验室

这是主函数,相应注释都在上面:

图片[14]-骷髅病毒分析-NGC660 安全实验室

然后进入sub_405A52(),就是简单判断自己创建服务是否已经被创建,服务名称是15654656:

图片[15]-骷髅病毒分析-NGC660 安全实验室

如果服务没有被创建,进入函数sub_405B6E():

图片[16]-骷髅病毒分析-NGC660 安全实验室

首先是获取许多函数地址,然后对比了文件目录,通过sub_406C30获取系统时间随机生成字符,产生随机名称,下面是sub_406C30函数:

图片[17]-骷髅病毒分析-NGC660 安全实验室

回到上一层,继续往下看,生成随机名称,拷贝自身在Windows目录下:

图片[18]-骷髅病毒分析-NGC660 安全实验室

接下来就是对服务的创建启动等操作:

图片[19]-骷髅病毒分析-NGC660 安全实验室

最后来到sub_40355B:

图片[20]-骷髅病毒分析-NGC660 安全实验室

跟进去,可以看到这是一个删除文件函数,根据之前的行为分析,这块就是对自己进行删除操作的函数:

图片[21]-骷髅病毒分析-NGC660 安全实验室

这个病毒功能应该还有启动一项服务,然后会搞事情,但是在我环境中没有搞起来,只实现了对自身文件的拷贝,以及最后的自我删除。

本文作者:极安御信安全研究院, 转载请注明来自FreeBuf.COM

© 版权声明
THE END
喜欢就支持一下吧
点赞15赏点小钱 分享