Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击

2024-09-20 92 0

1 概述

近期,知道创宇404高级威胁情报团队捕获到Patchwork组织疑似针对不丹的攻击样本,该样本除加载已多次发现的go语言后门(以下称“PGoShell”)外,还大规模增强了功能。与此同时,样本首次使用了红队工具Brute RatelC4,即近期观察到的比较大的武器更新。该组织在最近2年的攻击活动中,于技术方面比其他同源组织投入的热情更多,并不断更新自身的武器库及加载方式。迄今为止,已发现该组织使用了超过10种不同的木马及加载方式。以下将对本次发现进行分析和描述。

2 组织背景

Patchwork (又称Dropping Elephant)是一个极为活跃的高级持续性威胁 (APT) 组织,自 2014 年以来一直在开展活动。Patchwork 主要针对东亚及南亚等亚洲地区的政府、国防和外交组织以及大学,科研机构。

3 攻击链

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图

4 样本综述

此次捕获的样本为Lnk文件,其主要功能是下载诱饵文件和后续载荷。经过对载荷的分析后发现,此次攻击使用的武器包括PGoShell以及红队攻击框架Brute Ratel C4,详情如下:

4.1 lnk分析描述

lnk文件名为Large_Innovation_Project_for_Bhutan.pdf.lnk,当用户未开启文件后缀显示时,极易将其当作pdf文档打开,在lnk运行后,其中包含的脚本参数也得以运行:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图1

lnk参数

参数包含的操作如下:

1.操作一:

访问并下载uri(hxxps://adaptation-funds.org/documents/Large_Innovation_Project_for_Bhutan.pdf)文件至本地 C:\Users\Public\Large_Innovation_Project_for_Bhutan.pdf,该文件为诱饵文档,下载完成后运行。

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图2

诱饵文档部分截图

诱饵文档内容为adaptation fund(适应基金董事会)关于不丹的项目提案,疑似针对不丹相关机构和个人。

2.操作二:

访问并下载uri(hxxps://beijingtv.org/wpytd52vDw/brtd2389aw)数据至本地C:\Users\Public\hal,并将其重命名为C:\Users\Public\edputil.dll,值得注意的是该域名疑似仿冒北京电视台

3.操作三:

访问并下载uri(hxxps://beijingtv.org/ogQas32xzsy6/fRgt9azswq1e)数据至本地C:\Users\Public\sam,并将其重命名为C:\Users\Public\Winver.exe。

4.操作四:

从系统目录复制resmon.exe到C:\Users\Public\resmon.exe,创建名为MicroUpdate的计划任务,该计划任务每分钟执行一次,执行目标为C:\Users\Public\resmon.exe。创建名为MicroUppdate的计划任务,该计划任务每分钟执行一次,执行目标为C:\Users\Public\Winver.exe,最终删除lnk文件。

4.2 Brute Ratel C4(edputil.dll)分析

4.2.1 Brute Ratel C4 loader分析描述

resmon.exe为系统文件,运行后会加载edputil.dll。基于windows默认加载原则,与resmon.exe同目录下的edputil.dll将被加载,edputil.dll使用themida加壳:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图3

edputil.dll区段中的.themida段

最终resmon.exe加载EdpGetIsManaged导出函数:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图4

edputil.dll导出表

EdpGetIsManaged导出的主要功能既是Brute Ratel C4 loader,攻击者首先会利用自定义的hash算法获取api地址:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图5

通过hash获取api地址

为达到unhook和反调试的目的,攻击者将获取对应函数的系统调用号,然后获取“syscall”指令地址,以NtProtectVirtualMemory函数为例,其中调用号为“0x50”:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图6

获取调用号及“syscall”地址

后续若需要调用NtProtectVirtualMemory,则只需要将调用号(0x50)传入eax,再调用“syscall”的地址即可完成函数的调用,利用此调用方式,传统的下断点将失效:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图7

syscall调用代码片段

将shellcode写入申请的内存中,更改新分配的内存的保护,通过NtCreateThreadEx创建线程并执行:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图8

Shellcode运行

Shellcode的主要功能是加载最终载荷 Brute Ratel C4,它首先会进行调试器检测,接着对PEB中的NtGlobalFlag值进行对比,若为0x70则结束运行:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图9

调试器检测

获取后续需要使用的api地址:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图10

获取api地址

接下来进行系统时间检测,若当前系统时间超过硬编码的时间戳(0x66c0666d),则结束运行:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图11

运行时间检测

使用RC4算法解密出后续需要加载的文件名(chakra.dll),该文件主要作为 Brute Ratel C4的载体:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图12

解密数据

chakra.dll被加载后,将去除“MZ”头的最终载荷Brute Ratel C4写入chakra.dll的地址空间,并模拟加载Brute Ratel C4:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图13

去掉”MZ”的Brute Ratel C4

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图14

将数据写入chakra.dll内存空间
获取OEP并跳转执行,最终执行载荷既是Brute Ratel C4:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图15

跳转OEP执行

4.2.2 Brute Ratel C4简述

Brute Ratel C4是一个红队框架,并被视为Cobalt Strike 的替代品。该框架能够实现诸如文件管理、端口扫描、文件上传下载、屏幕截图等功能,以下为本次该载荷的配置截图,各项配置间使用“|”进行分隔:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图16

Brute Ratel C4配置截图

4.3 PGoShell(Winver.exe)分析

PGoShell由Go语言开发,总体来看其功能较丰富,包括远程shell、屏幕截图,载荷下载执行等,由于首次发现该武器时主要功能为远程shell故而得名。相关详细逆向分析内容如下:

初始化URI、RC4密钥,User-Agent,本次样本中RC4密钥内容为“0g8RXt137ODBeqPhTv2XYjgmnxUsijfc”。

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图17

初始化URI、RC4密钥

检测HKCU\Software\Microsoft\WinTemp是否存在,若存在则获取temp键对应的值;若不存在则生成随机字符串,并使用RC4+base64加密后写入,该值将作为ID被上传到服务端:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图18

进入信息收集&交互模块后,PGoShell首先会尝试获取主机信息(主机名、用户名、当前主机对公IP、当前主机所处国家(IP及国家信息由查询ip-api.com获取)、当前系统版本、当前执行路径、进程PID、PROCESSOR_ARCHITECTURE信息),获取成功后将对应的数据进行拼接,各信息数据使用“||”进行分隔。

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图19

获取主机信息并拼接

PGoShell获取到的所有数据均使用RC4+base64进行编码(截图中main_AESENC为攻击者迷惑分析人员编写的函数名,其内在实际为RC4+base64):

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图20

RC4 Key及其解密数据

随后将拼接的数据发送到服务端,并从服务端获取数据,上线信息以及交互信息上传方式均采用POST方式。

PGoShell部分功能如下表:

功能号 功能
c?d????????e shell
vypjtvwudmta 文件下载
zdqxjjiueled 下载执行
mldijkppffollpps 下载执行
s?p????????t 屏幕截图
ssaphdnu 下载powershell bypass脚本并运行
tcvbwmdddqls 检查文件是否存在,存在则上传
egdhdnipjhfn 从指定url下载shellcode并注入
jhudjphsmunee 利用WMI枚举设备信息
getmdjfhhkjhsdfdc 获取域控信息
nemszyrsmuns 下载Solo.zip到temp目录,解压后执行其中的powershell脚本
nfjdnteslbt 下载shellcode并通过QueueUserAPC注入执行
ndhbnmesnefdmu SMB端口扫描
rdptidjkeephdnmak RDP端口扫描

5 总结

本次捕获的攻击活动主要以adaptation fund(适应基金董事会)关于不丹的项目提案作为诱饵,针对对象疑似为不丹相关机构和个人。在此次攻击活动中,首次发现Patchwork组织使用Brute Ratel C4作为武器。整个Brute Ratel C4加载运行过程为纯内存加载,能够有效对抗终端设备检测。在加载过程中,多次进行反调试和解除挂钩操作,并在执行周期上进行了限制。这表明该组织正在积极扩充其武器库。根据网络信息,Brute Ratel C4的作者来自于印度:

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图21

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图22

目前该工具的价格为US$3000,patchwork组织在购买该工具的时候或许可以获得一定折扣。

Patchwork更新武器库,首次利用Brute Ratel C4和PGoshell增强版发起攻击插图23

此外,我们注意到本次使用的PGoShell在功能上进行了极大的扩展,与以往发现的攻击样本相比更加先进。而PGoShell作为该组织自研的后门工具实施了大规模的功能更新,可见该武器对于patchwork组织的重要程度。我们有理由相信,PGoShell在以往的攻击活动中帮助Patchwork取得了显著成果,未来,该组织可能会更多地使用这一武器发起攻击。

6 IOC

C2:

Beijingtv[.]org

Cartmizer[.]info

longwang.b-cdn[.]net

7 参考链接

https://unit42.paloaltonetworks.com/brute-ratel-c4-tool/

作者:K&XWS@知道创宇404高级威胁情报团队
原文链接:https://paper.seebug.org/3199/


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论