Gh0st RAT变体分析

VSole2021-10-28 06:05:13

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”的服务,存在则禁用或删除。

c2sub
本作品采用《CC 协议》,转载必须注明作者和本文链接
在2022年2月,卡巴斯基实验室的研究人员首次观察到将shellcode放入Windows事件日志的技术。该技术允许在文件系统中隐藏“无文件”最后stager的木马。这种对活动中事件日志的关注不仅限于存储 shellcode。Dropper 模块还修复了与事件跟踪 (ETW) 和反恶意软件扫描接口 (AMSI) 相关的 Windows 原生 API 函数,以使感染过程更加隐蔽。
DNS 层次结构中的域遍布全球,由世界各地的 DNS 名称服务器托管。整个DNS协议长度一般不超过512字符。通过wireshark抓包,看到请求stage下发是通过txt记录 在beacon上线之后,执行checkin,使beacon强制回连CS,beacon就会发送心跳到CS上。beacon收到应答之后,向CS 请求的TXT记录,CS则以命令应答。beacon收到txt应答,解析出命令并执行,将结果以A请求的方式回传CS。Refresh Number 从DNS服务器隔一定时间会查询主DNS服务器中的序列号是否增加,即域文件是否有变化。
Gh0st RAT变体分析
2021-10-28 06:05:13
普通模式下,该恶意进程通过sub_10017F40函数和sub_10017F00函数每隔50毫秒与C2服务器进行交互。发送给C2的数据都会通过sub_10004810函数进行加密,数据窗口中0x1E60938是加密后的数据。
跟随P4nda大佬的博客复现了CVE-2018-17463,在一些大佬懒得讲的地方加了一些理解和解释,比较新手向。
一款针对Confluence和Jira的网络侦查工具
近日,奇安信威胁情报中心注意到外国安全厂商humansecurity在外网揭露了一个名为BADBOX的事件,其报告称观察到至少观察到74000 部基于 Android 的手机、平板电脑、和全球联网电视盒有遭遇BADBOX 感染的迹象;而来自趋势科技的说法是该后门据信被植入了2000万数量级别的设备。实际上,humansecurity在其分析报告中已经对该事件进行了比较详细的技术分析,各位如果有兴
微软发布了对欧洲“私营部门攻击者”的分析,旨在帮助其客户发现贪钱的黑帮攻击的迹象。
Microsoft 威胁情报中心 (MSTIC) 和 Microsoft 安全响应中心 (MSRC )在针对欧洲和中美洲客户的有限且有针对性的攻击。PSOA(MSTIC 跟踪为 KNOTWEED)开发了名为 Subzero 的恶意软件,用于这些攻击。
样本背景样本MD5为07D0BE79BE38ECB8C7B1C80AB0BD8344,来源于免费沙箱app.any.run。app.any.run是一个国际化的免费沙箱,有非常友好的界面,可以很好地跑出大部分恶意样本的行为、网络请求等信息。样本分析首先,通过virustotal获取样本的一些基本信息。
VSole
网络安全专家