ipannabil/Active-Threat-Detection-Lab

GitHub: ipannabil/Active-Threat-Detection-Lab

基于 Splunk 的自定义 SIEM 家庭实验室,通过模拟真实攻击场景并分析遥测数据来实践网络威胁检测与防御监控。

Stars: 0 | Forks: 0

# 主动威胁检测与 SIEM 家庭实验室 ## 📌 目标 本项目展示了自定义安全信息与事件管理(SIEM)家庭实验室的搭建与应用。其主要目标是通过生成、接入和分析真实攻击的遥测数据,弥合进攻性网络安全策略(红队)与防御性网络监控(蓝队)之间的差距。 ## 🏗️ 环境与架构 * **攻击节点:** Kali Linux * **SIEM 服务器:** Ubuntu(Splunk Enterprise) * **目标机器:** Windows 10 * **传感器与转发器:** Splunk Universal Forwarder、Windows Event Logs(安全)、Sysmon、Windows Defender 防火墙 * **攻击工具:** Hydra、NetExec、Atomic Red Team、Nmap ## ⚔️ 攻击场景与日志分析 ### 阶段 1:网络侦察与防火墙监控 * **攻击过程:** 从 Kali Linux 对 Windows 目标执行了针对性的 Nmap 扫描,以识别开放端口和服务。 * **检测过程:** 配置 Windows Defender 防火墙记录丢弃的数据包,将 `pfirewall.log` 接入 Splunk,并将攻击面可视化,从而识别出未经授权的扫描活动。 Screenshot 2026-05-27 194141 Screenshot 2026-05-27 194441 ### 阶段 2:Active Directory 与 SMB 暴力破解 * **攻击过程:** 通过关闭 Windows Defender 防火墙来降低安全性,并使用 **Hydra** 执行了自定义的字典攻击。在遇到网络级别身份验证(NLA)和现代 SMB 保护后,转向使用 **NetExec** 成功对目标机器进行了暴力破解。 * **检测过程:** 查询 Windows 安全日志中的 `"eventcode=4625"`(登录失败)和 `"eventcode=4624"`(登录成功)。成功区分了人工交互登录(Logon Type 2)和后台系统噪声(Logon Type 5)。 Screenshot 2026-05-29 000309 Screenshot 2026-05-27 194650 Screenshot 2026-05-29 001548 ### 阶段 3:高级 PowerShell 恶意软件模拟 * **攻击过程:** 部署 **Atomic Red Team** 框架来模拟攻击者获取初始立足点的过程。执行了技术 `T1059.001`(命令和脚本解释器:PowerShell),以模拟无文件执行和安全策略绕过。 * **检测过程:** 设计了自定义的 Sysmon 检测规则,以过滤掉良性的进程创建行为。查询 `CommandLine` 字段中的可疑执行标志(例如 `-ExecutionPolicy Bypass`、`Invoke-AtomicTest`),成功检测到了模拟的恶意软件。 Screenshot 2026-05-27 195641 Screenshot 2026-05-27 195803 Screenshot 2026-05-27 200231 ## 📊 可视化与仪表板 为了减少告警疲劳并提供对活跃威胁的全局概览,我们在 Splunk 中设计了一个实时 SOC 分析师仪表板。 Screenshot 2026-05-27 203243 * **身份验证状态:** 一个比较登录成功与失败的饼图,用于检测暴力破解的高峰。 * **网络时间轴:** 一个追踪防火墙丢弃数据包的时间图表,用于将网络扫描模式可视化。 * **Sysmon 进程告警:** 一个专门针对恶意 PowerShell 执行的高保真单值计数器。 ## 🔍 挑战与故障排除 在整个实验过程中,我们遇到并解决了以下几个技术难题: * **SPL 查询语法错误:** 遇到了某些 Splunk 查询尽管数据存在于索引中却返回零结果的问题。经诊断,该问题是由于严格区分大小写(例如 `eventcode` 与 `EventCode`)以及不正确的字符串格式共同导致的。通过优化语法并利用原始文本搜索功能绕过破损的字段提取,最终解决了此问题。 * **UAC Split Token 机制:** 调查了 Splunk 中出现的“重复”成功登录事件,并正确地将其归因于 Windows 在权限提升时生成双重 Type 2 令牌(标准令牌和管理员令牌)。 * **日志格式(XML 与纯文本):** 诊断了由 Universal Forwarder 中的 `renderXml = true` 配置引起的搜索语法失败。通过在 Splunk 中使用 `searchmatch()` 函数准确解析被 XML 包裹的事件代码,最终解决了该问题,随后彻底重构了 inputs.conf 文件以确保数据的干净接入。 * **协议强化:** 当内置的 Windows 保护机制(如 NLA)拦截了 Hydra 等传统工具时,我们即时调整了攻击策略,成功转向 NetExec 等现代框架以完成目标。 ## 💡 经验总结 * **命令行与查询熟练度:** 获得了跨多个操作系统(Kali Linux、Windows PowerShell)执行高级命令的实战经验,并编写了精确的 Splunk 处理语言(SPL)查询,以过滤系统噪声并构建高保真的可视化仪表板。 * **高级端点遥测:** 掌握了利用 Windows Event Viewer 和 Sysmon 配置和建立监控环境的过程,确保建立正确的日志流水线,以捕获细粒度的进程创建和网络连接遥测数据。 * **日志的保真度重于数量:** 我亲身认识到,接入每一份日志会造成严重的告警疲劳。SOC 分析师的真正价值在于使用高度具体、有针对性的查询来过滤掉后台系统噪声。 * **工具的局限性与规避:** 认识到现代 Windows 保护机制会彻底阻止传统的攻击工具,这让我明白红队操作是动态的。威胁行为者必须了解工具*为什么*会失败,才能知道如何转向成功的策略。 * **SIEM 数据流水线:** 从零开始搭建这个实验室巩固了我对数据路由的理解。观察到目标机器上的操作是如何通过 Universal Forwarder 传输、被 Indexer 解析并最终在仪表板上可视化的,这让整个安全监控架构变得不再神秘。 **作者:** Irfan Nabil
标签:AI合规, 红队行动