hakimfakhar/Wazuh-RDP-Intrusion-Detection-Lab
GitHub: hakimfakhar/Wazuh-RDP-Intrusion-Detection-Lab
基于 Wazuh、Sysmon、Suricata 等工具构建的 RDP 入侵检测实验室,通过完整攻击链模拟来评估和改进 SIEM 检测覆盖率。
Stars: 0 | Forks: 0
# RDP 入侵检测实验室 — Wazuh + Sysmon + Suricata + Chainsaw
我搭建这个实验室是为了给自己解答一个问题:**如果我搭建了自己的 SIEM 技术栈,然后攻击我自己的机器,它真的能抓到我吗?**
简短的回答是:大部分能抓到。9 个攻击阶段中有 8 个被实时捕获。第 9 个阶段——通过 `cmdkey.exe` 进行的凭据枚举——直接穿过我的实时监控,没有触发任何警报,我之所以发现它,仅仅是因为我之后对自己的日志进行了离线威胁狩猎。
这个缺口正是该仓库存在的全部原因。任何人都可以截图展示 Wazuh 警报触发的画面。找到那个*没有*触发的警报,并弄清楚原因,才是真正让我学到东西的部分。
## 我实际做了什么
在一个用于攻击模拟的隔离 VirtualBox 仅主机网络中,我从 Kali 攻击者虚拟机对我自己的 Windows 10 虚拟机运行了完整的 RDP 入侵链:
```
ICMP sweep → Nmap scan → Hydra brute force → RDP login
→ whoami / systeminfo → net user / net localgroup
→ cmdkey /list → PowerShell payload drop (EICAR)
```
每个阶段都由我自己配置和调优的检测技术栈进行监控,而不是使用预构建的实验室镜像。
- **Wazuh**(Manager + Agent + FIM/syscheck)作为 SIEM
- **Sysmon** 用于进程创建遥测和命令行日志记录
- **Suricata** 用于基于网络的检测
- **VirusTotal 集成** 用于文件哈希信誉查询
- **Chainsaw + 公共 Sigma 规则集** 用于离线威胁狩猎
## 检测缺口
当我运行 `cmdkey /list` 枚举缓存的 Windows 凭据时,**触发的警报数量为零**。
我的自定义规则集涵盖了 `whoami`、`systeminfo`、`net`/`net1`、`tasklist`、`ipconfig`、`route` 和 `schtasks`——除了 `cmdkey.exe` 之外的所有内容。
直到我导出 Windows 事件日志并使用公共 Sigma 规则包通过 Chainsaw 进行狩猎时,我才注意到这个缺口,该规则包使用我未在实时 Wazuh 规则中实现的检测逻辑,标记了完全相同的进程,对应于 **Local Accounts Discovery (MITRE ATT&CK T1087)**。
我从这个项目中获得的最大教训是,我的 SIEM 检测覆盖率从未受到工具本身的限制。它受到了我个人想到要编写的规则的限制。运行第二次独立的狩猎扫描有助于识别实时监控遗漏的内容。
## 本仓库包含的内容
| 文件夹 | 内容 |
|-------|-------|
| `Configuration/` | `ossec.conf`、`sysmon-integration`、`virus-total-integration` |
| `Rules/` | `local_rules.xml`、`suricata-rules.yaml` |
| `Reports/` | `RDP_Attack_Simulation_and_Detection_using_Wazuh_Report.pdf` |
| `Findings/` | `MITRE_ATTACK_Mapping.md`、`Attack_Timeline.md`、`Chainsaw_Threat_Hunting.md` |
| `SCREENSHOTS_/` | |
**快速链接:** [配置](Configuration/) · [规则](Rules/) · [报告](Reports/) · [发现](Findings/) . [截图_](SCREENSHOTS_/)
PDF 报告通过警报截图、原始 Sysmon 事件数据以及相应的 Wazuh 检测规则,详细介绍了攻击的每一个阶段。它还包括:
- 实验室架构和网络拓扑图
- 根据 Wazuh、Suricata 和 FIM 遥测重建的攻击时间线
- 针对每种观察到的技术的 MITRE ATT&CK 映射
- 检测工程决策和覆盖缺口
- 使用 Chainsaw 和 Sigma 规则的离线威胁狩猎结果
该报告旨在用作项目文档和事件分析报告。如果你只阅读一个部分,我建议阅读 **第 6.7 章** 中讨论的检测缺口以及 **第 9 章** 中的 Chainsaw 狩猎。
## 为什么选择 RDP?
针对 Windows 系统的 RDP 暴力破解仍然是一种常见的初始访问技术。它不需要自定义恶意软件,并且通常伴随着融入正常管理活动的合法 Windows 发现命令。
这使得它成为一个很好的场景,用于练习基于日志关联、主机遥测和威胁狩猎的分层检测,而不是仅仅依赖基于特征的检测。
## 下次我会做出哪些改变
- 添加持久化技术,例如 Scheduled Tasks 和 Run Registry Keys。
- 定期运行 Chainsaw 狩猎,并将发现反馈到 `local_rules.xml` 中。
- 扩展实验室,以包括跨多个主机的横向移动检测。
## 环境
攻击模拟是在隔离的 VirtualBox 仅主机网络(`192.168.11.0/24`)中进行的。
所有攻击流量都局限于实验室环境中。仅在外部服务(例如 VirusTotal 哈希查询和 EICAR 测试文件检索)需要时,才启用出站 Internet 连接。
所有攻击工具(`Hydra`、`Nmap` 和 `FreeRDP`)均从 Kali Linux 虚拟机执行,目标是我在此项目中专门配置的 Windows 10 虚拟机。
标签:Metaprompt, OpenCanary, Wazuh, x64dbg, 安全实验环境, 安全运营中心, 网络映射