作者: K& XWS @知道创宇404高级威胁情报团队
时间:2024年7月15日
1. 概述
参考资料
近期,知道创宇404高级威胁情报团队捕获到Patchwork组织疑似针对不丹的攻击样本,该样本除加载已多次发现的go语言后门(以下称“PGoShell”)外,还大规模增强了功能。与此同时,样本首次使用了红队工具Brute Ratel C4,即近期观察到的比较大的武器更新。该组织在最近2年的攻击活动中,于技术方面比其他同源组织投入的热情更多,并不断更新自身的武器库及加载方式。迄今为止,已发现该组织使用了超过10种不同的木马及加载方式。以下将对本次发现进行分析和描述。
2. 组织背景
参考资料
3. 攻击链
参考资料
样本链如下图所示:
4. 样本综述
参考资料
此次捕获的样本为Lnk文件,其主要功能是下载诱饵文件和后续载荷。经过对载荷的分析后发现,此次攻击使用的武器包括PGoShell以及红队攻击框架Brute Ratel C4,详情如下:
lnk文件名为Large_Innovation_Project_for_Bhutan.pdf.lnk,当用户未开启文件后缀显示时,极易将其当作pdf文档打开,在lnk运行后,其中包含的脚本参数也得以运行:
lnk参数
1.操作一:访问并下载uri(hxxps://adaptation-funds.org/documents/Large_Innovation_Project_for_Bhutan.pdf)文件至本地 C:\Users\Public\Large_Innovation_Project_for_Bhutan.pdf,该文件为诱饵文档,下载完成后运行。
诱饵文档部分截图
诱饵文档内容为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加壳:
edputil.dll区段中的.themida段
最终resmon.exe加载EdpGetIsManaged导出函数:
edputil.dll导出表
EdpGetIsManaged导出的主要功能既是Brute Ratel C4 loader,攻击者首先会利用自定义的hash算法获取api地址:
通过hash获取api地址
为达到unhook和反调试的目的,攻击者将获取对应函数的系统调用号,然后获取“syscall”指令地址,以NtProtectVirtualMemory函数为例,其中调用号为“0x50”:
获取调用号及“syscall”地址
后续若需要调用NtProtectVirtualMemory,则只需要将调用号(0x50)传入eax,再调用“syscall”的地址即可完成函数的调用,利用此调用方式,传统的下断点将失效:
syscall调用代码片段
将shellcode写入申请的内存中,更改新分配的内存的保护,通过NtCreateThreadEx创建线程并执行:
Shellcode运行
Shellcode的主要功能是加载最终载荷(Brute Ratel C4),它首先会进行调试器检测,接着对PEB中的NtGlobalFlag值进行对比,若为0x70则结束运行:
调试器检测
获取后续需要使用的api地址:
获取api地址
接下来进行系统时间检测,若当前系统时间超过硬编码的时间戳(0x66c0666d),则结束运行:
运行时间检测
使用RC4算法解密出后续需要加载的文件名(chakra.dll),该文件主要作为Brute Ratel C4的载体:
解密数据
chakra.dll被加载后,将去除“MZ”头的最终载荷Brute Ratel C4写入chakra.dll的地址空间,并模拟加载Brute Ratel C4:
去掉”MZ”的Brute Ratel C4
将数据写入chakra.dll内存空间
获取OEP并跳转执行,最终执行载荷既是Brute Ratel C4:
跳转OEP执行
Brute Ratel C4是一个红队框架,并被视为Cobalt Strike 的替代品。该框架能够实现诸如文件管理、端口扫描、文件上传下载、屏幕截图等功能,以下为本次该载荷的配置截图,各项配置间使用“|”进行分隔:
Brute Ratel C4配置截图
4.3 PGoShell(Winver.exe)分析
PGoShell由Go语言开发,总体来看其功能较丰富,包括远程shell、屏幕截图,载荷下载执行等,由于首次发现该武器时主要功能为远程shell故而得名。相关详细逆向分析内容如下:
初始化URI、RC4密钥,User-Agent,本次样本中RC4密钥内容为“0g8RXt137ODBeqPhTv2XYjgmnxUsijfc”。
初始化URI、RC4密钥
检测HKCU\Software\Microsoft\WinTemp是否存在,若存在则获取temp键对应的值;若不存在则生成随机字符串,并使用RC4+base64加密后写入,该值将作为ID被上传到服务端:
进入信息收集&交互模块后,PGoShell首先会尝试获取主机信息(主机名、用户名、当前主机对公IP、当前主机所处国家(IP及国家信息由查询ip-api.com获取)、当前系统版本、当前执行路径、进程PID、PROCESSOR_ARCHITECTURE信息),获取成功后将对应的数据进行拼接,各信息数据使用“||”进行分隔。
获取主机信息并拼接
PGoShell获取到的所有数据均使用RC4+base64进行编码(截图中main_AESENC为攻击者迷惑分析人员编写的函数名,其内在实际为RC4+base64):
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的作者来自于印度:
目前该工具的价格为US$3000,patchwork组织在购买该工具的时候或许可以获得一定折扣。
此外,我们注意到本次使用的PGoShell在功能上进行了极大的扩展,与以往发现的攻击样本相比更加先进。而PGoShell作为该组织自研的后门工具实施了大规模的功能更新,可见该武器对于patchwork组织的重要程度。我们有理由相信,PGoShell在以往的攻击活动中帮助Patchwork取得了显著成果,未来,该组织可能会更多地使用这一武器发起攻击。
6. IOC
参考资料
C2:
Beijingtv[.]org
Cartmizer[.]info
longwang.b-cdn[.]net
7. 参考链接
参考资料
[1] https://unit42.paloaltonetworks.com/brute-ratel-c4-tool/
往 期 热 门