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.datworking.bat
  • 执行后操作:
    • 执行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字段

四、防御建议

  1. 检测与防护

    • 监控异常.lnk文件执行(特别是大尺寸文件)
    • 检测PowerShell隐藏窗口执行行为
    • 监控异常内存分配和属性修改操作
    • 检测对api.pcloud.com等云服务的异常请求
  2. 网络层面

    • 拦截包含可疑Authorization头的云服务API请求
    • 监控异常User-Agent(如伪装Googlebot)
  3. 系统加固

    • 限制PowerShell执行权限
    • 监控%temp%和%public%目录的异常文件创建
    • 启用内存保护机制(如DEP)
  4. 威胁情报

    • 关注APT37组织最新TTPs
    • 共享IOCs(如样本哈希、C2域名等)

五、总结

RokRAT展现了APT37组织在恶意软件开发上的持续投入,其特点包括:

  • 复杂的多阶段加载机制
  • 创新的C&C通信方式(利用公共云服务)
  • 强大的反检测能力(内存操作、入口点混淆)
  • 全面的信息搜集功能

安全团队应持续关注该组织的攻击手法演变,及时更新防御策略。

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 执行后操作: 执行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请求超时控制 请求头信息: Token位置:Authorization字段 四、防御建议 检测与防护 : 监控异常.lnk文件执行(特别是大尺寸文件) 检测PowerShell隐藏窗口执行行为 监控异常内存分配和属性修改操作 检测对api.pcloud.com等云服务的异常请求 网络层面 : 拦截包含可疑Authorization头的云服务API请求 监控异常User-Agent(如伪装Googlebot) 系统加固 : 限制PowerShell执行权限 监控%temp%和%public%目录的异常文件创建 启用内存保护机制(如DEP) 威胁情报 : 关注APT37组织最新TTPs 共享IOCs(如样本哈希、C2域名等) 五、总结 RokRAT展现了APT37组织在恶意软件开发上的持续投入,其特点包括: 复杂的多阶段加载机制 创新的C&C通信方式(利用公共云服务) 强大的反检测能力(内存操作、入口点混淆) 全面的信息搜集功能 安全团队应持续关注该组织的攻击手法演变,及时更新防御策略。