m-mehdi-sec/soc-network-forensics-case-study

GitHub: m-mehdi-sec/soc-network-forensics-case-study

一个模拟的 SOC 网络取证案例研究,通过关联多种日志源追踪从钓鱼邮件到横向移动的完整攻击链,展示防御性分析与应急响应方法论。

Stars: 0 | Forks: 0

# SOC 网络取证案例研究 ## 概述 本仓库记录了一起基于网络取证和应急响应场景的模拟 SOC 调查。 该案件始于 Wazuh 针对 Support 部门一台 Windows 客户端发出的可疑 PowerShell 警报。调查追踪了多个日志源中的证据,包括 Windows 安全事件、DNS 日志、防火墙日志、IDS 警报、Wireshark 风格的数据包记录、Wazuh 文件完整性监控事件以及文件服务器访问日志。 本案例研究的主要目的是展示 SOC 分析师如何通过关联不同的证据源,从单一警报追踪到完整的事件时间线。 这不是一个工具安装实验。这是一个防御性分析案例,重点关注调查逻辑、证据关联、事件分类、遏制措施和经验教训。 ## 场景 一家虚构公司的 SOC 团队收到了关于 Windows 终端上发生可疑 PowerShell 执行的 Wazuh 警报。 受影响的终端: ``` Hostname: WIN11-SUPPORT-04 IP address: 10.10.40.24 User: NORDSECURE\support.johan Department: Support ``` 可疑活动始于用户接收并打开了一封来自外部电子邮件的带有宏的 Word 文档。 调查表明这是一起很可能基于钓鱼的攻击链: ``` Phishing email ↓ Macro-enabled Word document ↓ WINWORD.EXE starts PowerShell ↓ Encoded PowerShell command ↓ External DNS and HTTPS communication ↓ Suspicious files created ↓ Persistence attempt ↓ SMB access to file server ↓ Attempted access to restricted HR and Finance shares ``` ## 网络环境 该虚构环境被划分为多个内部网络。 | 网络 | 用途 | |--------|---------| | 10.10.10.0/24 | HR | | 10.10.20.0/24 | Finance | | 10.10.30.0/24 | Development | | 10.10.40.0/24 | Support | | 10.10.50.0/24 | Servers | | 10.10.60.0/24 | Management | | 10.10.70.0/24 | Guest | | 10.10.80.0/24 | VPN | | 10.10.90.0/24 | SIEM / Monitoring | 重要系统: | 主机 | IP 地址 | 用途 | |------|------------|---------| | DC01 | 10.10.50.10 | Active Directory / DNS | | FILE01 | 10.10.50.20 | File Server | | TICKET01 | 10.10.50.30 | Ticketing System | | SIEM01 | 10.10.90.10 | Wazuh / SIEM | | FW01 | 10.10.60.1 | Firewall | | VPN01 | 10.10.80.1 | VPN | ## 调查目标 本次调查的目标是回答以下问题: - 发生了什么? - 活动是何时开始的? - 哪些用户和终端受到了影响? - 可能的初始攻击向量是什么? - 有哪些证据支持该结论? - 发现了哪些失陷指标? - 是否建立了持久化? - 是否有任何横向移动或文件访问的迹象? - 是否确认了数据渗出? - 应该采取哪些遏制措施? - 如何才能预防此类事件? ## 证据来源 本案例研究使用了多种证据来源,以构建事件的完整全貌。 | 证据来源 | 显示内容 | |----------------|---------------| | Wazuh 警报 | 可疑的 PowerShell 执行 | | Email Gateway 日志 | 可能的钓鱼电子邮件和恶意附件 | | Windows 进程日志 | WINWORD.EXE 衍生出 PowerShell | | DNS 日志 | 可疑的域名查询 | | 防火墙日志 | 外部 HTTPS 连接 | | Wireshark 风格记录 | DNS、TCP 握手和 TLS 元数据 | | Wazuh FIM | 在磁盘上创建的可疑文件 | | Windows 安全事件 | 登录、进程创建和计划任务创建 | | IDS 警报 | 类似恶意软件的网络行为 | | 文件服务器日志 | SMB 会话及对共享文件夹的访问尝试 | 关键的教训是,没有任何单一工具能提供完整的全貌。只有将多个证据来源进行关联,事件的全貌才会变得清晰。 ## 初始警报 第一个警报来自 Wazuh。 ``` Time: 2026-05-20 09:14:33 Agent: WIN11-SUPPORT-04 Agent IP: 10.10.40.24 Rule Level: 10 Rule Description: Suspicious PowerShell execution detected User: NORDSECURE\support.johan Process: powershell.exe Parent Process: WINWORD.EXE CommandLine: powershell.exe -ExecutionPolicy Bypass -EncodedCommand ... MITRE Tactic: Execution MITRE Technique: T1059 – Command and Scripting Interpreter ``` 这十分可疑,因为 Microsoft Word 通常不应该启动 PowerShell。这种行为通常与钓鱼攻击有关,即恶意 Office 文档利用宏或嵌入式代码来执行命令。 以下指标使该警报被判定为高风险: ``` WINWORD.EXE → powershell.exe ExecutionPolicy Bypass EncodedCommand External network connections Suspicious files created Persistence attempt ``` ## 调查结果摘要 调查表明,受影响的用户打开了一封通过电子邮件发送的、带有宏的 Word 文档。 文档打开后不久,Microsoft Word 启动了 PowerShell,并使用了编码命令和执行策略绕过。随后,终端对可疑域名执行了 DNS 查询,并与外部 IP 地址建立了 HTTPS 连接。 Wazuh 文件完整性监控检测到磁盘上创建了可疑文件,同时 Windows 安全事件显示创建了计划任务。这表明发生了一次持久化尝试。 该终端还与内部文件服务器建立了 SMB 会话,并访问了 Support 共享中的文件。对 HR 和 Finance 资源的访问尝试被拒绝,这表明最小权限原则有助于限制影响范围。 ## 高级别时间线 | 时间 | 事件 | 来源 | |------|-------|--------| | 09:08:44 | 投递钓鱼邮件 | Email Gateway | | 09:10:18 | 用户打开带有宏的 Word 文档 | Windows 进程日志 | | 09:10:25 | WINWORD.EXE 启动 PowerShell | Windows 进程日志 / Wazuh | | 09:10:30 | 对可疑域名的 DNS 查询 | DNS 日志 | | 09:10:31 | 连接到外部 IP 的 HTTPS 连接 | 防火墙 / Wireshark | | 09:10:43 | 创建可疑脚本 | Wazuh FIM | | 09:10:48 | 创建可疑可执行文件 | Wazuh FIM | | 09:11:10 | 创建计划任务 | Windows 安全事件 | | 09:13:44 | 连接到 FILE01 的 SMB 会话 | 文件服务器日志 | | 09:14:33 | 生成 Wazuh 警报 | Wazuh / SIEM | 更详细的时间线可在 [timeline.md](timeline.md) 中查看。 ## MITRE ATT&CK 总结 | 战术 | 技术 | 证据 | |--------|-----------|----------| | 初始访问 | 钓鱼 | 带有宏的 Word 附件电子邮件 | | 执行 | PowerShell | WINWORD.EXE 启动 powershell.exe | | 防御规避 | 编码/混淆命令 | EncodedCommand | | 持久化 | 计划任务/启动文件夹 | WindowsUpdateCheck 和 updater.lnk | | 命令与控制 | Web 协议 | 连接到可疑 IP 的 HTTPS 连接 | | 发现 | 文件和目录发现 | 试图访问 HR 和 Finance 共享 | | 横向移动 | SMB | 连接到 FILE01 的 SMB 会话 | | 收集 | 来自网络共享的数据 | 从 Support 共享中读取多个文件 | 更多详细信息可在 [attack-classification.md](attack-classification.md) 中查看。 ## 失陷指标 调查期间识别出的示例 IoCs: ``` 185.44.12.90 185.44.12.91 91.203.18.77 update-cdn.cloud-sync.example api.drop-storage.example windows-update-check.example C:\Users\Public\update.ps1 C:\Users\Public\client.exe C:\Users\support.johan\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\updater.lnk Scheduled Task: \WindowsUpdateCheck Attachment: Faktura_45892.docm ``` 完整的 IoC 列表可在 [iocs.md](iocs.md) 中查看。 ## 事件严重性 该事件应被视为高严重性。 主要原因: - 来自 Word 的可疑 PowerShell 执行 - 编码的 PowerShell 命令 - 外部 HTTPS 通信 - 在磁盘上创建可疑文件 - 持久化尝试 - 对内部文件服务器的 SMB 访问 - 试图访问受限制的 HR 和 Finance 共享 - 多个日志源证实了可疑行为 即使数据渗出未被确认,执行、持久化、外部通信和内部文件访问这些行为的组合也使其成为一起严重的事件。 ## 遏制措施 建议的立即采取的行动: ``` Isolate WIN11-SUPPORT-04 from the network Temporarily disable NORDSECURE\support.johan Block suspicious IP addresses Block suspicious domains Preserve Wazuh, Windows, DNS, firewall, IDS, and file server logs Collect suspicious files for further analysis Search the environment for the same IoCs ``` 在收集证据之前应避免的行动: ``` Do not delete suspicious files immediately Do not reboot the endpoint immediately Do not wipe the system before collecting evidence ``` 这一点非常重要,因为删除文件或重启终端可能会破坏取证证据。 更多详细信息可在 [incident-report.md](incident-report.md) 中查看。 ## 仓库结构 ``` soc-network-forensics-case-study/ │ ├── README.md ├── incident-report.md ├── timeline.md ├── iocs.md ├── attack-classification.md ├── threat-hunting.md └── lessons-learned.md ``` ## 文档 - [事件报告](incident-report.md) - [时间线](timeline.md) - [失陷指标](iocs.md) - [攻击分类](attack-classification.md) - [威胁狩猎](threat-hunting.md) - [经验教训](lessons-learned.md) ## 经验教训 本案例表明,单一警报仅仅是调查的开始。 Wazuh 检测到了可疑的 PowerShell 活动,但仅凭该警报无法解释整个事件。只有在关联了多个证据来源之后,完整的全貌才变得清晰。 主要教训: - 一个工具是不够的。 - 一个警报并不能说明全部情况。 - 时间线在应急响应中至关重要。 - DNS 和防火墙日志非常有价值。 - 即使流量已加密,Wireshark 元数据也很有用。 - 文件完整性监控可以揭示被植入的文件。 - Windows 事件可以揭示持久化。 - IDS 可以确认类似恶意软件的网络行为。 - 文件服务器日志可以显示被攻陷后的活动。 - 最小权限原则可以降低攻击的影响。 最重要的要点: ``` An alert tells you that something may be wrong. A timeline helps you understand what actually happened. Correlation across multiple log sources turns alerts into evidence. ``` ## 免责声明 本仓库基于为防御性网络安全学习而创建的模拟和虚构 SOC 案例研究。 其中不包含任何真实的公司数据、真实用户数据、恶意软件样本或真实的攻击基础设施。 本仓库的目的是记录防御性分析、应急响应思维和网络取证方法论。 ## 作者 **Muhammad Mehdi** IT Security Developer Student
标签:OpenCanary, Wazuh, 子域枚举, 安全运营中心, 库, 应急响应, 日志关联分析, 案例分析, 网络映射