简单分析骷髅病毒
0x1 骷髅病毒信息[*]病毒进程
[*]病毒检测信息
0x2 脱壳
[*]骷髅病毒加的壳为Upx壳,用ESP定律法即可脱壳。
[*]脱壳过程:首先加载程序,按f8,在内存中显示esp中的地址内容,随后下硬件断点,按f9,单步几下就到oep了。
0x3 使用工具
[*]ida
[*]autoruns
[*]processMoniter
0x4 行为分析
[*]脱完壳后,运行程序,会发现病毒进程消失,据此可以判断该病毒把自身样本文件给删除了,在其他路径下创建了自己的进程
[*]运行之后,打开autoruns和processmoniter,在processmoniter中可以看到带骷髅图案的rchnmu.exe进程,显然该进程为骷髅病毒并且在c:\windows目录下
[*]随后在PM中添加过滤条件只看rchnmu进程,发现该进程创建了很多恶意线程。
[*]在autoruns中可以看到,该病毒在注册表项中创建了自身的服务,用于自启动rchnmu进程
0x5 ida分析
[*]找到main函数,并摁f5分析,进入sub_405A52函数,下面两个图中都有"15654656",在第四章autoruns分析部分,我们可以看到这个字符串,sub_405A52函数是在判断自身创建的服务项是不是已被创建,如果没有创建则main函数调用sub_405B6E创建自启动服务项。
[*]在字符串窗口可以看到%c%c%c%c%ccn.exe,显然这个地方跟创建自身exe文件有关,找到调用的地方,exe文件名的生成跟函数sub_406c30有关,进入sub_406c30函数,发现rand函数和getTickCount函数一起生成exe文件名。
[*]接着往下拉,发现函数sub_40355B,进入,发现删除样本文件的代码,先是生成字符串"/c del >nul",接着调用 ShellExecuteEx函数运行。运行之后,设置进程优先级和线程优先级
[*]找到调用RegOpenKeyExA函数的地方,发现这里判断了注册表服务项是否创建成功,也即判断病毒是否运行成功,接着往下拉,发现下面的代码往exe文件中添加了资源。
[*]在上面的行为分析中,发现病毒创建了几个线程,接着分析这几个恶意进程,找到调用CreateThread函数,首先分析第一个线程,可以看到这个函数有很多用户名和密码信息,接着获取主机名,图中h_addr_list其实是一个指针数组,数组中每个元素都是in_addr型指针,随后把网络字节顺序,转成正常的字符并向向sockaddr_in赋值,接着进入sub_40961c函数。
[*]在sub_40961c函数中发现该线程分别往C,D,E盘创建glfd.exe,并且获取系统时间,接着调用WinExec执行新建的exe文件,让线程休眠500ms。如果没有在C,D,E盘创建成功则会在f创建个g1fd.exe文件,但不会立即执行该exe文件。
[*]分析第二个线程,调用WSAStartup函数完成对Winsock服务的初始化,意味要使用Socket的程序,接着调用localtime函数获取本地时间和日期,随后用atoi函数处理时间字符串直到值大于20130221,接着sleep100ms,接着调用setsockopt获取套接字关联选项。在StartAddress内部访问一个短地址aa.re67das.com,然后利用socket链接获取IP地址,随后往已经连接的socket发送数据。
是干货!大佬厉害! https://s.threatbook.cn/report/file/5e15cb0b8a2329d1eb8d5c619f4ebf1c6fae3eab19cd18bf459f5aada1109cd5/?sign=history&env=win7_sp1_enx86_office2013 谢谢分享 厉害了 大佬 支持一下 日常膜拜 内网传播 不知道有没有效果 w5645060 发表于 2019-11-29 17:15
不出意外的话这应该是是个远控木马或者DDOS木马吧,分析的不完全么,就这么点功能?
额,是啊,有些功能还在进一步分析中,分析出来了补上 666666666 大佬,解压密码是什么啊?