atharva-acharya/Splunk-SOC-Lab

GitHub: atharva-acharya/Splunk-SOC-Lab

基于 Splunk Enterprise 和 BOTS v3 数据集的 SOC 分析师实操项目,通过 SPL 检测规则与 IR 报告演示完整攻击链的威胁检测与事件响应流程。

Stars: 0 | Forks: 0

# Splunk SIEM 调查实验室 这是一个实操性的 SOC 分析师作品集项目,展示了如何使用 Splunk Enterprise 和 BOTS v3 (Boss of the SOC) 数据集进行威胁检测、调查和事件响应。项目包含五条 SPL 检测规则,涵盖了一条真实的 Web 攻击链——从初始侦察到漏洞利用、权限提升、数据泄露和云凭证窃取——每条规则都配有基于调查的 IR 报告,并与 MITRE ATT&CK 框架相对应。 ## 目录 - [实验室概述](#lab-overview) - [环境](#environment) - [数据集](#dataset) - [检测规则](#detection-rules) - [事件报告](#incident-reports) - [MITRE ATT&CK 覆盖范围](#mitre-attck-coverage) - [攻击链叙述](#attack-chain-narrative) - [仓库结构](#repository-structure) - [相关项目](#related-projects) ## 实验室概述 | 组件 | 详情 | |-----------|--------| | **SIEM** | Splunk Enterprise 10.4.0 | | **数据集** | BOTS v3 (Boss of the SOC v3) | | **检测规则** | 5 条 SPL 分析规则 | | **IR 报告** | 5 份基于调查的报告 | | **MITRE 技术** | 跨 7 种战术的 10 项技术 | | **攻击面** | Web 应用、Windows 端点、AWS 云 | ## 环境 **宿主机:** Windows 11, Intel i7-13700HX, 32GB RAM **Splunk:** Enterprise 10.4.0, 本地安装 **Index:** `botsv3` Splunk Enterprise 原生安装在 Windows 宿主机上(非虚拟化),以最大化 BOTS v3 数据集(约 30GB 未压缩)的摄取性能。BOTS v3 应用程序包通过 Splunk Web UI 直接安装。 ## 数据集 **BOTS v3 (Boss of the SOC Version 3)** 是由 Splunk 为 CTF 式安全调查制作的真实攻击数据集。它包含来自处于活跃攻击下的模拟企业环境的日志数据,涵盖 Web 服务器、Windows 端点、AWS 基础设施和网络流量。 | Sourcetype | 事件计数 | 用途 | |------------|-------------|-----| | `syslog` | 283,976 | Linux 系统日志 | | `stream:ip` | 227,872 | 网络 IP 流 | | `stream:dns` | 218,456 | DNS 查询/响应 | | `stream:udp` | 157,960 | UDP 流量 | | `winhostmon` | 129,679 | Windows 主机监控 | | `aws:cloudwatchlogs` | 115,145 | AWS CloudWatch | | `aws:cloudwatchlogs:vpcflow` | 97,448 | VPC 流日志 | | `wineventlog:security` | 46,469 | Windows 安全事件 | | `stream:http` | 24,191 | HTTP 流量 | | `aws:cloudtrail` | 6,571 | AWS API 审计日志 | | `xmlwineventlog:microsoft-windows-sysmon/operational` | 9,212 | Sysmon 事件 | ## 检测规则 五条 SPL 分析规则,涵盖跨 Web、端点、DNS 和云攻击面的不同攻击技术。 | # | 规则 | 技术 | MITRE ID | Sourcetype | 严重性 | |---|------|-----------|----------|------------|----------| | 01 | [Web 侦察](detection-rules/SPL-Rule-01-Web-Recon.md) | 主动扫描 | T1595.002 | stream:http | 中 | | 02 | [Apache Struts RCE](detection-rules/SPL-Rule-02-Struts-RCE.md) | 利用面向公众的应用程序 | T1190 | stream:http | 严重 | | 03 | [DNS 数据泄露](detection-rules/SPL-Rule-03-DNS-Exfiltration.md) | 通过 DNS 进行数据泄露 | T1048.003 | stream:dns | 高 | | 04 | [可疑 LOLBin 执行](detection-rules/SPL-Rule-04-Suspicious-Process.md) | Windows 命令解释器 | T1059.003 | wineventlog:security | 中 | | 05 | [AWS IMDS 凭证窃取](detection-rules/SPL-Rule-05-AWS-IMDS-Abuse.md) | 云实例元数据 API | T1552.005 | stream:http | 严重 | ### 规则亮点 **Rule 02 — Apache Struts RCE (CVE-2017-9805)** 检测针对 Apache Struts REST 插件端点的 HTTP POST 正文中的 OGNL 表达式注入。当 `form_data` 中出现 `OgnlContext`、`ProcessBuilder` 或 `Runtime.exec` 模式时触发——这些模式均不会出现在正常的应用程序流量中。此规则检测到了一条完整的攻击链,包括后门账户创建和反弹 shell 建立。 **Rule 05 — AWS IMDS 凭证窃取** 检测针对 IAM 安全凭证端点、发往 `169.254.169.254` 处 AWS 实例元数据服务的成功查询。仅过滤 HTTP 200 响应——排除了探测尝试,专注于确认的凭证获取。该技术曾在 2019 年 Capital One 数据泄露事件中被使用。 ## 事件报告 所有五份报告均以调查为主导:每份报告都记录了调查期间使用的 SPL 查询、返回的证据,以及调查结果如何推动下一步的调查步骤。这些报告并非警报摘要——它们重建了分析师的决策过程。 | 报告 | 标题 | 严重性 | MITRE | |--------|-------|----------|-------| | [IR-001](ir-reports/IR-001-Web-Reconnaissance.md) | Web 侦察:检测到主动扫描 | 中 | T1595.002 | | [IR-002](ir-reports/IR-002-Apache-Struts-RCE.md) | Apache Struts RCE:完整攻击链 (CVE-2017-9805) | 严重 | T1190 | | [IR-003](ir-reports/IR-003-DNS-Exfiltration.md) | 通过 Froth.ly 子域名进行 DNS 数据泄露 | 高 | T1048.003 | | [IR-004](ir-reports/IR-004-LOLBin-Execution.md) | LOLBin 执行:WMIC 和 reg.exe 滥用 | 中 | T1059.003 | | [IR-005](ir-reports/IR-005-AWS-IMDS-Credential-Theft.md) | AWS 实例元数据服务凭证窃取 | 严重 | T1552.005 | ### IR-002 — 攻击链摘要 IR-002 记录了实验室中最完整的攻击序列。位于 `192.168.8.103` 的攻击者针对位于 `192.168.9.30` 的未修补 Apache Struts 实例利用了 CVE-2017-9805,随后完全通过注入的 OS 命令执行了以下后渗透序列: ``` id → groups → cat /etc/passwd → useradd (UID 0 backdoor) → uname -a → drop kernel exploit → decode exploit → compile exploit → establish reverse shell to 45.77.53.176:8088 ``` 完整的命令提取、时间线重建和 IOC 文档记录请参见 [IR-002](ir-reports/IR-002-Apache-Struts-RCE.md)。 ## MITRE ATT&CK 覆盖范围 ![MITRE ATT&CK Navigator Layer](https://raw.githubusercontent.com/atharva-acharya/Splunk-SOC-Lab/main/screenshots/mitre-navigator-layer.png) **Navigator layer:** [Splunk-SOC-Lab-MITRE-Layer.json](mitre-navigator/Splunk-SOC-Lab-MITRE-Layer.json) 通过 [ATT&CK Navigator](https://mitre-attack.github.io/attack-navigator/) 加载 → 打开现有 Layer → 从本地上传。 | 战术 | 技术 | ID | |--------|-----------|-----| | 侦察 | 主动扫描:漏洞扫描 | T1595.002 | | 初始访问 | 利用面向公众的应用程序 | T1190 | | 执行 | Windows 命令解释器 | T1059.003 | | 执行 | Windows 管理规范 | T1047 | | 持久化 | 创建本地账户 | T1136.001 | | 防御规避 | 修改注册表 | T1112 | | 凭证访问 | 云实例元数据 API | T1552.005 | | 命令与控制 | 入口工具传输 | T1105 | | 命令与控制 | 应用层协议:Web | T1071.001 | | 数据泄露 | 通过替代协议进行数据泄露:DNS | T1048.003 | ## 攻击链叙述 BOTS v3 数据集包含一次连贯的攻击活动。本实验室中的五条检测规则和报告对应于该活动的不同阶段: ``` RECONNAISSANCE INITIAL ACCESS EXECUTION IR-001 IR-002 IR-002 / IR-004 Web scanning Apache Struts RCE OS commands via 192.168.3.130 CVE-2017-9805 OGNL injection + 172.16.197.137 192.168.8.103 LOLBin execution │ │ │ └───────────────────────┘ │ Scanning identified │ Struts endpoint │ ▼ EXFILTRATION CREDENTIAL ACCESS PERSISTENCE IR-003 IR-005 IR-002 DNS tunnelling AWS IMDS query Backdoor account BSTOLL-L → 172.31.12.76 → tomcat7 (UID 0) froth.ly subdomains EC2InstanceRole creds Reverse shell C2 ``` IR-001 和 IR-002 明确关联:扫描器 `172.16.197.137` 在漏洞利用前进行侦察时,识别出了 Struts 端点。IR-002 和 IR-005 相互关联:通过 EC2 实例上的 Struts RCE 获取 root 权限后,可直接进行 IMDS 查询以窃取凭证。 ## 仓库结构 ``` Splunk-SOC-Lab/ ├── README.md ├── LICENSE ├── detection-rules/ │ ├── SPL-Rule-01-Web-Recon.md │ ├── SPL-Rule-02-Struts-RCE.md │ ├── SPL-Rule-03-DNS-Exfiltration.md │ ├── SPL-Rule-04-Suspicious-Process.md │ └── SPL-Rule-05-AWS-IMDS-Abuse.md ├── ir-reports/ │ ├── IR-001-Web-Reconnaissance.md │ ├── IR-002-Apache-Struts-RCE.md │ ├── IR-003-DNS-Exfiltration.md │ ├── IR-004-LOLBin-Execution.md │ └── IR-005-AWS-IMDS-Credential-Theft.md ├── mitre-navigator/ │ └── Splunk-SOC-Lab-MITRE-Layer.json ├── datasets/ │ └── botsv3_data_set.tgz (not tracked — too large for GitHub) └── screenshots/ ├── splunk-install-verified.png ├── botsv3-ingestion-verified.png ├── spl-detection-rules-verified.png └── mitre-navigator-layer.png ``` ## 相关项目 本实验室是 SOC 分析师实操项目作品集的一部分: | 项目 | 重点 | 链接 | |---------|-------|------| | AD SOC 检测实验室 | Active Directory 攻击, KQL, Microsoft Sentinel, 7 份 IR 报告 | [github.com/atharva-acharya/AD-SOC-Detection-Lab](https://github.com/atharva-acharya/AD-SOC-Detection-Lab) | | Microsoft Sentinel 检测实验室 | Azure SIEM, KQL 分析规则, Sysmon, 5 份 IR 报告 | [github.com/atharva-acharya/Sentinel-Detection-Lab](https://github.com/atharva-acharya/Sentinel-Detection-Lab) | | Splunk SIEM 调查实验室 | Splunk SPL, BOTS v3, Web 攻击链, 云威胁 | 本仓库 | *MSc 网络安全工程 — 华威大学 (Merit)* *CDSA — HackTheBox (2026 年 6 月)*
标签:CISA项目, PB级数据处理, SOC分析, Web报告查看器, 安全检测规则, 安全运维, 密码管理, 库, 应急响应