dunsin2018/splunk-web-attack-detection

GitHub: dunsin2018/splunk-web-attack-detection

基于Splunk SIEM平台分析Apache访问日志,实现对SQL注入、XSS、命令注入等Web应用攻击的自动化检测、IOC提取与告警配置的威胁狩猎项目。

Stars: 1 | Forks: 0

# 🔍 使用 Splunk 进行 Web 应用攻击检测与威胁狩猎 ![Splunk](https://img.shields.io/badge/Splunk-Enterprise_10.2.3-black?style=flat-square&logo=splunk&logoColor=green) ![Platform](https://img.shields.io/badge/Platform-Windows-0078D4?style=flat-square&logo=windows) ![Role](https://img.shields.io/badge/Role-SOC_Analyst-red?style=flat-square) ![Events Analyzed](https://img.shields.io/badge/Events_Analyzed-248%2C664-brightgreen?style=flat-square) ![Status](https://img.shields.io/badge/Status-Complete-success?style=flat-square) ## 📋 目录 - [项目概述](#project-overview) - [环境配置](#environment) - [攻击覆盖范围](#attack-coverage) - [关键发现](#key-findings) - [检测逻辑](#detection-logic) - [失陷指标](#indicators-of-compromise) - [告警配置](#alert-configuration) - [仓库结构](#repository-structure) - [展示技能](#skills-demonstrated) ## 项目概述 本项目使用 Splunk Enterprise 接收、解析和分析来自 Apache 样式访问日志的恶意 Web 应用流量,模拟真实世界的安全运营中心 (SOC) 事件。 **关键成果:** - 在完整的 Web 攻击数据集中处理了 **248,664 个事件** - 通过检测查询识别出 **24 个唯一的 IP / 攻击类型组合** - 标记了一个**潜在成功的 RCE 尝试**(命令注入返回了 HTTP 200 响应) - 构建并调度了一个每 1 分钟运行一次的 **Critical Web Attack Detection** 告警 ## 环境配置 | 组件 | 详细信息 | |------------------|-------------------------------------| | SIEM Platform | Splunk Enterprise 10.2.3 | | Operating System | Windows | | Data Source | `access_log.txt` | | Sourcetype | `access_combined` | | Index | `main` | | Log Type | Web Server Access Logs (Apache CLF) | ![Splunk 概览](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/fea23d5da8181354.png) ## 攻击覆盖范围 | 攻击类型 | 示例 Payload | 风险级别 | |----------------------------------|-----------------------------------------------------|--------------| | SQL 注入 (SQLi) | `/search?query=' OR '1'='1` | 🔴 严重 | | 跨站脚本攻击 (XSS) | `/profile.php?name=` | 🟠 高 | | 目录遍历 / LFI | `/download?file=../../../../etc/passwd` | 🔴 严重 | | 命令注入 / RCE | `/exec.php?cmd=whoami;id;ls -la` | 🔴 严重 | | 远程文件包含 (RFI) | `/page.php?url=http://malicious.com/shell.txt` | 🔴 严重 | | 侦察 / 自动化扫描 | Nmap Scripting Engine, sqlmap | 🟡 中 | ## 关键发现 ### ⚠️ 严重 — 潜在的成功利用 ``` GET /exec.php?cmd=whoami;id;ls -la HTTP/1.1" 200 ``` 命令注入 payload 返回了 HTTP 200 —— 这表明目标应用程序可能已经**接受并执行**了远程命令。这需要立即升级处理并进行取证调查。 ### 攻击者行为模式 - 外部 IP 执行了自动化扫描,随后进行了定向注入 - 内部 IP `10.0.0.5` 表现出可疑的命令注入活动(内部威胁或横向移动) - `sqlmap` 和 `Nmap` user-agent 确认了使用工具辅助的利用尝试 ![统计视图](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/0c5026dd6d181401.png) ![模式分析](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/2581e6fab8181407.png) ## 检测逻辑 核心 SPL 查询位于 [`queries/web_attack_detection.spl`](queries/web_attack_detection.spl)。 **逻辑概述:** 1. 从包含攻击特征的 Web 日志源中筛选事件 2. 通过 `rex` 字段提取提取源 IP 3. 通过 `eval/case` 将每个事件分类到相应的攻击类别 4. 按 `src_ip` 和 `attack_type` 进行聚合以进行分诊 ![检测查询结果](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/13b1454bb0181414.png) **索引验证查询**(用于 SIEM 故障排除期间): ``` index=* | stats count by index sourcetype source host ``` ## 失陷指标 ### 可疑 IP 地址 | IP 地址 | 活动 | |-------------------|---------------------------------| | `185.199.110.153` | 命令注入 / RFI / LFI | | `37.49.226.150` | SQL 注入 / 侦察 | | `192.168.1.101` | SQLi / XSS / LFI | | `10.0.0.5` | 内部 —— 命令注入 | ### 可疑 User Agent - `sqlmap/1.4.5-dev` - `Nmap Scripting Engine` 完整的 IOC 参考 → [`iocs/indicators.md`](iocs/indicators.md) ## 告警配置 | 参数 | 值 | |---------------|-------------------------------------------| | 告警名称 | Critical Web Application Attack Detection | | 告警类型 | Scheduled | | 计划调度 | 每 1 分钟 | | 搜索窗口 | 过去 5 分钟 | | 触发条件 | 结果数量 > 0 | | 严重程度 | 高 / 严重 | ![告警创建](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/aa16f1e116181419.png) ![已触发的告警](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/911815a91b181425.png) ## 仓库结构 ``` splunk-web-attack-detection/ ├── README.md # This file ├── queries/ │ ├── web_attack_detection.spl # Primary detection query │ └── validation_query.spl # Index/sourcetype validation ├── docs/ │ └── SOC_Report.md # Full SOC analyst report ├── iocs/ │ └── indicators.md # IP addresses, user agents, payloads └── screenshots/ # Evidence: query results, alert config ├── splunk_overview.png ├── detection_query_results.png ├── statistics_view.png ├── pattern_analysis.png ├── alert_creation.png └── triggered_alerts.png ``` ## 展示技能 | 领域 | 具体内容 | |-----------------------|---------------------------------------------------------| | SIEM 运营 | Splunk 日志接入,索引验证,故障排除 | | 检测工程 | SPL 查询开发,regex 提取,eval 逻辑 | | 威胁狩猎 | 模式分析,行为聚类 | | IOC 分析 | IP 归属,user-agent 指纹识别 | | 告警开发 | 计划告警,触发阈值 | | 事件响应 | RCE 分诊,升级标准,HTTP 状态分析 | | Web 攻击分析 | SQLi, XSS, LFI, RFI, RCE, Recon | ## 相关项目 - [GRC 与风险评估作品集](https://github.com/) *(链接你的其他仓库)* - [AWS 云安全 — NIST CSF 实施](https://github.com/) *由 **Dunsin Fakorede** 编写 | SOC 分析师 / 网络安全爱好者*
标签:Apache日志, CISA项目, IOC分析, LFI, RCE, RFI, TGT, Threat Hunting, URL发现, Web应用攻击, XSS, 告警工程, 命令注入, 安全检测, 安全运营中心, 攻防演练, 本地文件包含, 漏洞情报, 网络信息收集, 网络安全, 网络映射, 网络流量分析, 自动化分析, 跨站脚本, 远程命令执行, 远程文件包含, 隐私保护