社区应用 最新帖子 精华区 社区服务 会员列表 统计排行
  • 926阅读
  • 2回复

[分享]简单分析骷髅病毒

楼层直达
z3960 
级别: 茶馆馆主
发帖
770868
飞翔币
207694
威望
215657
飞扬币
2511641
信誉值
8

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发送数据。


2345截图20191129150537.png (10.19 KB, 下载次数: 0)

关键词: bot 系统 下载
我不喜欢说话却每天说最多的话,我不喜欢笑却总笑个不停,身边的每个人都说我的生活好快乐,于是我也就认为自己真的快乐。可是为什么我会在一大群朋友中突然地就沉默,为什么在人群中看到个相似的背影就难过,看见秋天树木疯狂地掉叶子我就忘记了说话,看见天色渐晚路上暖黄色的灯火就忘记了自己原来的方向。
级别: 超级版主
发帖
830640
飞翔币
224558
威望
224618
飞扬币
2423045
信誉值
0

只看该作者 1 发表于: 2019-12-01
来看一下
级别: 超级版主
发帖
830640
飞翔币
224558
威望
224618
飞扬币
2423045
信誉值
0

只看该作者 2 发表于: 2019-12-01
不错,了解了