omarbabba779xx/malware-sandbox-analysis-lab

GitHub: omarbabba779xx/malware-sandbox-analysis-lab

在隔离的 REMnux 沙箱中对五个真实恶意软件样本进行完整静态与动态分析流程的 SOC 实战作品集项目。

Stars: 0 | Forks: 0

# 恶意软件沙箱分析实验室 **在无互联网访问的隔离虚拟机内,对 5 个真实的活跃恶意软件样本进行的静态和动态分析。** SOC 作品集项目 —— 实践 SOC/DFIR 分析师在处理可疑文件时使用的确切工作流程:识别其真实面目、功能、通信对象以及如何检测它 —— 从头到尾,每一步都有真实的截图作为证据,而不是口头描述。 ## 目录 1. [关于本项目](#about-this-project) 2. [环境与工具](#environment--tools) 3. [步骤 1 — 构建隔离的分析虚拟机](#step-1--build-an-isolated-analysis-vm) 4. [步骤 2 — 安全获取真实样本](#step-2--acquire-real-samples-safely) 5. [步骤 3 — 静态分析](#step-3--static-analysis) 6. [步骤 4 — 动态分析](#step-4--dynamic-analysis) 7. [样本 1 — AgentTesla](#sample-1--agenttesla--vt-majority-label-formbook) 8. [样本 2 — RedLineStealer](#sample-2--redlinestealer) 9. [样本 3 — njRAT / Bladabindi](#sample-3--njrat--bladabindi) 10. [样本 4 — LokiBot 投递文档](#sample-4--lokibot-delivery-document-rtf-exploit) 11. [样本 5 — AsyncRAT / XWorm](#sample-5--asyncrat--vt-sandbox-signature-xworm) 12. [汇总 IOC 列表](#consolidated-ioc-list) 13. [重要发现](#notable-findings-worth-a-second-look) 14. [仓库结构](#repository-structure) ## 关于本项目 恶意软件分析是培养真实检测直觉最直接的方法之一。阅读供应商的威胁报告固然有用,但拆解一个真实的样本 —— 包括它的加壳、反分析技巧、C2 基础设施 —— 能学到摘要永远无法教给你的东西。 本项目包含从 MalwareBazaar 获取的 5 个真实样本,每个样本都经历了相同的流程:安全获取 → 静态初步检测 → 交叉引用的动态沙箱行为 → 包含 IOC 和检测规则的结构化报告,这正是 SOC 团队在发生安全事件后会实际提交的那种报告。 下面的每一个发现都来自真实的样本和真实的工具输出 —— 这里没有任何虚构的示例。当两个工具对某个样本的家族归属存在分歧时(这发生得比人们想象的更频繁),我们会如实记录,而不是含糊其辞,因为解决这类分歧是真实恶意软件检测中很正常的一部分。 ## 环境与工具 | 组件 | 详情 | |---|---| | 分析虚拟机 | REMnux(基于 Ubuntu 24.04),4 vCPU / 6 GB 内存,VirtualBox | | 网络 | 仅 Host-only 适配器 —— **无 NAT,无互联网路由** | | 静态工具 | `exiftool`、`pecheck.py`、`strings`、`floss`、`capa`、`yara`、`olevba` / `oledump.py` | | 动态数据源 | 每个精确 SHA256 对应的 VirusTotal 公共多沙箱报告(CAPE Sandbox、C2AE、Dr.Web vxCube、Zenbox、Yomi Hunter) | | 样本来源 | MalwareBazaar (abuse.ch) | 在本实验室中,没有任何样本被针对真实的命令与控制基础设施进行引爆 —— 隔离的虚拟机被故意设定为没有任何途径能够访问它们。VirusTotal 自身为每个 hash 提供的多沙箱执行数据,安全且可重复地提供了动态行为证据。 ## 步骤 1 — 构建隔离的分析虚拟机 REMnux 部署时仅使用了 Host-only 网络适配器 —— 完全没有附加 NAT 适配器,因此无论出现何种配置错误,都不存在通向互联网的路由。 隔离状态是**经过验证的,而非想当然**。从运行中的虚拟机内部执行: ``` $ ping -c 3 8.8.8.8 ping: connect: Network is unreachable ``` ![网络隔离已验证 —— 虚拟机内部无互联网路由](https://static.pigsec.cn/wp-content/uploads/repos/cas/c5/c595e7a3d6f4b4438c688fe975b695c46cbe30b36381142251b79258afed8d9a.png) *证据:完整的终端会话,显示虚拟机的网络接口在隔离的 Host-only 子网上启动,随后 ping 8.8.8.8 失败,确认了零互联网可访问性。* ## 步骤 2 — 安全获取真实样本 样本作为**受密码保护的 zip 压缩包**从 MalwareBazaar 获取(密码为 `infected` —— 这是行业标准惯例,专门为了防止压缩包在传输过程中被自动解压或自动扫描),并通过隔离的 Host-only 网络直接传输到 REMnux 虚拟机中。它们**仅在隔离的虚拟机内部**进行解压,绝不在宿主机上解压,并且在开始分析之前,每个文件的 SHA256 都被重新计算并与 MalwareBazaar 自己发布的 hash 进行匹配 —— 确认样本在传输过程中没有损坏或被篡改。 ## 步骤 3 — 静态分析 每个样本在任何地方被执行之前,都会经历相同的静态处理流程: - `exiftool` —— 提取文件元数据、编译时间戳、嵌入的产品/公司字符串(通常是故意伪造的)。 - `pecheck.py` —— 检查 PE 节区熵值,以发现加壳/加密。 - `strings` / `floss` —— 明文和去混淆后的字符串提取。 - `capa` —— 映射到恶意软件行为目录(MBC)的自动化能力检测。 ## 步骤 4 — 动态分析 由于实验室虚拟机没有互联网路径(出于设计目的),动态行为来源于 **VirusTotal 自身对完全相同的 SHA256 的沙箱执行** —— CAPE Sandbox、C2AE、Dr.Web vxCube、Zenbox 和 Yomi Hunter 都独立引爆提交的样本,并发布 MITRE ATT&CK 映射、众包的 Sigma/IDS 规则匹配结果以及完整的网络 IOC(实际连接过的域名、IP、端口)。这为每个样本提供了真实、可重复的动态证据,而完全不需要让活跃样本接触到真实的 C2 服务器。 ## 样本 1 — AgentTesla *(VT 多数标签:FormBook)* | 字段 | 值 | |---|---| | 内部 PE 名称 | `dZRD.exe` | | SHA256 | `4709437e9ba8a8dc08e5e2d7a9c37b3e7b35c848c15ed1e75f7ee05204d43d59` | | 类型 / 大小 | PE32 .NET,GUI 子系统 —— 1,108,480 字节 | | VirusTotal 检测率 | **46 / 69** 个引擎 | **静态发现**:PE 头部包含一个故意伪造的 `TimeDateStamp`,显示日期为 **2049年2月1日** —— 这是一种反取证技巧,旨在挫败基于时间线的初步分析。元数据被伪装成看起来像是一个合法工具(`Company: Audacity`,`Product: WindHarp`)。`.text` 节区测得的熵值为 **7.76 / 8.0**,证实了加壳/加密的 payload。`capa` 标记了反分析字符串、.NET 资源访问(加壳的 payload 极有可能作为加密资源隐藏在其中),以及与进程注入准备一致的线程创建行为。 ![VirusTotal 检测比例和社区家族标签](https://static.pigsec.cn/wp-content/uploads/repos/cas/9c/9cc12d74b166a308227f441a55279c4377ea7c7123cc4619b185c59794ee8117.png) *46/69 个引擎将其标记为恶意。VirusTotal 的热门威胁标签显示为 `trojan.msil/formbook` —— 这与它在 MalwareBazaar 上携带的 AgentTesla 标签不同。这个差异将在下面使用网络证据予以解决,而不是靠猜测。* ![来自沙箱运行结果的 MITRE ATT&CK 技术映射](https://static.pigsec.cn/wp-content/uploads/repos/cas/45/4595b674af7d8c6fa21107af4cbad1c19383377bf027aecd05f62800f034a3fe.png) *Process Injection (T1055)、OS Credential Dumping (T1003) 和 Sandbox Evasion 均直接从动态沙箱执行中映射得出 —— 这与 `capa` 仅通过静态分析预测的结果完全一致。* ![确认真实家族和 C2 IOC 的 IDS 签名匹配](https://static.pigsec.cn/wp-content/uploads/repos/cas/c7/c75850b2a8dbe39f1a214808bc114dfd56cbdd347560a31755afc9ad278ddfe3.png) *这才是真正解决 AgentTesla 与 FormBook 之争的证据:明确匹配到的众包 IDS 规则被命名为 **"ET MALWARE Agent Tesla CnC Exfil via TCP"** 和 **"ET MALWARE AgentTesla Exfil via FTP"** —— 这是一个直接点出家族名称的网络行为签名。解析出的 C2 域名:`ftp.cyberflor.co` → `103.224.93.246`。* ![凭证窃取相关的文件访问目标](https://static.pigsec.cn/wp-content/uploads/repos/cas/ca/ca990901fc08cadc8c1f78d27d87345c39c0ee84395468c79e4b74961e586a5d.png) *沙箱日志显示样本打开了 `C:\FTP Navigator\Ftplist.txt`、FlashFXP 的配置文件夹,以及 Chrome/Brave/7Star/Amigo 的配置目录 —— 这是一次教科书式的信息窃取器凭证收割行动,横扫了已保存的 FTP 客户端和基于 Chromium 的浏览器。* ![完整的检测栏、行为标签和沙箱类别计数](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad2c23a4138f56fbbdc51789b47523b6a590bdaf6821997a6014d9a24f99a90d.png) *完整的活动摘要栏:44 个中危 + 15 个低危 MITRE 签名,2 个高危 + 1 个低危 IDS 规则,3 个中危 Sigma 规则,1 个 DNS + 2 个 IP 网络连接 —— 展示了沙箱观察到的完整范围,而不仅仅是重点部分。* ![沙箱判定标签和各引擎的 MALWARE/STEALER 标签](https://static.pigsec.cn/wp-content/uploads/repos/cas/71/71baca4f3f028380dae3b315cb39100732f1f4fd5ea7c6433c05862b99288315.png) *行为标签包括 `calls-wmi`、`checks-network-adapters`、`ftp-communication`、`obfuscated` —— 此外,CAPE Sandbox 和 C2AE 分别独立地将其标记为 MALWARE 和 STEALER。* ![恶意软件行为目录(MBC)树 —— 完整的能力分类体系](https://static.pigsec.cn/wp-content/uploads/repos/cas/6e/6e4423b07afc9a7596e1fe70d5372863e241bad8e6adb4adca4d75f20a1c15b4.png) *沙箱将行为映射所依据的完整 MBC 类别树(反行为分析、收集、凭证访问、防御规避、发现、持久化等)—— 这是上方所示 MITRE ATT&CK 摘要背后的分类体系。* ![完整的 Sigma 规则详情 —— LSASS 注入和可疑的 Msbuild 执行](https://static.pigsec.cn/wp-content/uploads/repos/cas/e8/e8db3801fb4a6f0ab3eafe497a67a784660bd1d5e79d3e1ee19f033f2187921a.png) *按名称匹配到的三个中危 Sigma 规则:"Unsigned Image Loaded Into LSASS Process"、"Sysmon File Executable Creation Detected" 和 "Suspicious Msbuild Execution By Uncommon Parent Process" —— 每一个都附带了完整的规则描述,而不仅仅是规则名称。* **IOCs**:C2 域名 `ftp.cyberflor.co`,C2 `103.224.93.246:21` (FTP) / `:49200` (TCP)。完整报告:[reports/01_agenttesla_report.md](reports/01_agenttesla_report.md) ## 样本 2 — RedLineStealer | 字段 | 值 | |---|---| | 内部 PE 名称 | `jOto.exe` | | SHA256 | `cbb753220731503e7974588a48305dcf19d8528d7299f695e05211f845a8f720` | | 类型 / 大小 | PE32 .NET,GUI 子系统 —— 797,696 字节 | | VirusTotal 检测率 | **44 / 66** 个引擎 | **静态发现**:二进制文件在嵌入的 PDB 引用中泄露了其自身的构建路径:`C:\Users\Administrator\Desktop\Client\Temp\hEqQLLRSYw\src\obj\Debug\jOto.pdb` —— 这是一个位于随机命名的临时文件夹下的 Debug 构建,符合 RedLine 已知的“窃取器即服务”构建模型,即每次构建都会生成一个新的项目目录。它被伪装成 `CNCToolpathSimulator`,这是一类真实的合法 CNC 加工软件。`.text` 熵值 **7.87 / 8.0** —— 加壳。 ![VirusTotal 检测比例和多沙箱判定](https://static.pigsec.cn/wp-content/uploads/repos/cas/53/5329a8e1ef774676e1f9812c95dd7041cbf75d1b9890a8e85bba2d2cc7b7a4ef.png) *44/66 个静态检测。六个独立的沙箱运行了这个确切的 hash —— 其中三个(CAPE Sandbox、C2AE、Yomi Hunter)明确地将其直接标记为 **STEALER** / **MALWARE**,而不仅仅是“可疑”。* ![MITRE ATT&CK 映射 —— 持久化、凭证访问、注入](https://static.pigsec.cn/wp-content/uploads/repos/cas/02/022206e689269977da67c070a6e73bcac6f50f25b408b47fd55d82e318d4d625.png) *Registry Run Key 持久化 (T1547/T1060)、Process Injection (T1055)、OS Credential Dumping (T1003)、Credentials from Password Stores (T1555) —— 均已动态确认,此外还有针对可疑 `svchost.exe` 命令行参数(一种常见的进程伪装技巧)的高危 Sigma 匹配。* ![确认的 RedLine C2 网络 IOC](https://static.pigsec.cn/wp-content/uploads/repos/cas/c8/c81b44e68cc5b088876163f7fdc9ebc8e69004bb6ce26812db776f85521af0ca.png) *按名称匹配到的众包 IDS 规则:**"MALWARENC Win.Infostealer.RedLine outbound connection"**(两次)和 **"ET MALWARE Redline Stealer/MetaStealer Family Activity."**。在窃取数据之前,样本会通过 `api.ip.sb` 和 `ipinfo.io` 检查受感染主机的公网 IP —— 然后将窃取的数据 POST 到其真正的 C2 `194.156.79.16:55615`。* ![完整的活动摘要及所有 4 个沙箱判定结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/92/92034ff7671c26d032de2f84bba6f47bc39d4062abd841b4ffc049e6b9aad2cf.png) *四个独立的沙箱给出结论:Zenbox 表示 "MALWARE TROJAN EVADER",CAPE Sandbox 表示 "MALWARE",C2AE 表示 "STEALER",Yomi Hunter 表示 "MALWARE"。在完整的活动计数中,有 77 个丢弃文件、5 个 HTTP 请求和 3 个 DNS 解析。* ![完整的 6 条高危 IDS 匹配列表,包含对第二个窃取器家族的引用](https://static.pigsec.cn/wp-content/uploads/repos/cas/34/3463ac2cea6c036a881819f45d874b03ad615e9c157f0263e41c616cf9dcac54.png) *全部六条高危(HIGH)IDS 匹配详情:"ET MALWARE RedLine Stealer - CheckConnect Response"、"ET MALWARE Redline Stealer/MetaStealer Family Activity" 以及两次 "MALWARE-CNC Win.Infostealer.RedLine outbound connection" 命中 —— 此外有趣的是,还有一条以*另一个不同的*窃取器家族命名的规则("ET MALWARE Win32/LeftHook Stealer Browser Extension Config Inbound"),这表明不同窃取器家族之间存在重叠或共享的基础设施,这在当前的犯罪软件生态系统中是一种真实且普遍的现象。* ![JA3 TLS 指纹和额外的内存特征域名](https://static.pigsec.cn/wp-content/uploads/repos/cas/13/13581c0a1555c7b2455f4fab9a19a39f5f579555850ae0d7c61655e7800aa76e.png) *除了主要的 C2 之外,沙箱的内存扫描还发现了驻留在进程中的额外域名串(`sajatypeworks.com` 及其变体、`api.ipify.org`),以及两个不同的 JA3 TLS 客户端指纹 —— 即使 C2 域名本身发生轮换,这对于基于网络的检测也非常有用。* **IOCs**:C2 `194.156.79.16:55615`;通过 `api.ip.sb`、`ipinfo.io` 进行受害者指纹识别。完整报告:[reports/02_redlinestealer_report.md](reports/02_redlinestealer_report.md) ## 样本 3 — njRAT / Bladabindi | 字段 | 值 | |---|---| | 内部 PE 名称 | `Stub.exe` | | SHA256 | `c559ae3589ef6275ab17974827435d17215a4f81b35da976a98299021addcc93` | | 类型 / 大小 | PE32 .NET (VB.NET),GUI 子系统 —— 32,256 字节 | | VirusTotal 检测率 | **62 / 68** 个引擎 | **静态发现**:与其他样本不同,该样本**未加壳**(熵值 5.62/8.0),因此其完整的字符串表可以直接读取。它包含一个硬编码的分析/安全工具检查清单,在运行前会查找这些工具:`procexp`、`SbieCtrl` (Sandboxie)、`wireshark`、`processhacker`、`Reflector`,并且值得注意的是 **`VBoxService`**(VirtualBox Guest Additions,正是本实验室使用的那种虚拟机)。它还具有真实的键盘记录 API(`GetAsyncKeyState`、`GetKeyboardState`)、屏幕/网络摄像头捕获功能(`CopyFromScreen`、`avicap32.dll`)、自行安装的 Windows 防火墙例外(`netsh firewall add allowedprogram`),以及经典的 `ping 0 -n 2 & del` 自删除模式。 ![VirusTotal 检测比例和多沙箱判定](https://static.pigsec.cn/wp-content/uploads/repos/cas/fa/fa693ef63289b552e6bf890e1987e538bd493a645972831843ed2f1a77fec8f3.png) *62/68 —— 本组中检测率最高的样本之一,符合 njRAT 作为一个长期存在且被广泛标记的特征码家族的情况。* ![包含 Input Capture(键盘记录)的 MITRE ATT&CK 映射](https://static.pigsec.cn/wp-content/uploads/repos/cas/98/98d18b0679285c2cbfcb084ca812b49b9cdd6e6aa0200657919588c097438f45.png) *Input Capture (T1056) 已被动态确认 —— 与静态分析中已经发现的键盘记录 API 字符串相匹配 —— 此外还有 Process Injection 和 Registry Run Key 持久化。* ![确认的 njRAT/Bladabindi IDS 签名和 C2 IOCs](https://static.pigsec.cn/wp-content/uploads/repos/cas/cd/cddf0445a6ebd4529145ae073eb91f8b46aa13cd082bfdeec8e02bd3425aeacf.png) *按名称匹配的 IDS 规则:**"ET MALWARE Generic njRAT/Bladabindi CnC Activity (II)"** —— 独立于任何 AV 供应商标签的直接、明确确认。观察到的活跃 C2:`jun88.now`,由 Cloudflare 边缘 IP `104.21.50.140` / `172.67.163.173` 前置代理。* ![完整的活动摘要和所有 4 个沙箱的 MALWARE/RAT 判定结果](https://static.pigsec.cn/wp-content/uploads/repos/cas/28/288960bf9d14d8b0bdad70b07192d9c526ecbbe1b1a317a591949f4479a10ef3.png) *CAPE Sandbox:"MALWARE." Zenbox:"MALWARE TROJAN EVADER RAT." C2AE:"RAT." Yomi Hunter:"MALWARE." 行为标签 `calls-wmi`、`checks-user-input`、`obfuscated`、`persistence` 补全了全貌 —— 总共观察到 41 个中危 MITRE 签名。* ![确认静态发现的自行安装防火墙例外的 Sigma 规则详情](https://static.pigsec.cn/wp-content/uploads/repos/cas/4b/4b604a5f49821f5799aa88efa751b572c602a9f8d339063aec46add485763c7c.png) *动态沙箱独立地捕获了从静态字符串分析中预测到的确切行为:"New Firewall Rule Added Via Netsh.EXE" —— 这直接证实了在二进制文件中发现的 `netsh firewall add allowedprogram` 字符串是真实执行过的行为,而不是死代码。* **IOCs**:活跃 C2 `jun88.now`(由 Cloudflare 前置代理);静态嵌入的候选 C2 `fly88.krd`(从嵌入的 base64 字符串解码而来)。完整报告:[reports/03_njrat_report.md](reports/03_njrat_report.md) ## 样本 4 — LokiBot 投递文档(RTF 漏洞利用) | 字段 | 值 | |---|---| | 提交名称 | `officedocuments.doc` | | SHA256 | `904a61a37592f6a7c9e5db72bc097782911ac5992b17c2188ae9c6306c41c1e2` | | **真实文件类型** | **RTF**,而非 Word 二进制文件 —— 尽管扩展名为 `.doc` | | 大小 | 611,186 字节 | | VirusTotal 检测率 | **29 / 55** 个引擎 | **静态发现**:`file` 和 `exiftool` 都将其报告为纯 `text/plain`,而不是 OLE2 Word 文档 —— `.doc` 扩展名纯粹是一个社会工程学标签。该文件以 `{\rt` 开头,后跟一长串填充到 RTF 控制字结构中的混淆噪声(一种众所周知的技术:Word 宽容的 RTF 解析器会忽略无法识别的控制字,因此垃圾填充会破坏 AV 签名,同时文档仍能正常打开和运行)。`objdata` 关键字确认了嵌入的 OLE 对象。 ![VirusTotal 检测结果和确认的漏洞利用 CVE](https://static.pigsec.cn/wp-content/uploads/repos/cas/26/26096e5285255ad30588069341473ed323e92b8e506aed976a91971324cbbca4.png) *VirusTotal 自身的社区标签直接确认了漏洞利用链:**CVE-2017-11882** 和 **CVE-2018-0798** —— 两者均为 Microsoft 公式编辑器内存损坏漏洞,是历史上被利用次数最多的 Office RCE 之一。* ![确认的 payload 投递网络 IOC](https://static.pigsec.cn/wp-content/uploads/repos/cas/a4/a433a35f59840efff59cd2403d62cb57b182bd1a956924ecd9818f0c47cf8753.png) *沙箱执行显示,被利用的公式编辑器进程通过普通 HTTP 在非标准端口上从 `91.92.240.104:7777/apexfurllc.top/akellyqwe/kellyqwe.js` 获取真实的 LokiBot payload —— 此外在执行期间还联系了一个已知的 Tor 中继节点。* ![RTF 漏洞利用链的完整 MITRE ATT&CK 分解](https://static.pigsec.cn/wp-content/uploads/repos/cas/82/825925c93f25faa3edcb6f1e550c8c97d927309c86af7e2af49e0e39c128f0a1.png) *C2AE 和 DOCGuard 都直接将其标记为 MALWARE。完整技术分解:在 Privilege Escalation 和 Stealth 下的 Process Injection (T1055)、System Information Discovery (T1082)、File and Directory Discovery (T1083) —— 被利用的公式编辑器进程在投递 LokiBot payload 之前或同时,主动对主机进行了侦察。* **IOCs**:漏洞利用 CVE 2017-11882 / 2018-0798;payload 主机 `91.92.240.104:7777`。完整报告:[reports/04_lokibot_report.md](reports/04_lokibot_report.md) ## 样本 5 — AsyncRAT *(VT 沙箱签名:XWorm)* | 字段 | 值 | |---|---| | 提交名称 | `PedidodeCompraPOF0000095.vbs`(“采购订单”钓鱼诱饵) | | SHA256 | `391edbfdd1f3011d914612342f927b20b6268d4e9effbd7e7b90f5428d827c16` | | 类型 / 大小 | VBScript,纯文本 —— **1.26 MB**,10,965 行 | | VirusTotal 检测率 | **5 / 61** 个引擎 (静态) | **静态发现 —— 本组最重要的结果**:在 10,965 行代码中,静态分析发现**仅有一行**包含真正的逻辑 —— `Set miscegenating = CreateObject("Wscript.Shell")`。其他所有内容都是数千条重复的、功能上无效的字符串连接语句,并带有垃圾字典单词变量名(`dissemblance`、`hyperferremia`、`antalkali`),其存在纯粹是为了将文件膨胀到超过 AV 的大小/复杂度阈值。这就是为什么静态检测率仅为 5/61 的直接而具体的原因,尽管该样本在被实际执行的那一刻起就是毫无疑问的恶意软件。 ![VirusTotal 检测比例 —— 尽管已确认具有恶意行为,静态评分依然很低](https://static.pigsec.cn/wp-content/uploads/repos/cas/5e/5e748915ecab141f106b59170afc954249fae7919cdf0ce8f4418fd5e586f8ec.png) *静态检测仅 5/61 —— 真实地展示了基于填充的规避手段在仅针对特征码扫描时有多么有效。* ![来自动态引爆的 MITRE ATT&CK 映射](https://static.pigsec.cn/wp-content/uploads/repos/cas/aa/aa83acdd26fcf6db57e50750b6ac39b7e7751a8c9ff4e03276cfe1e4b63aa9d9.png) *一旦实际运行,情况完全逆转:Process Injection、Steal Web Session Cookie (T1539)、Credential Dumping,以及通过 `csc.exe` 进行即时 .NET 编译(一种在内存中生成 payload 的“就地取材”技术)均开始出现。* ![XWorm/AsyncRAT 网络签名匹配](https://static.pigsec.cn/wp-content/uploads/repos/cas/a6/a6e9e259e0ce4b315ec38132796fecd8a24834d7572d8f4f19fb62bfe33f370e.png) *网络行为 IDS 签名:**"MALWARE-CNC Win.Infostealer.XWorm variant communication."** XWorm 是泄露的 AsyncRAT 源码的一个有据可查的公开分支 —— 同一家族树,不同的供应商标签,这与上文 AgentTesla/FormBook 冲突发生的原因相同。* ![Payload 分发和 C2 网络 IOCs](https://static.pigsec.cn/wp-content/uploads/repos/cas/e4/e4397c96d4743dd3ac92f6bd099adfefd99d29ff72eb593a5c8b7a6bcce98ffa.png) *第二阶段 payload 隐藏在 `gridfile.cfd` 上的虚假 `.png` 路径下进行分发(这是一种真实且常见的伎俩 —— “图片”并不是图片)。对 `keyauth.win`(一种被破解的 RAT 构建工具包广泛滥用的授权/身份验证系统)的 DNS 查询强烈表明,这是使用公开可用的 AsyncRAT/XWorm 构建器构建的,而不是定制工具。最终 C2:`45.141.148.126:1122`。* ![确认自删除和长睡眠规避的行为标签,以及完整的 MITRE 矩阵](https://static.pigsec.cn/wp-content/uploads/repos/cas/22/22a7f1a13df681a8cb3b3304cb1930b49b4489dff9bb86c597d0646fa7774949.png) *这里的行为标签说明了它们自身的故事:`long-sleeps`(延迟执行,以熬过简短的自动化沙箱超时)、`self-delete`、`detect-debug-environment`、`macro-powershell` —— 所有这些都表明这是一个为了在自动化初步分析中存活而构建的脚本,其目的绝不仅仅是为了对付人类分析师。* **IOCs**:payload 主机 `gridfile.cfd`;构建器基础设施 `keyauth.win`;C2 `45.141.148.126:1122`。完整报告:[reports/05_asyncrat_report.md](reports/05_asyncrat_report.md) ## 汇总 IOC 列表 | 样本 | 类型 | IOC 类型 | 值 | |---|---|---|---| | AgentTesla | domain |2 | `ftp.cyberflor.co` | | AgentTesla | ip:port | C2 | `103.224.93.246:21`, `:49200` | | RedLineStealer | ip:port | C2 | `194.156.79.16:55615` | | RedLineStealer | domain | recon | `api.ip.sb`, `ipinfo.io` | | njRAT | domain | C2 | `jun88.now`, `fly88.krd` | | njRAT | ip | C2 (Cloudflare) | `104.21.50.140`, `172.67.163.173` | | LokiBot | ip:port | payload delivery | `91.92.240.104:7777` | | LokiBot | CVE | exploit | CVE-2017-11882, CVE-2018-0798 | | AsyncRAT/XWorm | domain | payload staging | `gridfile.cfd` | | AsyncRAT/XWorm | domain | builder infra | `keyauth.win` | | AsyncRAT/XWorm | ip:port | C2 | `45.141.148.126:1122` | 完整的机器可读 CSV 文件:[iocs/iocs_summary.csv](iocs/iocs_summary.csv) ## 值得再次关注的重要发现 - **两次独立的家族标签冲突,均以证据而非猜测解决。** AgentTesla 与 FormBook 之争以及 AsyncRAT 与 XWorm 之争,都是通过阅读实际的网络行为 IDS 签名来解决的,而不是盲目相信提交者的标签或 AV 的多数投票。 - **一个 99% 都是死代码的 Dropper** —— 这清楚地说明了为什么仅靠静态分析本身是远远不够的。 - **一个会对其分析环境进行指纹识别的 RAT** —— njRAT 在运行前会明确检查 VirtualBox Guest Additions 和已知的分析工具。 - **一个撒谎的文件扩展名** —— LokiBot 的“`.doc`”实际上是纯文本 RTF;在信任标签之前验证真实的文件类型,才是捕获隐藏在背后的漏洞利用链的关键。 ## 仓库结构 ``` malware-sandbox-analysis-lab/ ├── README.md this file — full project walkthrough with embedded evidence ├── reports/ 5 full per-sample markdown analysis reports ├── iocs/ consolidated IOC CSV ├── screenshots/ 28 evidence screenshots referenced throughout this README └── samples_encrypted/ original password-protected sample archives (local only — see note below) ``` **关于样本分发的说明**:为了确保可重复性,原始的受密码保护压缩包在本地进行了保留,但被刻意排除在此公共仓库之外(参见 `.gitignore`)。在公共代码托管平台上发布哪怕是加密的活跃恶意软件,也会导致仓库面临自动化的滥用检测处置风险;上面已经全文发布了每一个 hash、IOC 和发现,这才是审查时真正重要的内容。
标签:DAST, DNS 反向解析, REMnux, 云安全监控, 威胁情报, 开发者工具, 恶意软件分析, 网络信息收集, 逆向工具, 静态分析