APT37组织主战远控武器RokRAT,更新迭代部分执行流程
字数 1989 2025-08-06 00:52:37
APT37组织RokRAT远控武器技术分析报告
一、概述
APT37(又称Group123、Venus 121、Reaper)是一个活跃的朝鲜黑客组织,自2012年开始活动。该组织主要针对朝鲜周边国家(韩国、日本、俄罗斯、中国等)实施攻击,其中对韩国的攻击最为频繁。RokRAT是该组织的主要远程控制武器之一。
二、技术特点
1. C&C通信机制
- 使用公共云盘作为C&C服务器:Dropbox、Pcloud、Yandex和Box(主要使用前两个)
- 通过内置云盘账号Token实现通信
- 支持对特定文件的下载、上传和删除操作
2. 样本执行流程
初始载荷阶段
- 文件类型:.lnk快捷方式文件(221MB大小)
- 目标文件:
%windir%\SysWOW64\cmd.exe - 执行方式:通过PowerShell调用嵌入的C#代码
- 功能:
- 以隐藏属性打开cmd窗口
- 递归寻找powershell.exe并执行嵌入代码
- 使用User32.dll中的FindWindow和ShowWindow函数隐藏PowerShell窗口
- 检查当前目录路径(若包含"System32"或"Program Files"则设置%temp%为工作目录)
- 使用地址偏移定位载荷并释放文件
文件释放
- 释放路径及文件:
- lnk文件相同路径:
【lnk同名】.hwp(执行) - %public%路径:
public.dat - %temp%路径:
temp.dat和working.bat
- lnk文件相同路径:
- 执行后操作:
- 执行working.bat
- 关闭.lnk文件
- 删除原始.lnk文件
3. shellcode加载阶段
working.bat功能
- 创建隐藏窗口的PowerShell进程
- 读取temp.dat文本文件内容到内存执行
temp.dat脚本内容
- 构建public.dat文件路径并读取其二进制内容
- 声明并添加Windows API函数:
- GlobalAlloc(内存分配)
- VirtualProtect(修改内存保护属性)
- CreateThread(创建线程)
- WaitForSingleObject(等待线程)
- 内存操作:
- 分配内存空间(大小:public.dat长度+0x100)
- 修改内存保护属性为可执行(0x40)
- 将public.dat内容写入内存
- 创建线程执行内存中的代码
- 等待线程完成(最长500秒)
4. shellcode执行(889,858字节)
- 解密技术:
- 使用ROR右移循环解密Windows API函数名
- 使用异或方法解密PE文件
- 内存操作:
- 开辟新内存空间
- 分段复制PE内存
- 调用LoadLibraryA加载KERNEL32.dll
- 循环获取Windows API地址
- 清理工作:
- 覆盖PE文件起始段(前64字节)破坏结构
- 从非标准入口点(0x71B375)开始执行
5. PE文件分析
- 编译信息:Microsoft Visual C/C++(19.00.24210)编译的"C++"程序
- 标准start函数入口点
三、功能分析
1. 系统信息搜集
- 操作系统信息获取:
- 调用RtlGetVersion获取版本信息
- 主版本号6(Windows 7)
- 次版本号1
- 内部版本号7601(Windows 7 SP1)
- 其他信息搜集:
- 检查32位程序在64位系统运行状态
- 计算机名称
- 用户名
- 当前程序路径
- BIOS部分信息
- 文件操作:
- 生成随机路径
C:\Windows\RandData.dat - 检查管理员权限
- 生成随机路径
2. 外连通信
- 目标域名:api.pcloud.com
- 通信机制:
- 创建线程循环构造HTTP请求
- 使用WinHttpOpen、WinHttpOpenRequest等函数配置请求
- 设置HTTP请求超时控制
- 请求头信息:
User-Agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 Accept-Language: en-US,en;q=0.8 Authorization: Bearer DOAD**********************wSO7 Content-Type: application/json - Token位置:Authorization字段
四、防御建议
-
检测与防护:
- 监控异常.lnk文件执行(特别是大尺寸文件)
- 检测PowerShell隐藏窗口执行行为
- 监控异常内存分配和属性修改操作
- 检测对api.pcloud.com等云服务的异常请求
-
网络层面:
- 拦截包含可疑Authorization头的云服务API请求
- 监控异常User-Agent(如伪装Googlebot)
-
系统加固:
- 限制PowerShell执行权限
- 监控%temp%和%public%目录的异常文件创建
- 启用内存保护机制(如DEP)
-
威胁情报:
- 关注APT37组织最新TTPs
- 共享IOCs(如样本哈希、C2域名等)
五、总结
RokRAT展现了APT37组织在恶意软件开发上的持续投入,其特点包括:
- 复杂的多阶段加载机制
- 创新的C&C通信方式(利用公共云服务)
- 强大的反检测能力(内存操作、入口点混淆)
- 全面的信息搜集功能
安全团队应持续关注该组织的攻击手法演变,及时更新防御策略。