ruancarlosrc/splunk-SIEM-lab
GitHub: ruancarlosrc/splunk-SIEM-lab
一个基于Splunk SIEM的Windows环境蓝队实验室,用于模拟和检测认证攻击与侦察命令,提升安全运维技能。
Stars: 0 | Forks: 0
# Splunk SIEM 实验室 — 基于 Windows 事件日志的威胁检测
## 目标
将 Splunk Enterprise 配置为本地 SIEM,摄取真实的 Windows 日志,并模拟两个攻击场景,以练习检测、调查和创建自动告警 — 复制 SOC 分析师的工作流程。
## 环境
| 组件 | 详情 |
|---|---|
| SIEM | Splunk Enterprise (免费许可证 — 500 MB/天) |
| 主机 | 本地 Windows 10/11(无虚拟机) |
| 摄取的日志 | Security, System, Application (WinEventLog) |
| 索引 | `main` |
| 来源类型 | `wineventlog:security` |
## 初始配置
### 1. 日志摄取
通过 **Settings → Add Data → Monitor → Local Event Logs** 配置日志摄取,选择 Security、System 和 Application 频道。
### 2. 进程创建审计
通过 PowerShell 启用(捕获事件 ID 4688 中的命令行所必需):
```
auditpol /set /subcategory:"Criação de Processo" /success:enable /failure:enable
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Audit" /v ProcessCreationIncludeCmdLine_Enabled /t REG_DWORD /d 1 /f
```
## 场景 1 — 暴力破解检测(事件 ID 4625)
### 描述
模拟多次使用错误密码进行登录尝试,以生成 4625 事件并通过 SPL 进行调查。
### 模拟
在 Windows 登录屏幕故意输入错误密码,在 Security 频道生成了 4 个 4625 事件。
### SPL 调查
**列出带有上下文的登录失败事件:**
```
index=main sourcetype="wineventlog:security" EventCode=4625
| table _time, Nome_da_Conta, Tipo_de_logon, Message, ComputerName
| sort -_time
```
**按主机统计失败次数(暴力破解检测的基础):**
```
index=main sourcetype="wineventlog:security" EventCode=4625
| stats count by ComputerName
| where count > 3
```
### 事件分析
| 字段 | 值 | 解释 |
|---|---|---|
| EventCode | 4625 | 认证失败 |
| Logon Type | 2 | 物理/交互式访问 |
| 数量 | 4 个事件 | 低频次 |
| 来源 | WORKGROUP(本地) | 无远程访问 |
| 结论 | 良性 | 合法用户输错密码 |
### 配置的告警
- **名称:** `暴力破解 - 多次登录失败`
- **类型:** 定时 — 每小时
- **触发条件:** 结果数量 > 0
- **动作:** 添加到已触发告警
## 场景 2 — 入侵后侦察检测(事件 ID 4688)
### 描述
模拟攻击者在入侵主机后的行为:顺序执行本地环境侦察命令。通过 SPL 进行检测,并映射到 MITRE ATT&CK 框架。
### 模拟 — 执行的命令
```
whoami
net user
ipconfig /all
tasklist
systeminfo
```
### SPL 检测
**识别可疑进程:**
```
index=main sourcetype="wineventlog:security" EventCode=4688
| search Nome_do_Novo_Processo="*whoami*" OR Nome_do_Novo_Processo="*net.exe*" OR Nome_do_Novo_Processo="*ipconfig*" OR Nome_do_Novo_Processo="*tasklist*" OR Nome_do_Novo_Processo="*systeminfo*"
| table _time, Nome_do_Novo_Processo, Linha_de_Comando_do_Processo, Nome_da_Conta
| sort -_time
```
### 结果
检测到所有 5 个命令在 1 分钟内由用户 Ruan 连续执行 — 这是入侵后侦察的经典模式。
### MITRE ATT&CK 映射
| 命令 | 技术 | ID |
|---|---|---|
| `whoami` | 系统所有者/用户发现 | T1033 |
| `net user` | 账户发现:本地账户 | T1087.001 |
| `net localgroup administrators` | 权限组发现 | T1069.001 |
| `ipconfig /all` | 系统网络配置发现 | T1016 |
| `tasklist` | 进程发现 | T1057 |
| `systeminfo` | 系统信息发现 | T1082 |
### 配置的告警
- **名称:** `侦察 - 检测到可疑命令`
- **类型:** 定时 — 每小时
- **触发条件:** 结果数量 > 0
- **动作:** 添加到已触发告警
## 仪表板 — 事件 ID 概览
用于构建监控面板的查询:
```
index=main sourcetype="wineventlog:security"
| stats count by EventCode
| eval Descricao=case(
EventCode=4624, "Logon bem-sucedido",
EventCode=4625, "Falha de logon",
EventCode=4634, "Logoff",
EventCode=4648, "Logon com credenciais explícitas",
EventCode=4672, "Privilégios de admin atribuídos",
EventCode=4688, "Processo criado",
EventCode=4798, "Enumeração de grupos do usuário",
EventCode=4799, "Enumeração de grupo local",
EventCode=5058, "Operação com chave criptográfica",
EventCode=5061, "Operação criptográfica KSP",
EventCode=5379, "Leitura do Credential Manager",
true(), "Outro"
)
| sort -count
```
## SPL — 使用的命令
| 命令 | 功能 |
|---|---|
| `index=` / `sourcetype=` | 过滤数据源 |
| `stats count by` | 按字段聚合和计数 |
| `eval` + `case()` | 条件字段扩充 |
| `table` | 格式化输出为列 |
| `sort` | 排序结果 |
| `where` | 聚合后过滤 |
| `search` | 按字段值过滤 |
| `head` | 返回前 N 个事件 |
## 证据
实验室的证据(截图)位于 `EVIDENCIAS-LAB-SIEM-SPLUNK/` 文件夹中。
## 经验教训
- Windows PT-BR 版 Splunk 使用葡萄牙语字段名(例如 `Nome_do_Novo_Processo`, `Linha_de_Comando_do_Processo`)— 与英文官方文档不同。需要检查原始事件以识别正确的字段名。
- 事件 ID 4688 仅在通过 `auditpol` 和注册表明确启用进程创建审计时才会记录命令行。
- 即使在没有 Active Directory 的本地环境中,时间戳和命令序列之间的关联也足以识别侦察模式。
## 参考资料
- [Splunk SPL 文档](https://docs.splunk.com/Documentation/Splunk/latest/SearchReference/WhatsInThisManual)
- [MITRE ATT&CK](https://attack.mitre.org/)
- [Windows 安全事件 ID — ultimatewindowssecurity.com](https://www.ultimatewindowssecurity.com/securitylog/encyclopedia/)
标签:AI合规, AMSI绕过, Conpot, IPv6, PowerShell, SPL查询, Windows安全, 事件日志分析, 仪表板, 侦察命令检测, 免杀技术, 威胁检测, 安全运营, 扫描框架, 日志摄入, 暴力破解检测, 网络安全, 蓝队实验室, 警报规则, 身份验证攻击, 隐私保护