S-aghori/red-team-splunk-lab
GitHub: S-aghori/red-team-splunk-lab
该项目搭建了一套完整的红队攻击模拟与 Splunk SIEM 检测实验室,展示了从 Kali Linux 发起网络攻击并在 Splunk 中实现日志检测与可视化的全流程。
Stars: 0 | Forks: 0
# 🔴 红队攻击模拟与 Splunk 检测




## 📋 项目概述
本项目展示了在家庭实验室环境中构建的完整**红队 → 蓝队**检测流水线。攻击从 Kali Linux 发起,由 Windows 记录日志,并转发至 Splunk,最终在自定义检测仪表板上进行可视化展示。
**收集到的总事件数:216,872**
## 🏗️ 实验室架构
```
┌─────────────────┐ ┌─────────────────┐
│ Kali Linux │ ──────▶ │ Windows 10 │
│ 192.168.56.105 │ Attack │ 192.168.56.104 │
│ (Attacker) │ │ (Target) │
└─────────────────┘ └────────┬────────┘
│ Logs
▼
┌─────────────────┐
│ Splunk │
│ localhost:8000 │
│ (Detector) │
└─────────────────┘
```
**网络:** Oracle VirtualBox — Host-Only 网络 (192.168.56.0/24)
## 🛠️ 使用的工具
| 工具 | 版本 | 用途 |
|------|---------|---------|
| Kali Linux | 2024.x | 攻击平台 |
| Windows 10 | 22H2 | 目标机器 |
| Splunk Enterprise | 10.2.3 | SIEM 与检测 |
| Splunk Universal Forwarder | 最新版 | 日志转发 |
| Sysmon | v15.x | 增强的端点日志记录 |
| Nmap | 7.99 | 端口扫描 |
| enum4linux | 0.9.1 | SMB 枚举 |
| Hydra | v9.6 | 暴力破解 |
| Metasploit | v6.4 | 漏洞扫描 |
## ⚔️ 模拟的攻击
### 1. 侦察 — Nmap 端口扫描
```
nmap -sV -A -T4 192.168.56.104
```
**发现结果:** 开放端口 135、139、445、8000、8089 | 操作系统:Windows 10 22H2
**Splunk 检测:** 事件 ID 5156/5157 出现激增(1,116 个事件)
### 2. 枚举 — SMB (enum4linux)
```
enum4linux -a 192.168.56.104
```
**发现结果:** 域:WORKGROUP | 泄露的用户名:administrator、guest、krbtgt
**Splunk 检测:** 安全日志中的 SMB 会话尝试
### 3. 暴力破解 — Hydra
```
hydra -l Administrator -P /usr/share/wordlists/rockyou.txt rdp://192.168.56.104 -t 4 -V
```
**发现结果:** 产生了多次失败的认证尝试
**Splunk 检测:** 事件 ID 4625 激增(登录失败)
### 4. 漏洞扫描 — Metasploit EternalBlue
```
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.56.104
run
```
**发现结果:** 目标不易受 MS17-010 攻击(已修补)
**Splunk 检测:** 网络连接日志中可见 SMB 探测
## 📊 Splunk 仪表板
**仪表板名称:** 红队攻击检测实验室
### 面板
| 面板 | SPL 查询 | 可视化 |
|-------|-----------|---------------|
| 攻击时间线 | `index=main host=DESKTOP-EVMUNVQ \| timechart count by EventCode` | 折线图 |
| 登录失败 | `index=main EventCode=4625 \| timechart count` | 柱状图 |
| 热门事件代码 | `index=main \| stats count by EventCode \| sort -count \| head 10` | 条形图 |
| 网络连接 | `index=main EventCode=5156 \| stats count by Destination_Address Destination_Port \| sort -count \| head 10` | 表格 |
| 进程创建 | `index=main EventCode=4688 \| stats count by Creator_Process_Name \| sort -count \| head 10` | 条形图 |
| 总事件数 | `index=main host=DESKTOP-EVMUNVQ \| stats count` | 单值 |
## 🔍 关键事件 ID 参考
| 事件 ID | 含义 | 攻击相关性 |
|----------|---------|-----------------|
| 4624 | 成功登录 | 追踪访问 |
| 4625 | 登录失败 | 暴力破解检测 |
| 4688 | 进程已创建 | 攻击工具执行 |
| 4689 | 进程已终止 | 攻击工具活动 |
| 4703 | 调整 Token 权限 | 特权活动 |
| 5156 | 允许的网络连接 | 端口扫描检测 |
| 5157 | 阻止的网络连接 | 防火墙活动 |
## 📁 仓库结构
```
red-team-splunk-lab/
│
├── configs/
│ ├── inputs.conf # Splunk forwarder input config
│ ├── outputs.conf # Splunk forwarder output config
│ └── sysmonconfig.xml # Sysmon configuration
│
├── dashboards/
│ └── red_team_detection_lab.xml # Splunk dashboard export
│
├── screenshots/
│ ├── Attack_1_Port_Scan.png
│ ├── Attack_2_SMB_Enumeration.png
│ ├── Attack_3_EternalBlue.png
│ ├── Splunk_Detection_BruteForce.png
│ ├── Splunk_EventCode_Summary.png
│ └── Dashboard_Full_View.pdf
│
└── README.md
```
## 📈 结果摘要
```
Total Events Collected → 216,872
Event Types Detected → 106 unique Event Codes
Network Events (5156) → 1,116
Process Events (4688) → 26,750
Failed Logons (4625) → 4
Successful Logons (4624) → 322
```
## 🧠 关键学习心得
- 每次攻击都会留下痕迹 — Nmap、enum4linux 和 Hydra 都生成了独特且可检测的模式
- Sysmon 极大地提升了超越标准 Windows 日志记录的端点可见性
- SPL 查询能在几秒钟内从数十万个事件中发现攻击模式
- 虚拟实验室环境中的网络配置需要仔细关注子网和适配器
- 红队思维能磨砺蓝队检测 — 了解攻击能让检测规则变得更好
## 🚀 下一步计划
- [ ] 添加 Metasploitable2 作为第二个目标
- [ ] 构建 Splunk 告警,在暴力破解模式出现时自动触发
- [ ] 模拟后渗透活动(横向移动、持久化)
- [ ] 使用此数据集记录威胁狩猎技术
- [ ] 为每次攻击添加 MITRE ATT&CK 映射
## 📖 完整文章
在 Medium 上阅读完整的技术文章:
**[我如何模拟真实的网络攻击并使用 Splunk 进行检测](https://medium.com/@shivamsinghsengar)**
## 👤 作者
**Shivam Singh Sengar (S-aghori)**
- GitHub: [github.com/S-aghori](https://github.com/S-aghori)
- LinkedIn: [Shivam Singh Sengar](https://linkedin.com/in/shivamsinghsengar)
⭐ 如果这个项目对您有帮助,请考虑给它点个 Star!
标签:CTI, Sysmon, XXE攻击, 安全实验室, 插件系统, 网络安全, 隐私保护