RedHarlowCore/Remcos-Malware-Analysis

GitHub: RedHarlowCore/Remcos-Malware-Analysis

一份针对 Remcos RAT v1.7 Pro 恶意样本的综合性逆向工程分析报告,涵盖静态分析、持久化机制、反沙箱技术和完整入侵指标。

Stars: 0 | Forks: 0

# 恶意软件分析报告:Remcos RAT v1.7 Pro 这是一份针对 **Remcos RAT (远程访问木马) v1.7 Pro** 样本的综合性技术逆向工程与代码分析报告。该样本作为一个高度优化的加载器,旨在提取内嵌的 payload、规避自动化沙箱环境,并在 Windows 系统上建立深度隐蔽的持久化机制。 ## 🛑 免责声明 本分析仅供教育、研究和威胁情报目的使用。此处记录的指标和特征码旨在帮助防御者识别和缓解威胁。 ## 📊 文件元数据 | 属性 | 值 | | :--- | :--- | | **文件名** | `Remcos.exe` | | **文件大小** | 92.00 KiB | | **文件类型** | PE32 (Portable Executable, 32-bit architecture) | | **子系统** | GUI (图形用户界面) | | **编译器 / 工具** | Microsoft Visual Studio (6.0) / Legacy C++ | | **恶意软件家族** | Remcos RAT | | **版本** | 1.7 Pro | | **MD5** | `fb598b93c04baafe98683dc210e779c9` | | **SHA-1** | `c7ccd43a721a508b807c9bf6d774344df58e752f` | | **SHA-256** | `c851749fd6c9fa19293d8ee2c5b45b3dc8561115ddfe7166fbaefcb9b353b7c4` | Screenshot 2026-07-31 170722 ## 🔍 静态与架构分析 ### 1. 旧版编译器策略 该样本是明确使用 **Microsoft Visual Studio 6.0** 编译的。威胁行为者极其青睐旧版编译器框架,因为其具有特定的结构优势: * **精简的特征码矩阵**:现代防病毒启发式引擎通常会寻找典型的现代 C++ 运行时结构。旧版二进制文件生成精简、原始的汇编循环,很容易混淆静态代码分析引擎。 * **极简占用**:大小恰好为 92 KB,该二进制文件没有庞大的运行时元数据开销,使其能够快速执行并在磁盘上保持隐蔽。 ### 2. 资源提取序列 由于文件占用空间被限制在 92 KB,它将执行重任的组件隐藏在其内部结构中。静态反汇编揭示了通过原生 `KERNEL32` API 指针进行程序化解析的序列: ``` call ds:FindResourceA call ds:LoadResource call ds:LockResource call ds:SizeofResource ``` * **目的**:此功能序列在内部 `.rsrc` 节中定位到一个经过加密和压缩的二进制 blob,将其加载到原始的易失性内存空间中,通过 `esi` 捕获其内存指针,并确定其整体的缓冲区大小。 * **处理过程**:一旦确认了内存布局,特定的解包例程会解析第一个单字节 (`byte ptr [eax]`) 作为架构边界分隔符。它执行基于字符串的拆分序列 (`rep movsd`/`rep movsb`),并通过 `ds:malloc` 将次要 payload 段分配给动态操作结构。 ## ⚙️ 执行配置与主机侧指标 ### 1. 双层持久化执行 为了保证在本地系统重启或管理员手动终止后仍能存活,该二进制文件在 high-privilege 的注册表路径中执行了冗余且具有侵略性的持久化策略。 #### A. Winlogon Userinit 劫持 该恶意软件以 Winlogon 子系统下的基础管理属性为目标: ``` push offset aCWindowsSystem_0 ; "C:\WINDOWS\system32\userinit.exe" push offset aUserinit ; "Userinit" call sub_408FDA ; Custom Registry Modification Handler ``` Screenshot 2026-07-31 165750 * **机制**:在干净的 Windows 环境中,用户初始化路径的准确读取值为 `C:\WINDOWS\system32\userinit.exe,`。Remcos 篡改了这个特定的键值,将其释放后的路径直接注入到末尾逗号之后: `C:\WINDOWS\system32\userinit.exe, C:\Users\\AppData\Local\Temp\install.bat` * **影响**:操作系统将正常触发用户桌面布局,同时在随后的每次登录会话中隐蔽地执行恶意 payload。 #### B. 冗余的标准启动 (Run Key) 在修改 Winlogon 之后,代码立即调用标准初始化持久化机制,以确保在管理键值受到审计时仍能获得执行上下文: ``` push offset aSoftwareMicros_2 ; "Software\Microsoft\Windows\CurrentVersion\Run" call sub_409132 ; Standard Key Creation/Write Wrapper ``` Screenshot 2026-07-31 165836 * **机制**:它通过 `c_str()` 将运行时字符串路径转换为有效的 C-string,并将其绑定到默认软件启动路径下的隐藏键结构中。 ### 2. 脚本释放与执行延迟 (反分析) 该恶意软件经常使用 `MSVCRT` 原生环境层访问本地环境变量,以释放暂存的脚本: ``` push offset aTemp ; "Temp" call ds:getenv ; Fetches environment path string ``` 该样本专门在 `%TEMP%` 中释放并处理两个不同的配置脚本: * **`install.bat`**:在早期释放阶段部署,用于突破内存限制并注入初始化 payload。 * **`update.bat`**:在接收来自命令基础设施的软件指令时,用作临时执行向量,以平滑替换磁盘上的核心加载器文件。 Screenshot 2026-07-31 165959 #### 反沙箱延迟 为了系统地对抗标准安全沙箱的定时器,批处理脚本包含硬编码的环回配置: ``` PING 127.0.0.1 -n 2 ``` * **战术意图**:在缺少原生执行 sleep 触发器的旧版环境中,运行重复的本地网络环路会强制产生内部操作暂停。这种特定的延迟会安全地拖延执行循环,直到活跃的沙箱运行时窗口耗尽,从而阻止自动化的行为分析。 Screenshot 2026-07-31 165247 ## 🌐 网络配置与基础设施 (C2) 该二进制基础设施内嵌了预配置的 endpoint,直接路由到公共端口转发隧道,有效地隐藏了操作者的后端部署资产: * **主控制接口:** `nickman12-46565.portmap.io:46565` * **辅助数据外发通道:** `nickman12-46565.portmap.io:1735` Screenshot 2026-07-31 170539 ## 🎯 完整的入侵指标 ### 文件指标 * **目标样本名称:** `Remcos.exe` * **观察到的特征码:** Remcos RAT v1.7 Pro Loader ### 主机侧指标 (目标路径) * `%TEMP%\install.bat` * `%TEMP%\update.bat` ### 注册表完整性目标 * `HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit` (追加的参数值) * `HKLM\Software\Microsoft\Windows\CurrentVersion\Run\<混淆值>` * `HKCU\Software\Microsoft\Windows\CurrentVersion\Run\<混淆值>` ### 网络基础设施 endpoint * `nickman12-46565.portmap.io` (端口 `46565` 和 `1735`)
标签:DAST, DNS 反向解析, 云资产清单, 威胁情报, 安全报告, 开发者工具, 恶意软件分析, 端点可见性, 逆向工程