shreya293/Windows-EventLog-ThreatDetector
GitHub: shreya293/Windows-EventLog-ThreatDetector
基于 Windows 安全事件日志和 Splunk SIEM 构建的企业级威胁检测实验室,用于识别 Active Directory 环境中的暴力破解、凭证窃取与横向移动等攻击行为。
Stars: 0 | Forks: 0
# 🔐 Windows 事件日志威胁检测器





## 🔗 本项目如何与上一个项目衔接
本项目是 [MITRE ATT&CK 检测实验室](https://github.com/shreya293/MITRE-ATTACK-Detection-Lab) 的**直接延续**。
在上一个项目中,**Sysmon** 被用作主要的检测工具——它就像一台 CCTV 摄像机,监视着 Windows 11 端点上的每一个进程、网络连接和注册表修改。该项目证明了仅靠 Sysmon 遥测数据就能检测出 7 种真实的 ATT&CK 技术,并确认了 47 个以上的事件。
本项目增加了一个全新的、互补的检测层——**Windows 安全事件日志**——这是 Sysmon 未覆盖的领域:
| 检测层 | 工具 | 监控内容 | 上一个项目 |
|----------------|------|----------------|-----------------|
| 端点进程监控 | Sysmon | 运行的每一个程序、创建的每一个文件、每一处注册表更改 | ✅ MITRE ATT&CK 检测实验室 |
| 身份验证与授权 | Windows 安全日志 | 每次登录、失败的登录、权限使用、账户更改 | ✅ 本项目 |
| 网络入侵检测 | Python NIDS | 网络流量、端口扫描、可疑连接 | ✅ NIDS 项目 |
**这三个项目共同构成了一个完整的分层检测系统**——这与企业 SOC 环境中使用的架构相同。真正的攻击者在网络中移动时,不可能不触及这三个层:
- 他们必须**运行程序** → 被 Sysmon 捕获
- 他们必须在某处进行**身份验证** → 被 Windows 安全日志捕获
- 他们必须**使用网络** → 被 NIDS 捕获
**共享的基础设施:**
两个项目都使用运行在主机上的**同一个 Splunk Enterprise 实例**。MITRE ATT&CK 检测实验室从 Windows 11 虚拟机发送 Sysmon 日志。本项目从 **Windows Server 虚拟机(域控制器)**发送 Windows 安全日志。两者都被存入同一个 Splunk index 中——从而通过单一 SIEM 提供整个实验室环境的统一视图。
```
+------------------+ +------------------+ +----------------------+
| Windows 11 VM | | Windows Server | | Host Machine |
| | | VM (DC) | | |
| Sysmon ──────── |──────────│──────────────────│────────▶| Splunk Enterprise |
| (Process/File/ | Port | Security Logs ──│─────────│ (Unified SIEM) |
| Registry logs) | 9997 | (Auth/Privilege)| Port | |
| | | | 9997 | - MITRE ATT&CK Lab |
| Atomic Red Team | | Active Directory| | - Windows Event Lab |
| (Attack source) | | (Attack target) | | |
+------------------+ +------------------+ +----------------------+
```
## 📌 项目概述
本项目构建了一个**Windows 安全事件日志威胁检测系统**,针对真实企业入侵中最常见的攻击模式——暴力凭证攻击、Pass-the-hash 身份验证滥用、权限提升以及通过 Active Directory 的横向移动。
该实验室使用真实的双机 Active Directory 环境(Windows Server 2019 域控制器 + Windows 11 客户端)来模拟真实的攻击者行为——这正是全球 90% 的企业网络中存在的环境。
**主要交付成果:**
- Windows 安全事件日志到 Splunk Enterprise 的流水线
- 在域控制器上启用高级 Windows 审核策略
- 针对 Active Directory 身份验证的攻击模拟
- 生成结构化取证报告的 Python 事件日志解析器
- 映射到 MITRE ATT&CK 技术的 SPL 检测规则
- 针对每种攻击模式的自动化 Splunk 告警
- 实时威胁检测仪表板
## 🏗️ 实验室架构
```
+-------------------------------------+ +-------------------------------------+
| Windows Server VM (DC) | | Host Machine (Laptop) |
| | | |
| Active Directory Domain Services | Port | +------------------------------+ |
| Windows Security Event Logs ───────│─ 9997 ─▶│ | Splunk Enterprise | |
| Advanced Audit Policies enabled | | | (Unified SIEM for both labs)| |
| IP: 192.168.10.1 (LAB1) | | +------------------------------+ |
| 192.168.119.142 (NAT) | | |
+-------------------------------------+ +-------------------------------------+
| ▲
| LAB1 Network |
| (AD authentication |
| attack traffic) |
+-------------------------------------+ |
| Windows 11 VM (Client) | |
| | |
| Sysmon (from MITRE ATT&CK Lab) ───│───────────────────────────+
| Attack simulation source | Port 9997
| IP: 192.168.10.x (LAB1) |
| 192.168.119.140 (NAT) |
+-------------------------------------+
```
**双机 AD 环境可实现真实的攻击模拟:**
- Windows 11 客户端充当发起凭证攻击的**攻击机**
- Windows Server DC 充当**目标**——任何企业网络中最有价值的机器
- 两台机器共享 LAB1 LAN 网段以进行直接 AD 通信
- 两台机器都配有 NAT 适配器,用于互联网访问和 Splunk 日志转发
## 🛠️ 工具与技术
| 工具 | 版本 | 用途 |
|------|---------|---------|
| Splunk Enterprise | 10.4.0 | SIEM — 与 MITRE ATT&CK 检测实验室共享 |
| Splunk Universal Forwarder | 10.4.1 | 从 Windows Server 到 Splunk 的日志转发 |
| Windows Server 2019 | 域控制器 | 攻击目标 — Active Directory 环境 |
| Windows 11 | 客户端虚拟机 | 攻击源机器 |
| Python 3 | 最新版 | Windows 安全事件日志解析器 |
| Group Policy Management | 内置 | 高级审核策略配置 |
| Active Directory | 内置 | 域身份验证基础设施 |
## 🧠 为什么选择 Windows 安全事件日志?
Sysmon 功能强大——但它只监控**端点上**发生的事情(进程、文件、注册表)。它有一个盲点:**身份验证**。当攻击者窃取凭证并使用它们登录服务器时,Sysmon 什么也看不到——因为服务器上没有运行恶意进程。攻击者是通过合法的渠道使用合法的凭证。
Windows 安全事件日志完全填补了这一空白。每一次身份验证尝试——无论成功还是失败——都会在域控制器上生成一条安全事件日志记录。这使得 DC 的安全日志成为任何 Windows 企业环境中用于检测以下行为的唯一最有价值的日志来源:
- **暴力破解** — 几秒钟内出现数百个 EventCode 4625(失败登录)
- **Pass-the-hash** — 伴有 NTLM 身份验证的 EventCode 4624 类型 3 登录
- **权限提升** — 意外分配了 EventCode 4672(特殊权限)
- **横向移动** — 来自意外源机器的 EventCode 4624 登录
- **Kerberoasting** — 针对敏感账户的 EventCode 4769(服务票据请求)
- **账户创建后门** — 意外创建的 EventCode 4720(新用户)
## 🔑 关键 Windows 安全事件 ID
| EventCode | 名称 | 检测到的攻击 | MITRE 技术 |
|-----------|------|----------------|----------------|
| 4624 | 成功登录 | Pass-the-hash、横向移动 | T1550 |
| 4625 | 失败登录 | 暴力破解 | T1110 |
| 4648 | 使用显式凭证登录 | 凭证滥用 | T1550 |
| 4672 | 分配特殊权限 | 权限提升 | T1078 |
| 4698 | 创建计划任务 | 持久化 | T1053.005 |
| 4720 | 创建用户账户 | 后门账户 | T1136 |
| 4732 | 将用户添加到安全组 | 权限提升 | T1078 |
| 4768 | 请求 Kerberos TGT | Kerberoasting | T1558 |
| 4769 | 请求 Kerberos 服务票据 | Kerberoasting | T1558.003 |
| 4776 | 凭证验证 | 暴力破解、凭证填充 | T1110 |
## 📅 项目进度
| 天 | 主题 | 状态 |
|-----|-------|--------|
| 第 1 天 | Windows Server 日志转发 + 审核策略设置 | 🔄 进行中 |
| 第 2 天 | 攻击模拟 — 暴力破解 + 权限提升 | ⏳ 待定 |
| 第 3 天 | Python Windows 事件日志解析器 | ⏳ 待定 |
| 第 4 天 | SPL 检测规则 + MITRE ATT&CK 映射 | ⏳ 待定 |
| 第 5 天 | 仪表板 + GitHub + 最终报告 | ⏳ 待定 |
标签:AMSI绕过, Modbus, PB级数据处理, PE 加载器, Python, Terraform 安全, Web报告查看器, Windows安全日志, 威胁检测, 安全运维, 无后门, 红队行动, 逆向工具