Gh0st RAT变体分析

百家 作者:Chamd5安全团队 2021-10-28 15:46:38


IOC

病毒名称:Gh0st RAT变体

来源:https://app.any.run/tasks/1524fa9f-b30b-489e-9e05-7f50f5c37da0/#

C2:ref.tbfull.com:14996和zjml.f3322.org

MD5:3792e81cdddb4a53258d38e5b1010fc9

SHA1:55a414f2cf070f6713e88d4c304483b4585ba92a

SHA256:45a463bcf7b7721acebacfedb178786e5bac4ad9044ada720669a5a4e8c0b445

一、行为分析

通过Process Monitor监控该恶意进程的行为,发现仅有两条注册表值设置的操作。

在注册表中,创建键值HKLM\SYSTEM\Select\MarkTime,记录该木马运行时间。

在注册表中,创建键值HKCU\Software\Microsoft\ActiveMovie\devenum\Version,记录版本信息。

存在大量的网络活动,且流量特征符合常见木马的上载量远大于下载量。

二、代码分析

先从WinMain函数开始分析,该函数首先解密存储在数据段中的Server.dll,然后将其装载进内存,并执行其中的Main函数。

sub_45B912函数逻辑如下图:

Main函数中,先是通过Load函数获得一段数据,之后对该数据进行异或运算解密,解密后的数据中出现” /AwREtAIs7O0tNAP9Aem”、“.%SystemRoot%\System32\”、“6gkIBfkS+qY=” “2LW20LS2pg==”、“5326ca24fc0b667071fe7092c2418598”,和“Dtldt.exe”等字符串信息。

接着,会在sub_10015CC0函数中解密配置文件,地址为0x101342C4,长度2120个字节,解密函数就是黑客自己设计的异或算法,如下图。

通过分析发现,该木马有三种启动方式:普通模式,创建服务。根据配置文件的配置来选择哪一种方式启动。

普通模式下,该恶意进程通过sub_10017F40函数和sub_10017F00函数每隔50毫秒与C2服务器进行交互。

关于接收到的数据如何处理,其逻辑都在sub_100045A0函数中,该协议有点复杂,本文就略过。另外,ida7.5的反编译该木马的效果有点差,很多函数的参数都是不准确的,甚至部分指针变量丢失。例如下图中的recv函数以及sub_100045A0函数的参数列表是残缺的。

发送给C2的数据都会通过sub_10004810函数进行加密,数据窗口中0x1E60938是加密后的数据。

第二种模式,会在前者的基础上额外尝试启动一个自己的服务。

作为Windows 服务执行的二进制文件为C:\Windows\System32\Dtldt.exe。不过这里,因为该样本配置的是普通模式,就没有走这条分支。我通过修改EIP强行跑,发现无法启动服务,觉得可能是因为找不到Dtldt.exe或者配置文件中没有其代码(该样本来自app.any.run下载)。

“/AwREtAIs7O0tNAP9Aem”这个字符串会在sub_10014B70中解密为第二个C2的域名“zjml.f3322.org”(第一个C2无法正常访问时)。“6gkIBfkS+qY=” 这个字符串会在sub_10014B70中解密为“Default”。

为了定位与C2交互的代码,我还用od进行调试,在进程加载完库后,对socket、send、recv等函数下断。

对0x10017dd7地址处下断,该处会调用函数sub_10004300,尝试解析url并建立TCP连接。经过几次F9,可以知道其访问的C2地址有” ref.tbfull.com:14996”和” zjml.f3322.org”,如果在调用几次Sleep函数睡眠后都无法连接到C2服务器的话就会结束进程。

在通过配置一下网络,让虚拟机可以访问到外网后,恶意进程成功访问到C2服务器。对该恶意进程抓包分析,发现恶意进程每向C2发送一段数据,C2回复收到后就立即断开连接。每次都用一段新的连接发送数据。

捕获的受害者主机向C2服务器发送的数据包,数据部分如下。

似乎还有第二个C2,122.112.199.223这个地址正是“zjml.f3322.org”DNS解析的结果。

该恶意进程与122.112.199.223的交互类似于前一个,传输的数据与前者的数据是同一种格式。但是,却有大量的keep-alive包,并不会主动断开连接,所以猜测该C2用于持续控制。此外,他们传输的数据包中都带有“NIMABIJIAN”这个字符串。

收集系统信息并向C2服务器发送。

该恶意程序在第三种执行模式中尝试去打开Windows中的特殊目录。因为没有执行这里,所以目录名字这个参数是空的,未知。此外,该恶意进程在该模式下还会给受害者的主机增加一个DOS设备,取名叫“agmkis2”。这里应该是为了实现设备名欺骗,配置文件中没有设置映射的对象。

紧接着,访问该映射出来的磁盘,并向其中写入数据。写入的数据是依据“5326ca24fc0b667071fe7092c2418598”生成的。

在sub_10018C10函数处创建进程去执行”cmd.exe /c ping -n 2 127.0.0.1 > nul && del”。

三、总结

Gh0st RAT病毒是攻击者用来控制受感染节点的远程木马,最初被认为是来自中国的apt。由于其有效性,Gh0st RAT及其变体仍然是目前使用最广泛的RAT工具之一(开源)。Gh0St RAT的一个特性是使用专有网络协议混淆客户端-服务器通信的能力。它包含了许多直观的图形用户界面,使恶意远程控制变得简单。

修复建议:若发现感染该变体,可以通过可执行文件路径删除对应进程和样本,并查看是否存在“TDtldtl Dumdu”的服务,存在则禁用或删除。


end


招新小广告

ChaMd5 Venom 招收大佬入圈

新成立组IOT+工控+样本分析 长期招新

欢迎联系admin@chamd5.org



关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接