欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

天台人满为患,不如来看下这个Ramnit蠕虫分析

来源:本站整理 作者:佚名 时间:2018-06-28 TAG: 我要投稿

今年的世界杯越来越看不懂,想去天台吹吹风都不一定有位置,心凉了,事儿还得做,先从网上抓个可疑样本压压惊!上手分析才发现并没有我想得那么简单……
一、基本信息
MD5
ff5e1f27193ce51eec318714ef038bef
文件大小
55 KB
运行环境
Windows
SHA256
fd6c69c345f1e32924f0a5bb7393e191b393a78d58e2c6413b03ced7482f2320
拿到可疑文件第一时间扔到“虚拟执行环境”中先让它自己可劲儿折腾一番,咱只需要坐在老板椅上,翘着二郎腿,喝着茶,唱着歌,没一会儿功夫分析报告就出来啦~

图:云沙箱报告截图
简单看下报告的概要信息,有 Ramnit 标签。Ramnit 蠕虫是一种通过可移动驱动器传播的蠕虫。该蠕虫还可以作为后门,允许远程攻击者访问受感染的计算机,通常会寄生在用户的浏览器中,难以察觉,因此每天都有数以万计的用户受其困扰。
二、行为分析
上手之前准备工作要做足,先梳理下流程:

图:流程图
2.1 首先使用 PEid 查壳,发现具有 UPX 壳,UPX 壳比较好脱,T 友们可以自行脱壳。

2.2 过了一层壳之后,接着又是一段解密代码,一直走下去,最终又会回到 0×00400000 地址段中,你会发现,和源程序一样,是经过 UPX 加壳的。

2.3 依照同样的方法跳过 UPX 壳后,就进入到样本的主体程序。
样本首先会查询系统默认的浏览器路径,如果查询失败就使用IE浏览器(后期用来进行进程注入),如果两个方法都失败,就会退出程序。

2.4 通过检查互斥体 KyUffThOkYwRRtgPP 是否已经存在来保证同一时间只有一个实例在运行。

2.5 进程名校验,样本会首先判断自己的进程名是否为 DesktopLayer.exe,如果是的话,就退出此函数,如果不是,就会构造 c:program filesmicrosoft 目录,然后将自身拷贝的此目录下,并命名为 DesktopLayer.exe,然后启动此程序。

2.6 当自身进程名为 DesktopLayer.exe 时,将会对函数 ZwWriteVirtualMemory 进行 Inline Hook,回调函数如下:

2.7 接着创建进程,此进程为开头获得的浏览器进程,在进程创建时会调用 ZwWriteVirtualMemory 函数,而这个函数已经被 hook 并跳转到 sub_402A59,此函数的主要功能就是对启动的目标进程进行进程注入,并将一个 PE 文件写入目标进程,写入的 PE 文件原本是嵌入在自身文件中的。使用 16 进程程序可以发现,脱壳后的样本中嵌入的 PE。

2.8 注入完之后会还原 ZwWriteVirtualMemory 的代码。
三、详细分析
经过这么多的操作,其实它的重点行为才刚刚开始。
3.1 使用 OD 附加到目标程序,经过几个函数的调用就会进入到嵌入的 PE 文件中,程序结构比较清晰。

3.2 创建不同的线程执行不同的功能,下面对其中几个比较重要的线程进行说明:
Sub_10007ACA:将自身文件路径写入注册表
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogonUserinit,实现自启动。

Sub_1000781F:在 c:program filesInternet Explorer 下创建 dmlconf.dat 文件,并写入 FILETIME 结构体数据。
Sub_10005906:此线程没有被运行,不过通过对代码的静态分析,发现它会监听 4678 端口,等待连接。收到连接后会接受命令并执行对应的操作。所以猜测此线程为一个后门,用来接收攻击者的命令。

[1] [2]  下一页

【声明】:黑吧安全网(http://www.myhack58.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载