Cyber-Nate/SOC-USB-Malware-RAT-Analysis
GitHub: Cyber-Nate/SOC-USB-Malware-RAT-Analysis
该项目是一份完整的 SOC 模拟事件调查报告,针对 USB 恶意软件 RAT 感染场景,展示了从检测、分析到遏制与取证的全流程。
Stars: 1 | Forks: 0
# SOC 调查 — USB 恶意软件与 RAT 感染
[](https://attack.mitre.org/)
[]()
[]()
**分析师:** Nathaniel T. Ogunjobi (AMICDFA, CBTP, CCEP, CTIGA)
**项目:** NexSecure Cybersecurity Bootcamp — 最终项目 2
**事件 ID:** INC-2026-0414-002
**组织:** TechNova Solutions *(模拟环境 — 训练营练习)*
## TL;DR
一名员工插入了一个未知的 USB 驱动器。Windows AutoRun 启动了一个
dropper,植入了伪装的 RAT (`svchost32.exe`),该 RAT 随后生成了
编码的 PowerShell,设置了注册表 + 计划任务持久性,并
连接到了基于 Telegram 的 C2 服务器 — 所有这些都在 20 秒内完成。EDR 在 **60 秒内** 捕获到了
PowerShell + 出站 C2 的组合。主机被
隔离、进行内存转储、清理并重装镜像;全组织的威胁狩猎未发现横向传播。
| | |
|---|---|
| **攻击媒介** | 物理 USB 驱动器 — AutoRun 恶意软件 dropper |
| **恶意软件类型** | 远程访问木马 (RAT),疑似 AsyncRAT/QuasarRAT 变种 |
| **根本原因** | 启用了 AutoRun/AutoPlay,没有 USB 设备白名单 |
| **检测方法** | EDR/SIEM — 可疑的 PowerShell + C2 出站关联 |
| **检测延迟** | < 60 秒 |
| **完全控制时间** | 约 2 小时 48 分钟(包括重装镜像) |
| **MITRE ATT&CK** | `T1091` USB 复制 · `T1059.001` PowerShell · `T1547.001` 注册表 Run 键 · `T1071` 应用层协议 C2 |
## 感染链
```
USB inserted
│
▼
AutoRun executes dropper (malware.exe)
│
▼
Payload dropped → C:\Users\Public\svchost32.exe (disguised as a system process)
│
▼
Encoded PowerShell spawned (-EncodedCommand -WindowStyle Hidden)
│
▼
Persistence established
├─ Registry Run key: HKCU\...\Run\SystemHost
└─ Scheduled task: \Microsoft\Windows\SystemMaintenance\HostUpdate
│
▼
C2 callback → 91.108.4.33:4444 (Telegram-based infrastructure)
│
▼
RAT capabilities active: keylogging, screenshot capture, file
exfiltration, lateral movement potential
```
完整的阶段性拆解分析:[`docs/soc-investigation-report.md`](docs/soc-investigation-report.md#malware-behavior-analysis)
## 事件时间线
| 时间 (WAT) | 事件 |
|---|---|
| 11:42:03 | 插入 USB — AutoRun 触发 `autorun.inf` |
| 11:42:05 | Dropper 执行,植入 `svchost32.exe` |
| 11:42:07 | 生成编码的 PowerShell |
| 11:42:12 | 添加注册表持久性键 |
| 11:42:20 | 建立到 `91.108.4.33:4444` 的 C2 连接 |
| 11:43:01 | 触发 EDR/SIEM 告警 |
| 11:44 | 开始 L1 分流 |
| 11:50 | 通过 EDR 隔离主机 |
| 12:05 | 内存转储 + 取证分析 (L2) |
| 12:30 | 移除恶意软件,清理主机 |
| 13:00 | 启动全组织范围的威胁狩猎 |
| 14:30 | 主机重装镜像,宣布事件得到控制 |
完整的带注释时间线:[`docs/incident-timeline.md`](docs/incident-timeline.md)
## 攻陷指标 (IOCs)
| 类型 | 值 | 描述 |
|---|---|---|
| 恶意文件 | `C:\Users\Public\svchost32.exe` | 伪装成 Windows 系统进程的 RAT 载荷 |
| 文件哈希 (MD5) | `a3f4b1c2d5e6789012345678abcdef01` | dropper (`malware.exe`) 的哈希值 |
| 文件哈希 (SHA256) | `e3b0c44298fc1c149afb...d27` | RAT 载荷的哈希值 |
| C2 IP | `91.108.4.33` | 基于 Telegram 的 C2 基础设施 |
| C2 端口 | `TCP 4444` | 反向 shell / 回调通道 |
| 注册表键 | `HKCU\Software\Microsoft\Windows\CurrentVersion\Run\SystemHost` | 主要持久性机制 |
| 计划任务 | `\Microsoft\Windows\SystemMaintenance\HostUpdate` | 通过任务计划程序的辅助持久性 |
| 进程行为 | `powershell.exe -EncodedCommand -WindowStyle Hidden` | 规避技术 — 编码的、隐藏的执行 |
| USB autorun | `autorun.inf — OPEN=malware.exe` | 插入 USB 时的触发机制 |
机器可读版本:[`iocs/ioc-table.csv`](iocs/ioc-table.csv)
## MITRE ATT&CK 映射
| 技术 | 名称 | 在此事件中的作用 |
|---|---|---|
| [T1091](https://attack.mitre.org/techniques/T1091/) | 通过可移动媒体进行复制 | 通过 USB AutoRun 的初始感染媒介 |
| [T1059.001](https://attack.mitre.org/techniques/T1059/001/) | PowerShell | 编码命令执行以规避检测 |
| [T1547.001](https://attack.mitre.org/techniques/T1547/001/) | 注册表 Run 键 / 启动文件夹 | 重启后的持久性 |
| [T1071](https://attack.mitre.org/techniques/T1071/) | 应用层协议 | 通过伪装成正常流量的非标准端口进行 C2 通信 |
包含检测/缓解说明的完整映射:[`docs/mitre-attack-mapping.md`](docs/mitre-attack-mapping.md)
## SOC 响应 (L1 → L2)
**L1** — 收到关于异常的 `explorer.exe → powershell.exe`
父进程链以及连接到非白名单 IP 的出站连接的 EDR 告警,结合 Windows 事件 ID 4688(进程创建)、7045(服务
安装)以及 USB 插入事件 (2003) 进行了验证,确认为真正威胁,并
附上完整的证据包进行升级上报。
**L2** — 通过 EDR 隔离主机且未惊动攻击者,使用 Magnet RAM Capture 捕获了
完整的内存转储,执行了静态/动态分析
确认了 RAT 能力,移除了恶意文件和持久性
机制,在防火墙和所有端点上封锁了 C2 IP/端口,
针对相同的 IOC 运行了全组织的威胁狩猎(未发现横向移动),
作为预防措施重装了主机镜像,并将样本提交给 VirusTotal 以进行
IOC 扩充。
完整的响应工作流:[`docs/soc-investigation-report.md`](docs/soc-investigation-report.md#soc-response-workflow)
## 建议
| # | 建议 | 优先级 | 时间线 |
|---|---|---|---|
| 1 | 通过 GPO 全组织范围内禁用 USB AutoRun/AutoPlay | **关键** | 立即 |
| 2 | 通过 GPO/DLP 进行 USB 设备白名单控制 | **关键** | 立即 |
| 3 | 部署具备行为分析 + 自动隔离功能的 EDR | 高 | 1 周 |
| 4 | PowerShell 约束语言模式 + 脚本块日志记录 | 高 | 1 周 |
| 5 | 阻止非标准端口上的出站连接(例如 4444) | 高 | 1 周 |
| 6 | 严格的 USB 使用策略 — 仅限 IT 批准/扫描过的设备 | 中 | 2 周 |
| 7 | 针对USB丢弃攻击场景的安全意识培训 | 中 | 2 周 |
## 仓库结构
```
.
├── README.md
├── docs/
│ ├── soc-investigation-report.md ← full formal incident report
│ ├── incident-timeline.md ← minute-by-minute breakdown
│ └── mitre-attack-mapping.md ← technique-level detail
├── iocs/
│ └── ioc-table.csv ← machine-readable IOC export
└── evidence/
└── README.md ← index of sanitized log/screenshot evidence
```
## 披露说明
本次调查是作为 NexSecure
Cybersecurity Bootcamp 的最终项目完成的。组织名称、主机和基础设施是为训练目的而 **模拟** 的 — 不代表
任何真实公司或生产系统。IOC 是按照其在原始训练营场景中出现的方式进行记录的,用于方法论的展示。
**作者:** [Nathaniel T. Ogunjobi](https://cybernatesec.netlify.app) — AMICDFA · CBTP 93% · CCEP 98% · CTIGA 90%
SOC 分析师 · NexSecure Cybersecurity · 尼日利亚拉各斯
标签:AI合规, EDR, IP 地址批量处理, OpenCanary, SOC分析, 子域枚举, 安全, 库, 应急响应, 数字取证, 脆弱性评估, 自动化脚本, 超时处理