Fredrickighile/malware-traffic-analysis

GitHub: Fredrickighile/malware-traffic-analysis

这是一个基于Wireshark的网络取证分析项目,用于调查NetSupport Manager RAT感染的恶意流量,提取威胁情报并重建攻击链。

Stars: 1 | Forks: 0

# 恶意流量分析 — NetSupport Manager RAT调查 **分析师:** Fredrick Ighile | 网络安全分析师 | 加拿大 **GitHub:** [github.com/Fredrickighile](https://github.com/Fredrickighile) | **LinkedIn:** [linkedin.com/in/fredrick-ighile](https://linkedin.com/in/fredrick-ighile) ## 目录 1. [项目概述](#project-overview) 2. [使用的工具](#tools-used) 3. [场景描述](#the-scenario) 4. [步骤 1 — 初步流量检查](#step-1--initial-traffic-examination) 5. [步骤 2 — 识别可疑流量](#step-2--identifying-suspicious-traffic) 6. [步骤 3 — 受害者识别](#step-3--victim-identification) 7. [步骤 4 — DNS 信标分析](#step-4--dns-beaconing-analysis) 8. [步骤 5 — 恶意软件识别](#step-5--malware-identification) 9. [提取的 IOC](#iocs-extracted) 10. [攻击时间线](#attack-timeline) 11. [事件响应措施](#incident-response-actions) 12. [MITRE ATT&CK 映射](#mitre-attck-mapping) 13. [关键要点](#key-takeaways) ## 项目概述 一台 Windows 域控制器被远程访问木马入侵。我使用 Wireshark 分析了 26,922 个真实网络数据包,以识别受感染系统、追踪攻击者的 C2 基础设施、提取 IOC 并重建完整的攻击时间线。 **本项目展示了什么:** - 网络取证与数据包分析 - 恶意软件 C2 通信识别 - 为威胁情报提取 IOC - 专业的事件响应文档 **PCAP 来源:** [malware-traffic-analysis.net](https://malware-traffic-analysis.net) — 2024-11-26 练习 ## 使用的工具 | 工具 | 用途 | | ----------------- | ---------------------------- | | Wireshark 4.4.7 | 数据包捕获分析 | | 显示过滤器 | 流量隔离与搜寻 | | 协议分析 | HTTP, DNS, SMB2, TCP/IP 解析 | | MITRE ATT&CK | 技术映射 | ## 场景描述 一家医疗研究机构的网络流量被捕获用于分析。其中一个内部系统行为可疑——不断连接到一个未知的外部 IP,并查询异常的域名。 **我的任务是:** 查明什么被感染了、运行着什么恶意软件,以及攻击者拥有什么访问权限。 ## 步骤 1 — 初步流量检查 在 Wireshark 中打开 PCAP 文件显示: - **总数据包:** 26,922 - **捕获时长:** 53 分钟 (04:49:38 — 05:42:29 UTC) - **可见协议:** DNS, HTTP, HTTPS, TCP, SMB2, NBNS - **内部网络:** 10.11.26.0/24 ![初始流量](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/ad832715ea001046.png) **第一印象:** 大部分是正常的 Windows 流量——但向一个陌生外部 IP 发出的 HTTP POST 请求立即引起了注意。 ## 步骤 2 — 识别可疑流量 **使用的 Wireshark 过滤器:** ``` http.request or dns ``` 这将 26,922 个数据包减少到 417 个——仅专注于恶意软件最常藏身的 HTTP 请求和 DNS 查询。 **发现的危险信号:** | 指标 | 为何可疑 | | ------------------------------------- | -------------------------------------------- | | 向 `194.180.191.64/fakeurl.htm` 发起 HTTP POST | 未知 IP,URL 看起来是伪造的 | | User-Agent: `NetSupport Manager/1.3` | 合法工具被滥用于 RAT | | 对 `wpad.nemotoads.health` 的 DNS 查询 | 拼写错误域名(typosquatting),重复查询 | | 端口 443 上的 HTTP 流量 | 443 端口用于 HTTPS——这是未加密的 HTTP(规避尝试) | ![恶意 HTTP 流量](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/bba1207c35001052.png) ## 步骤 3 — 受害者识别 **目标:** 确切找出哪台机器被感染。 **使用的过滤器:** ``` smb2 and ip.src == 10.11.26.183 ``` SMB2(Windows 文件共享协议)的数据包中包含主机名。展开 Tree Connect Request 揭示了: ``` \\NEMOTODES-DC\Shared_Files ``` **从以太网 II 报头提取的 MAC 地址:** ``` d0:57:7b:ce:fc:8b (Intel Corporation) ``` **受害者摘要:** | 属性 | 值 | | -------- | --------------------------- | | IP 地址 | 10.11.26.183 | | 主机名 | NEMOTODES-DC | | MAC 地址 | d0:57:7b:ce:fc:8b | | 设备类型 | **Windows 域控制器** | ⚠️ **关键:** 这是一台域控制器——任何 Windows 环境中最敏感的系统。控制这台机器的人就能控制整个域。 ![受害者识别](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/f06dc8adbd001058.png) ## 步骤 4 — DNS 信标分析 **使用的过滤器:** ``` dns.qry.name and ip.src == 10.11.26.183 ``` **合法 DNS(基准):** - www.msftconnecttest.com - dns.msftncsi.com - ctldl.windowsupdate.com **可疑 DNS(恶意):** - `wpad.nemotoads.health` — 重复多次查询 - `NEMOTODES-DC.nemotoads.health` - `wpad.mshome.net` **DNS 信标意味着什么:** 恶意软件反复查询这些域名以与其 C2 基础设施保持连接。DNS 通常被防火墙放行——攻击者故意利用它来混入正常流量。 域名 `nemotoads` 是 `nemotodes`(该机构的研究主题)的拼写错误版本——故意尝试在日志中看起来合法。 ![DNS 信标](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/644f25fb9c001104.png) ## 步骤 5 — 恶意软件识别 **使用的过滤器:** ``` http.request and ip.src == 10.11.26.183 ``` 展开一个 POST 请求的 HTTP 头部揭示了: ``` POST http://194.180.191.64/fakeurl.htm HTTP/1.1 User-Agent: NetSupport Manager/1.3 Content-Type: application/x-www-form-urlencoded Content-Length: 36 Host: 194.180.191.64 Connection: Keep-Alive ``` **识别出的恶意软件:NetSupport Manager RAT v1.3** NetSupport Manager 是 IT 团队使用的合法远程桌面软件。攻击者将其武器化是因为: - 它被许多安全工具加入白名单 - 提供完全的远程访问(屏幕、文件、键盘) - 比自定义恶意软件更难检测 **另一个危险信号:** 端口 443 上的 HTTP 流量。443 端口保留用于 HTTPS(加密)。在其上运行纯 HTTP 是一种典型的规避技术——扫描 HTTPS 的安全工具会完全错过它。 ![C2 通信](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8e4ba94ab5001110.png) ## 提取的 IOC 这些是从本次调查中提取的产物——可以加载到 SIEM、防火墙或威胁情报平台中。 **网络 IOC:** | 类型 | 值 | 用途 | | -------- | --------------------------------- | ------------------------------ | | IP 地址 | `194.180.191.64` | C2 服务器 — 在防火墙阻断 | | 域名 | `wpad.nemotoads.health` | 恶意域名 — 在 DNS 阻断 | | 域名 | `NEMOTODES-DC.nemotoads.health` | 恶意域名 — 在 DNS 阻断 | | URL | `http://194.180.191.64/fakeurl.htm` | C2 端点 — 在网络代理阻断 | | User-Agent | `NetSupport Manager/1.3` | RAT 标识符 — 创建 SIEM 告警 | **主机 IOC:** | 属性 | 值 | | -------- | --------------- | | 受感染 IP | 10.11.26.183 | | 主机名 | NEMOTODES-DC | | MAC 地址 | d0:57:7b:ce:fc:8b | **行为 IOC:** - 向 `/fakeurl.htm` 发起的 HTTP POST 请求 - 端口 443 上使用未加密 HTTP(协议不匹配) - 以固定间隔发送 36 字节有效载荷(心跳信标) - 持久保持 Keep-Alive 连接 ## 攻击时间线 | 时间 (UTC) | 事件 | | ------------------- | ------------------------------------------------------------- | | 04:49:38 | 捕获开始 — NEMOTODES-DC 显示正常的 Windows 活动 | | 05:21:37 | 与 194.180.191.64 建立第一个 TCP 连接 | | 05:22:07 | 检测到向 C2 服务器发出的第一个 HTTP POST 请求 | | 05:32:52 | C2 会话完全建立 — 开始定期信标通信 | | 05:35:06 | 开始向 wpad.nemotoads.health 发起 DNS 信标查询 | | 05:35:37 — 05:42:27 | 持续 C2 活动 — 攻击者拥有活跃的远程访问权限 | | 05:42:27 | 捕获结束 — 感染仍然活跃 | **关键观察:** 第一次 C2 通信直到捕获开始后 32 分钟才出现。恶意软件在记录此流量之前已经安装——这意味着最初的入侵发生在更早的时候,且未被此次捕获记录。 ## 事件响应措施 当此警报在真实的 SOC 中触发时,将会采取以下措施: **立即响应 (0-30 分钟):** - 将 NEMOTODES-DC 从网络中隔离(**不要**关机——为取证保留内存) - 在防火墙阻断 `194.180.191.64` - 在 DNS 安全设备中阻断恶意域名 **短期响应 (1-4 小时):** - 获取内存镜像进行取证分析 - 扫描所有域系统,查找 NetSupport Manager 安装 - 检查 Active Directory 是否有未授权的更改 - 检查防火墙日志,查看是否有其他内部系统联系了 C2 **恢复措施 (24 小时内):** - 从干净备份重建域控制器 - **重置所有域密码** — 一台被入侵的 DC 意味着所有凭据都不可信 - 两次重置 krbtgt 密码(防止 Kerberos 票据滥用) - 验证组策略完整性 ## MITRE ATT&CK 映射 | 技术 | ID | 描述 | | ----------------------------------------- | --------- | ------------------------------------- | | 暴力破解:密码猜测 | T1110.001 | 疑似的初始访问方法 | | 远程访问工具 | T1219 | 使用 NetSupport Manager 进行 C2 | | 应用层协议:Web 协议 | T1071.001 | 使用 HTTP 进行 C2 通信 | | DNS | T1071.004 | 使用 DNS 信标维持 C2 连接 | | 有效账户 | T1078 | 域控制器凭据面临风险 | | 协议隧道 | T1572 | 通过端口 443 运行 HTTP(规避) | ## 关键要点 - **协议不匹配是危险信号。** 端口 443 上的 HTTP 是典型的规避技术。务必检查流量是否与端口预期的协议匹配。 - **合法工具会被武器化。** NetSupport Manager、AnyDesk、TeamViewer — 攻击者使用真实软件,因为它能绕过安全控制。User-Agent 字符串是捕获这种情况的可靠方法。 - **DNS 从不说谎。** 即使 HTTP 流量被加密,DNS 查询也能揭示主机试图访问哪些域名。DNS 信标是最可靠的 C2 检测方法之一。 - **一台被入侵的域控制器意味着整个域被完全入侵。** 每一个凭据、每一台系统、每一项策略 — 全部都可能被访问。响应必须果断且彻底。 - **26,922 个数据包 — 417 个是关键。** 良好的过滤是分析从几小时缩短到几分钟的关键。知道首先针对哪些协议进行分析是 SOC 的核心技能。 _作为网络安全作品集项目的一部分构建。PCAP 来自 malware-traffic-analysis.net(练习环境)。_
标签:C2通信, DAST, DNS, IOC提取, IP 地址批量处理, NetSupport Manager RAT, SMB2, TCP/IP, Windows域控制器, Wireshark, 协议分析, 句柄查看, 威胁情报, 安全事件, 并发处理, 开发者工具, 恶意软件分析, 攻击时间线, 数字取证, 权限提升, 网络安全, 自动化脚本, 远程访问木马, 隐私保护