duke421/trickbot-pcap-threat-investigation

GitHub: duke421/trickbot-pcap-threat-investigation

完整的 TrickBot 恶意软件 PCAP 网络流量取证案例,涵盖从检测到报告的 SOC 调查全流程。

Stars: 0 | Forks: 0

# SOC 事件调查 — 通过 PCAP 网络流量分析 TrickBot 恶意软件 ![Status](https://img.shields.io/badge/Status-Closed%20%E2%80%93%20Remediated-brightgreen) ![Severity](https://img.shields.io/badge/Severity-HIGH-red) ![Malware](https://img.shields.io/badge/Malware-TrickBot%20Trojan-critical) ![Method](https://img.shields.io/badge/Method-PCAP%20Analysis-blue) ![Tools](https://img.shields.io/badge/Tools-Wireshark%20%7C%20VirusTotal%20%7C%20GHex-informational) ## 项目概述 本项目记录了对可疑网络流量捕获(PCAP 文件)进行的完整端到端 SOC 事件调查。该调查模拟了安全运营中心 (SOC) 分析师针对内部 Windows 工作站异常出站网络行为警报进行响应的工作流程。 利用 Wireshark 进行数据包级分析,调查重构了完整的攻击链 —— 从通过 HTTP 进行初始恶意软件投递、文件签名验证,到确认与外部攻击者控制服务器的命令与控制 (C2) 通信。 恶意文件 (`ooiwy.pdf`) 被识别为伪装的 Windows DLL 载荷,属于 **TrickBot** 木马家族。所有威胁指标 (IOC) 均已被提取、记录,并包含在本仓库中。 本仓库的结构反映了真实的 SOC 案例文档标准,包括调查时间线、提取的 IOC、PCAP 证据、分析查询以及完整的书面事件报告。 ## 检测背景 本调查模拟了安全运营中心 (SOC) 分析师如何调查企业监控系统中检测到的可疑网络活动。 本项目中分析的活动可能由以下警报触发: - 来自外部 IP 的可疑 HTTP 下载 - 来自内部工作站的异常出站网络流量 - 可能的命令与控制 (C2) 通信模式 - 具有可疑特征的文件下载(非浏览器 User-Agent 字符串) 在真实的 SOC 环境中,这些指标可能通过以下方式检测到: - **网络入侵检测系统 (NIDS)** 标记到与已知恶意 IP 的出站连接 - **端点检测与响应 (EDR) 警报** 指出异常进程活动或 DLL 执行 - **安全信息和事件管理 (SIEM) 规则** 触发于来自工作站的基于 `curl` 的下载或异常的出站 POST 请求 - **网络流量异常检测** 识别出内部主机通过标准 HTTP 与先前未见的外部 IP 进行通信 ## 调查目标 本次调查旨在: - 识别网络内的受影响主机(主机名、IP、MAC 地址和用户账户) - 确定恶意文件是如何投递的以及通过何种机制 - 提取威胁指标 (IOC) 用于威胁情报和检测丰富 - 分析潜在的命令与控制 (C2) 通信以了解攻击者意图 - 记录在 PCAP 中观察到的攻击者行为并将其映射到 MITRE ATT&CK 框架 ## 使用工具 | 工具 | 用途 | |---|---| | **Wireshark** | 主要 PCAP 分析 — 显示过滤、数据包检查、流重建 | | **GHex** | 二进制十六进制编辑器 — 提取载荷的文件签名验证 | | **VirusTotal** | 威胁情报 — 文件哈希信誉检查和恶意软件家族识别 | | **TCP 流重建** | Wireshark 功能,用于重组和读取 HTTP 会话内容 | | **HTTP 对象提取** | Wireshark 功能,用于导出捕获中通过 HTTP 传输的文件 | ## 调查工作流 ### 步骤 1 — 识别可疑 HTTP 流量 调查首先在 Wireshark 中应用 `http` 显示过滤器,以隔离 PCAP 中的所有 HTTP 层通信。 立即识别到一个源自内部主机 `10.8.19.101` 发往外部 IP `185.244.41.29` 的 `GET` 请求,请求名为 `ooiwy.pdf` 的文件。仔细检查 HTTP 请求头发现 `User-Agent` 字符串为 `curl/7.55.1` —— 这是一个重要的危险信号,因为工作站的标准用户活动会呈现浏览器的 User-Agent。使用 `curl` 强烈表明下载是由脚本、宏或投递组件触发的,而不是合法的用户操作。 ![Malware Download Request](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/207e7d3afa172707.png) *图 1 — 来自内部主机 `10.8.19.101` 的 HTTP GET 请求,向外部投递服务器 `185.244.41.29` 请求 `ooiwy.pdf`,带有 `curl/7.55.1` User-Agent 字符串* ### 步骤 2 — 从 PCAP 提取恶意文件 确认可疑文件传输后,使用 Wireshark 的 **导出 HTTP 对象** 功能 (`File > Export Objects > HTTP`) 提取 PCAP 会话中通过 HTTP 传输的所有文件。 文件 `ooiwy.pdf` 列在导出的对象中,并已保存到本地以供进一步取证检查。直接从 PCAP 提取文件允许进行哈希生成和签名分析,而无需依赖可能已受损的端点。 ![HTTP Object Extraction](https://raw.githubusercontent.com/duke421/trickbot-pcap-threat-investigation/main/screenshots/02-http-object-extraction.png) *图 2 — Wireshark HTTP 对象导出列表,显示从投递服务器传输的 `ooiwy.pdf`* ### 步骤 3 — 发现可执行文件签名 提取的文件 `ooiwy.pdf` 在 **GHex** 中打开以检查其二进制头。尽管带有 PDF 扩展名,文件的前两个字节显示: ``` 4D 5A ``` 这是 **MZ 魔数** — Windows 可移植可执行 (PE) 文件签名,存在于所有 Windows 可执行文件中,包括 `.exe`、`.dll` 和 `.sys` 文件。MZ 首字母指的是 MS-DOS 可执行格式的开发者 Mark Zbikowski。在呈现为 PDF 的文件中存在此头部是**扩展名伪装**的确凿证据。 进一步分析确认真实文件格式为 `ooiwdy.dll` — 一个 Windows 动态链接库。DLL 文件常被恶意软件用作载荷,因为它们不直接执行,而是由宿主进程加载,这使得检测更加困难。 ![Executable Signature](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/3e2ef3b55d172731.png) *图 3 — GHex 二进制检查确认 `ooiwy.pdf` 文件中的 `4D 5A` (MZ) PE 头,揭示其为伪装的 Windows DLL* ### 步骤 4 — 主机识别 为了完整记录受影响的系统,应用了一系列 Wireshark 显示过滤器从 PCAP 中提取所有主机识别信息: | 应用的过滤器 | 恢复的信息 | |---|---| | `dhcp` | 主机名:`DESKTOP-M1TFHB6`(来自 DHCP REQUEST 数据包) | | `smb` | 通过 SMB 会话协商和 NetBIOS 名称服务确认的主机名 | | `http` | 确认的内部 IP:`10.8.19.101` | | `arp` | MAC 地址:`00-08-02-1C-47-AE`(`10.8.19.101` 的 ARP 回复) | | `ntlmssp` | 用户账户:`monica.steele`(NTLM 身份验证交换) | ARP 过滤器对于 MAC 地址恢复特别有效 —— 一旦知道了 IP 地址,PCAP 中的 ARP 广播回复直接将 `10.8.19.101` 映射到其物理硬件地址。NTLMSSP 过滤器隔离了 Windows 身份验证数据包,这些数据包在网络身份验证交换期间以明文传输用户名 `monica.steele`。 ![Host Identification — MAC Address](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/51a4ba9ad8172744.png) *图 4 — 在 Wireshark 中应用 ARP 过滤器,将 IP `10.8.19.101` 映射到 MAC 地址 `00-08-02-1C-47-AE`,从而阳性识别受感染的物理网络接口* ### 步骤 5 — 命令与控制通信分析 返回流量日志,识别到来自内部主机 (`10.8.19.101`) 发往第二个不同的外部 IP (`103.148.41.195`) 的 `POST` 请求。这是与原始投递服务器分离的 IP,这与 TrickBot 的基础设施模型一致,即载荷托管和 C2 操作是分开的。 跟踪 POST 请求并确认响应内容证实正在传输结构化的主机数据 —— 这与 TrickBot 的初始签到行为一致,即恶意软件信标到 C2 服务器并传输系统侦察数据,包括主机详细信息、用户信息和网络配置。 ![Command and Control Communication](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/c9c501e214172754.png) *图 5 — 从 `10.8.19.101` 到 C2 服务器 `103.148.41.195` 的 HTTP POST 请求,确认恶意软件与攻击者基础设施的活跃通信* ### 步骤 6 — TCP 流分析 使用 Wireshark 的 **跟踪 TCP 流** 功能重建了 C2 POST 请求的完整 TCP 流。流内容确认恶意软件已在 POST 正文中将受害者系统数据传输到攻击者的 C2 服务器。 此流重建提供了被渗透数据的最清晰视图,并确认在捕获 PCAP 时,恶意软件已成功与攻击者控制的基础设施建立双向通信通道。 ![TCP Stream Analysis](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/5c9be005b6172803.png) *图 6 — C2 POST 请求的 TCP 流重建,揭示从受感染主机传输到 `103.148.41.195` 的受害者系统数据* ## 关键发现 | 发现 | 详情 | |---|---| | **受感染主机** | `DESKTOP-M1TFHB6` — IP `10.8.19.101` — MAC `00-08-02-1C-47-AE` | | **受损账户** | `monica.steele` | | **投递的恶意文件** | `ooiwy.pdf`(真实文件:`ooiwdy.dll`) | | **投递服务器** | `185.244.41.29` — 通过 HTTP GET 提供载荷 | | **投递机制** | `curl/7.55.1` — 脚本化下载,非用户发起的浏览 | | **文件类型伪装** | 伪装为 `.pdf` 扩展名的 PE 可执行文件(MZ 头:`4D 5A`) | | **恶意软件家族** | TrickBot 木马 — 通过 VirusTotal 多引擎扫描确认 | | **C2 服务器** | `103.148.41.195` — 接收带有受害者系统数据的 POST 信标 | | **C2 协议** | 端口 80 上的 HTTP | | **渗透数据** | 主机侦察数据(系统信息、用户详情) — 通过 TCP 流确认 | ## 威胁指标 (IOC) 本次调查提取的所有 IOC 均存储在 `iocs/` 目录中: - **`iocs/IOC.txt`** — 所有指标(IP、哈希、文件名、用户代理)的纯文本列表 - **`iocs/IOC.csv`** — 结构化的 CSV 格式,适合导入 SIEM 平台、威胁情报工具或票务系统 ### IOC 汇总 | 类型 | 值 | |---|---| | 内部主机 IP | `10.8.19.101` | | 主机名 | `DESKTOP-M1TFHB6` | | MAC 地址 | `00-08-02-1C-47-AE` | | 用户账户 | `monica.steele` | | 恶意 IP — 投递 | `185.244.41.29` | | 恶意 IP — C2 | `103.148.41.195` | | 恶意文件名 | `ooiwy.pdf` | | 真实文件名 | `ooiwdy.dll` | | 文件类型 | Windows DLL (PE) | | 文件签名 | `4D 5A` (MZ 头) | | MD5 哈希 | `4e4ae70b6346eae111e31716dc76bc23` | | SHA-1 哈希 | `1e7b9af799048e4112d2468323c5c147e20558f9` | | SHA-256 哈希 | `f25a780095730701efac67e9d5b84bc289afea56d96d8aff8a44af69ae606404` | | 恶意软件家族 | TrickBot | | 可疑 User-Agent | `curl/7.55.1` | ## PCAP 证据文件 本次调查中使用的原始网络捕获包含在仓库中,可以直接在 Wireshark 中打开,以独立复现此处记录的每一个发现。 | 字段 | 详情 | |---|---| | **文件** | `evidence/trickbot-infection-traffic.pcap` | | **大小** | 15 MB | | **格式** | Wireshark PCAP — 微秒时间戳,以太网捕获 | | **所需工具** [Wireshark](https://www.wireshark.org/) (免费) | | **用途** | 复现完整调查 — 应用 `queries/wireshark-filters.md` 中的过滤器逐步完成分析 | ## 仓库结构 ``` SOC-Incident-TrickBot/ │ ├── case-study/ # Background context and scenario description for the investigation │ ├── screenshots/ # Annotated Wireshark screenshots taken during the investigation │ ├── 01-malware-download-request.png │ ├── 02-http-object-extraction.png │ ├── 03-executable-signature.png │ ├── 04-host-identification-mac.png │ ├── 05-command-control-communication.png │ └── 06-tcp-stream-analysis.png │ ├── evidence/ # Raw PCAP capture file and extracted artefacts from the investigation │ └── trickbot-infection-traffic.pcap # ⚠️ Original network capture — open in Wireshark to reproduce findings │ ├── iocs/ # Structured indicator of compromise files │ ├── IOC.txt # Plaintext IOC list │ └── IOC.csv # CSV-formatted IOC list for SIEM/tool import │ ├── timeline/ # Reconstructed investigation timeline from PCAP timestamps │ ├── queries/ # Wireshark display filters and detection queries used in the investigation │ ├── report/ # Full written SOC incident investigation report (Markdown) │ └── SOC-Incident-Investigation-Report-TrickBot.md │ └── README.md # This file ``` ## 展示技能 本次调查展示了以下网络安全领域的实践动手能力: | 技能领域 | 在本次调查中的应用 | |---|---| | **网络流量分析** | 应用 Wireshark 显示过滤器(HTTP、DHCP、ARP、SMB、NTLMSSP)系统地查询 PCAP 数据 | | **恶意软件调查** | 通过文件签名分析、扩展名伪装检测和 VirusTotal 威胁情报识别 TrickBot | | **SOC 事件响应方法论** | 遵循结构化工作流 — 检测、分类、主机识别、证据收集、IOC 提取、遏制 | | **威胁检测** | 识别异常的 User-Agent 字符串、可疑的出站连接和 C2 POST 信标 | | **IOC 提取与文档记录** | 提取并格式化 IP、文件哈希、文件名和主机数据以供操作使用 | | **TCP 流重建** | 重组应用层会话以确认数据渗透内容 | | **MITRE ATT&CK 框架映射** | 将观察到的攻击者行为映射到相关战术和技术(T1036、T1071.001、T1041、T1105 等) | | **数字取证** | 使用二进制十六进制分析 (GHex) 独立于操作系统文件扩展名处理验证文件类型 | ## 免责声明 本次调查完全出于**教育和网络安全研究目的**。本项目中分析的 PCAP 文件是作为学术课程作业的一部分提供的,包含受控环境中的预先捕获的网络流量。 作为本项目的一部分,没有系统被入侵,没有部署恶意软件,也没有执行任何未经授权的访问。所有分析均在隔离的安全环境中进行。此处记录的恶意 IP 地址和文件哈希仅作为威胁指标发布,以支持威胁检测和意识提升。 *调查由 **Gbemisola Faith Akinlabi** 执行 | SOC 分析师* *工具:Wireshark · VirusTotal · GHex* *框架:MITRE ATT&CK*
标签:C2通信, Cloudflare, Conpot, DAST, DNS 反向解析, DNS通配符暴力破解, HTTP工具, IOC提取, IP 地址批量处理, MITRE ATT&CK, PB级数据处理, PCAP分析, TrickBot, Windows安全, Wireshark, 句柄查看, 威胁情报, 安全运维, 并发处理, 库, 应急响应, 开发者工具, 恶意软件分析, 数字取证, 案例研究, 渗透测试后遗症, 网络协议分析, 网络安全, 网络安全审计, 自动化脚本, 隐私保护, 高严重性漏洞