cyberlandji/operation-iron-watch-02
GitHub: cyberlandji/operation-iron-watch-02
Stars: 0 | Forks: 0
# 🔐 Operation Iron Watch 02
## Graylog SIEM — Web 枚举检测与可见性盲区
[](https://github.com/cyberlandji/operation-iron-watch-02)
[](https://github.com/cyberlandji)
[](https://github.com/cyberlandji/operation-iron-watch-02)
## 📌 概述
Operation Iron Watch 02 引入了 **Graylog 作为 SIEM**,并针对模拟外部攻击者 targeting 公开暴露的 Web 服务器的场景,验证了基线检测能力。
IW02 成功通过 HTTP 404 激增告警检测到了 Web 枚举活动。然而,它也暴露了一个关键的盲点:一次 **真实的 SSH 攻陷发生了,但在 SIEM 上完全不可见**,因为 `auth.log` 从未被摄入到 Graylog 中。
## 🎯 目标
- 建立并验证基线网络和 Web 活动
- 通过 SIEM 告警检测 Web 侦察和枚举
- 在成功攻陷之前验证基于阈值的检测逻辑
- 识别由日志摄入不完整导致的可见性盲区
- 练习结构化的事件重建和关联
## 🏗️ 实验室基础设施
| 主机 | IP | 角色 |
|------|----|------|
| `soc-core04` (VM) | 192.168.0.5 | Graylog SIEM |
| `web-arm01` (Raspberry Pi) | 192.168.0.9 | Apache2 Web 服务器 — 目标 |
| Safeguard Host | 192.168.0.7 | 物理主机 / 管理访问 |
## 🛠️ 检测技术栈
| 工具 | 主机 | 角色 |
|------|------|------|
| Graylog | soc-core04 | SIEM — 日志摄入和告警 |
| Apache2 | web-arm01 | Web 服务器 — `access.log` 来源 |
| rsyslog | web-arm01 | 日志转发至 Graylog |
## 🔍 检测 — 有效的部分
### HTTP 404 激增规则 (Web 枚举)
Graylog 告警由单个源 IP 在时间窗口内异常的 HTTP 404 响应率触发 —— 这与扫描有效路径和资源的自动化 Web 枚举工具的行为一致。
| 信号 | 阈值 | 结果 |
|--------|-----------|--------|
| 每个源 IP 的 HTTP 404 响应 | 高于基线的激增 | ✅ 告警正常触发 |
## ⚠️ 盲点 — 失败的部分
### SSH 攻陷不可见
在 IW02 期间,一次 **真实的 SSH 暴力破解成功了**,攻击者获得了 `web-arm01` 的 shell 访问权限。Graylog 为此事件生成了 **零个告警**。
**根本原因:** `auth.log` 从未摄入到 Graylog。日志管道仅覆盖了 `access.log`。
| 事件 | 主机上记录 | 在 Graylog 中 | 告警触发 |
|-------|---------------|------------|-------------|
| Web 枚举 (HTTP 404s) | ✅ | ✅ | ✅ |
| SSH 暴力破解尝试 | ✅ | ❌ | ❌ |
| SSH 成功登录 | ✅ | ❌ | ❌ |
| 攻陷后活动 | ✅ | ❌ | ❌ |
## 🗺️ MITRE ATT&CK 映射
| 技术 | 战术 | 状态 |
|-----------|--------|--------|
| Active Scanning — Web Enumeration | Reconnaissance | ✅ 已检测 |
| Brute Force — Password Spraying | Credential Access | ⚠️ 发生 — 未检测 |
| Valid Accounts — SSH | Initial Access | ⚠️ 成功 — 未检测 |
## 📂 结构
```
operation-iron-watch-02/
├── 00-overview/ # Operation summary and intent
├── 01-architecture/ # Network topology and host details
├── 02-scope/ # Lab scope and boundaries
├── 03-threat-scenario/ # Attacker scenario and TTPs
├── 04-monitoring-strategy/ # Detection logic and alert rules
├── 05-lab-setup/ # Host configurations
├── 06-detection-use-cases/ # Alert rules and detection documentation
├── 07-evidences/ # Screenshots and log samples
├── 08-lessons-learned/ # Gap analysis and key takeaways
├── 09-postmortems/ # SSH compromise post-mortem
└── README.md
```
## 🏁 关键结论
- **早期检测是可能的** — Web 枚举在任何成功攻陷之前就被捕获了
- **不完整的日志摄入是一个关键缺口** — 如果没有摄入,从 SIEM 的角度来看它就不存在
- **扁平网络架构是危险的** — 一旦进入 `web-arm01`,攻击者就可以自由地向 LAN 主机移动
- **没有完整遥测覆盖的 SIEM 会给人一种虚假的安全感**
## 🔗 Iron Watch 系列
| 章节 | 重点 | 状态 |
|---------|-------|--------|
| [Iron Watch 01](https://github.com/cyberlandji/operation-iron-watch-01) | 基础 SOC — Snort IDS,手动关联 | ✅ 已完成 |
| **Iron Watch 02** | **Graylog SIEM — Web 枚举检测,SSH 攻陷不可见** | ✅ 已完成 |
| [Iron Watch 03](https://github.com/cyberlandji/operation-iron-watch-03) | DMZ 加固,日志管道,DDoS 检测套件 | 🔄 进行中 |
| Iron Watch 04 | 攻击验证 — Kali 侦察 & 针对 IW03 的初始访问 | 🔜 计划中 |
## 👤 作者
**cyberlandji** — Blue Team 实践者 | ISC2 CC | CompTIA Security+ (进行中)
作品集: [cyberlandji.com](https://cyberlandji.com) · GitHub: [github.com/cyberlandji](https://github.com/cyberlandji)
标签:AMSI绕过, Apache, CISA项目, FOFA, Graylog, HTTP 404监控, PE 加载器, rsyslog, SSH暴力破解, Web枚举, 合规盲点, 告警规则, 域名收集, 威胁检测, 安全运营中心, 家庭实验室, 密码管理, 日志收集, 渗透测试防守, 漏洞复现, 网络可见性, 网络安全, 网络映射, 进程隐藏, 隐私保护