phredreeq/brute-force-detection
GitHub: phredreeq/brute-force-detection
基于 Splunk 和 Windows 事件日志的暴力破解检测方案,通过 SPL 查询实现阈值告警与关联分析,识别反复失败后成功登录的攻击模式。
Stars: 0 | Forks: 0
# 使用 Splunk 和 Windows 事件日志检测暴力破解
## 问题
通过使用 Splunk 作为 SIEM 工具,识别反复失败的身份验证随后成功登录的行为,从而检测暴力破解登录攻击。
## 目标
- 模拟真实的 Windows 身份验证日志数据
- 将日志摄取到 Splunk 中进行分析
- 编写 SPL 检测查询以识别攻击模式
- 使用阈值和关联逻辑标记可疑 IP
## 使用的日志
模拟的 Windows 身份验证日志 (CSV 格式)
| 事件 ID | 含义 |
|---|---|
| 4625 | 登录失败尝试 |
| 4624 | 登录成功 |
## 使用的工具
- **Splunk** — 用于日志分析的 SIEM 平台
- **Python** — 日志模拟和数据生成
- **Windows 事件 ID** — 身份验证日志标准
## 检测逻辑 (SPL 查询)
### 查询 1 — 查找所有失败的登录
index=main source="windows_auth_logs.csv" event_id=4625
从数据集中检索所有失败的登录尝试。
### 查询 2 — 按 IP 地址统计失败次数
index=main source="windows_auth_logs.csv" event_id=4625
| stats count by ip_address
| sort -count
按 IP 地址对失败的登录进行分组,以识别
最严重的攻击者。
### 查询 3 — 标记超过阈值的 IP
index=main source="windows_auth_logs.csv" event_id=4625
| stats count by ip_address
| where count > 5
| sort -count
将任何超过 5 次失败登录尝试的 IP 地址
标记为可疑。
### 查询 4 — 关联:失败后的成功登录
index=main source="windows_auth_logs.csv"
| stats count(eval(event_id="4625")) as failures, count(eval(event_id="4624")) as successes by ip_address
| where failures > 5 AND successes > 0
| sort -failures
识别出反复失败随后成功登录的 IP ——
典型的暴力破解模式。
## 结果




## 分析
IP 地址 192.168.1.105 在几分钟内对 "admin" 账户
发起了 60 多次失败的登录尝试,随后成功
通过身份验证。此模式与自动化的暴力破解
攻击一致。
检测逻辑还标记了第二个 IP 地址,这表明
查询不局限于单个硬编码的攻击者;它们检测的是
模式,而不仅仅是 IP。
## 结论
检测逻辑成功地在 Splunk 中使用阈值和关联分析
识别出了攻击者 IP。
在真实的 SOC 环境中,接下来的步骤将是:
- 在防火墙处阻止被标记的 IP
- 重置受感染账户的凭据
- 调查来自攻击者 IP 的横向移动
- 升级至 Tier 2 分析师进行进一步调查
## 👤 作者
Fredrick Agufenwa
网络安全学生 | SOC 与威胁检测
标签:AMSI绕过, EVTX, PB级数据处理, Python, SPL查询, Windows事件日志, Windows认证, 免杀技术, 威胁检测, 安全运维, 攻击模拟, 数据关联, 无后门, 日志取怔, 日志模拟, 暴力破解检测, 红队行动, 网络安全, 逆向工具, 阈值检测, 隐私保护, 驱动签名利用, 黄金证书