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安全, 事件日志分析, 仪表板, 侦察命令检测, 免杀技术, 威胁检测, 安全运营, 扫描框架, 日志摄入, 暴力破解检测, 网络安全, 蓝队实验室, 警报规则, 身份验证攻击, 隐私保护