dhruvshah-cyber/splunk-siem-homelab
GitHub: dhruvshah-cyber/splunk-siem-homelab
基于 Splunk Enterprise 构建的 SOC 家庭实验室,使用真实攻击数据集进行威胁检测和事件调查的实战演练环境。
Stars: 0 | Forks: 0
# Splunk SIEM 家庭实验室
   
一个基于 **Splunk Enterprise 10.2.1** 构建的安全运营中心 (SOC) 动手家庭实验室,使用了来自 **Splunk Boss of the SOC Version 1 (BOTSv1)** 数据集的真实攻击模拟数据。该项目展示了在 955,807 个事件和 22 个 sourcetype 中进行的威胁检测、日志分析和事件调查。
## 概述
该实验室模拟了 2016 年 8 月期间遭受主动攻击的企业网络。BOTSv1 数据集捕获了完整的攻击活动,包括 Web 应用程序攻击、通过 SMB 进行的横向移动、命令与控制 (C2) DNS 信标、权限提升和恶意软件执行 —— 所有这些都可以通过 Splunk 进行检测。
**关键统计数据:**
- 总事件数:955,807
- Sourcetype 数量:22
- 攻击时间线:2016 年 8 月 10 日至 24 日
- Windows 上的 Splunk Enterprise 10.2.1
## 环境
| 组件 | 详情 |
|-----------|---------|
| SIEM 平台 | Splunk Enterprise 10.2.1 |
| 操作系统 | Windows 10 |
| 数据集 | BOTSv1 仅攻击数据集 |
| Index | `botsv1` |
| 仪表板 | BOTSv1 攻击分析 - SOC 仪表板 |
| 监控主机 | we8105desk, we1149srv, we9041srv |
## 仪表板

**BOTSv1 攻击分析 - SOC 仪表板** 通过以下面板提供了对模拟攻击活动的实时可见性:
| 面板 | 描述 |
|-------|-------------|
| Total Events | 跨所有 sourcetype 的 955,807 个 BOTSv1 事件 |
| Suricata IDS Alerts | 125,584 个网络入侵检测警报 |
| Windows Security Events | 87,430 个身份验证和安全事件 |
| Firewall Blocks | 6,485 个被拒绝的连接 |
| Sysmon Events | 270,597 个 Windows 进程/网络/注册表事件 |
| Attack Timeline | 2016 年 8 月 10 日至 24 日的事件堆叠面积图 |
| Top Source IPs | 通过 Fortigate 识别的外部攻击者 IP |
| Suricata Alert Categories | Web Application Attack, Privilege Gain, Network Trojan |
| Country Heatmap | 来自美国、中国、德国、俄罗斯的攻击流量 |
| Process Creation by Account | 可疑账户:joomla, IUSR, bob.smith |
| Suricata IDS Alert Details | XSS, SQL Injection, CVE exploits, scanner detection |
| DNS C2 Detection | hostby.guardomicro.com (996 次查询), ns.kirov.ru (436 次) |
| SMB Lateral Movement | 内部主机之间的 smb2 create/write/read |
| Privilege Escalation | Administrator SeSecurityPrivilege (2,382 个事件) |
| Registry Changes | we8105desk 上的证书存储篡改 |
| Sysmon Host Activity | 按事件量识别恶意软件主机 |
## 检测到的攻击模式
### 1. Web 应用程序攻击
- **Sourcetype:** `iis`, `stream:http`, `suricata`
- **指标:** URI 中的 XSS 尝试、POST 正文中的 XXE SYSTEM ENTITY、SQL Injection SELECT FROM、检测到 Acunetix v6 扫描器
- **Suricata 签名:** `ET WEB_SERVER Script tag in URI`, `ET WEB_SERVER Possible XXE SYSTEM ENTITY`, `ET SCAN Acunetix Version 6`
- **SPL:**
```
index=botsv1 sourcetype=suricata event_type=alert
| stats count by alert.signature, alert.category
| sort -count | head 15
```
### 2. 通过 DNS 信标进行的命令与控制 (C2)
- **Sourcetype:** `stream:dns`
- **指标:** 996 次指向 `hostby.guardomicro.com` 的查询,436 次指向 `ns.kirov.ru` (俄罗斯 DNS) 的查询
- **SPL:**
```
index=botsv1 sourcetype=stream:dns
| mvexpand hostname{}
| stats count by hostname{}
| sort -count | head 20
```
### 3. SMB 横向移动
- **Sourcetype:** `stream:smb`
- **指标:** 来自 192.168.250.100 → 192.168.250.20 的 5,503 次 `smb2 create` 操作
- **SPL:**
```
index=botsv1 sourcetype="stream:smb"
| stats count by src_ip, dest_ip, command
| sort -count | head 15
```
### 4. 权限提升
- **Sourcetype:** `wineventlog:security`
- **事件:** EventCode 4672 (为新登录分配特殊权限)
- **指标:** Administrator 账户被分配 SeSecurityPrivilege 2,382 次
- **SPL:**
```
index=botsv1 sourcetype="wineventlog:security" EventCode=4672
| stats count by Account_Name, Privileges
| sort -count
```
### 5. 恶意软件执行
- **Sourcetype:** `xmlwineventlog:microsoft-windows-sysmon/operational`
- **指标:** we8105desk 生成了 130,353 个 Sysmon 事件 —— 所有主机中最高
- **注册表:** `HKLM\software\microsoft\enterprisecertificates\disallowed` 处的证书存储修改
- **SPL:**
```
index=botsv1 sourcetype=winregistry
| stats count by host, key_path, process_image
| sort -count | head 20
```
## Sourcetype 覆盖范围
| Sourcetype | 事件计数 | 描述 |
|-----------|-------------|-------------|
| `xmlwineventlog:microsoft-windows-sysmon/operational` | 270,597 | Windows Sysmon (进程, 网络, 注册表) |
| `stream:smb` | 151,568 | SMB 文件共享流量 |
| `suricata` | 125,584 | 网络 IDS 警报 |
| `wineventlog:security` | 87,430 | Windows 安全事件日志 |
| `winregistry` | 74,720 | Windows 注册表更改 |
| `stream:ip` | 62,083 | 原始 IP 流 |
| `fgt_traffic` | 55,279 | Fortigate 防火墙流量 |
| `stream:tcp` | 28,291 | TCP 流 |
| `fgt_utm` | 25,586 | Fortigate UTM (Web 过滤, AV) |
| `stream:http` | 23,936 | HTTP 流量流 |
| `iis` | 22,615 | Microsoft IIS Web 服务器日志 |
| `stream:dns` | 7,434 | DNS 查询/响应流 |
## 设置说明
### 前置条件
- Splunk Enterprise (免费许可证每天最多支持 500MB;BOTSv1 仅攻击数据集在限制范围内)
- Windows 10/11
- BOTSv1 仅攻击数据集 (从 Splunk 的 GitHub 下载)
### 数据加载
1. 在 Splunk 中创建索引:
- Settings → Indexes → New Index
- 名称:`botsv1`,其他所有设置保持默认
2. 解压 BOTSv1 `.tar` 文件并复制到 Splunk:
```
C:\Program Files\Splunk\var\lib\splunk\botsv1\
```
该文件夹应包含 `colddb`、`db` 和 `thaweddb` 子文件夹。
3. 重启 Splunk 服务。
4. **重要:** 搜索时,始终将时间范围设置为 **All time** —— BOTSv1 数据来自 2016 年 8 月。
### 导入仪表板
1. 在 Splunk 中:Settings → User Interface → Views → New
2. 或导航到 Dashboards → Create New Dashboard → Classic Dashboards
3. 点击 Source 并粘贴来自 `dashboard/botsv1_soc_dashboard.xml` 的仪表板 XML
## 关键发现
| 发现 | 证据 |
|---------|---------|
| 通过 Joomla 进行的 Web 服务器入侵 | IIS/Suricata 中的 XSS + SQL injection + 扫描器警报 |
| C2 信标 | 996 次指向 `hostby.guardomicro.com` 的 DNS 查询 |
| 横向移动 | 从 192.168.250.100 到 .20 的 SMB2 create/write |
| 权限提升 | Admin SeSecurityPrivilege 2,382 次 (EventCode 4672) |
| 证书存储篡改 | `HKLM\enterprisecertificates\disallowed` 被修改 |
| 恶意软件主机 | `we8105desk`,包含 130,353 个 Sysmon 事件 |
## 展示的技能
- Splunk Enterprise 安装、配置和索引管理
- BOTSv1 CTF 数据集加载和故障排除(时间范围问题解决)
- 使用真实攻击数据创建包含 16 个以上面板的自定义 Classic Dashboard
- 跨多个 sourcetype 编写 SPL (Splunk Processing Language) 查询
- 威胁搜寻:Web 攻击、C2 DNS、横向移动、权限提升
- 日志分析:Sysmon、Windows Security Events、Suricata IDS、Fortigate 防火墙
- 符合 MITRE ATT&CK 框架的事件调查方法论
## MITRE ATT&CK 映射
| 技术 | ID | 证据 |
|-----------|-----|---------|
| Exploit Public-Facing Application | T1190 | 通过 IIS 的 Joomla XSS/SQLi |
| Command and Control - DNS | T1071.004 | hostby.guardomicro.com 信标 |
| Lateral Movement - SMB | T1021.002 | 主机之间的 smb2 create/write |
| Privilege Escalation | T1068 | EventCode 4672 - SeSecurityPrivilege |
| Modify Registry | T1112 | 证书存储篡改 |
| Process Injection | T1055 | 可疑的 Sysmon EventCode 1 |
## 仓库中的文件
```
splunk-siem-homelab/
├── README.md # This file
├── dashboard/
│ └── botsv1_soc_dashboard.xml # Splunk Classic Dashboard XML
└── searches/
└── key_spl_queries.md # Key SPL queries for threat hunting
```
## 作者
**Dhruv Shah** | [@dhruvshah-cyber](https://github.com/dhruvshah-cyber)
作为一个动手网络安全作品集项目构建,展示了使用生产级工具和真实攻击数据的真实 SIEM 技能。
标签:AMSI绕过, BOTSv1, BurpSuite集成, Cloudflare, Homelab, HTTP/HTTPS抓包, IP 地址批量处理, Metaprompt, MITRE ATT&CK, PE 加载器, PoC, Splunk Enterprise, Suricata, Sysmon, Windows 事件日志, 协议分析, 堡垒机, 威胁检测, 安全仪表盘, 安全实验室, 安全教育, 安全运营中心, 实验环境, 态势感知, 攻击模拟, 暴力破解, 权限提升, 现代安全运营, 网络安全, 网络映射, 账户锁定, 速率限制, 隐私保护, 驱动签名利用