TejinderS1130/python-soc-multi-detection-log-analyzer

GitHub: TejinderS1130/python-soc-multi-detection-log-analyzer

一个基于 Python 的 SOC 自动化工具,通过多事件关联检测认证日志中的暴力破解、密码喷洒与账户妥协。

Stars: 0 | Forks: 0

# SOC 多攻击日志分析器(Python)

## 概述 本项目模拟一个 **SOC 自动化工具**,用于分析身份验证日志以检测 **多种攻击模式**。 该工具执行 **日志解析、事件关联、风险评分和告警生成**,类似于真实 SOC 环境中 SIEM 平台的操作方式。 ## 真实世界 SOC 场景 本项目模拟一个真实的凭据攻击场景,其中: - 攻击者对身份验证服务执行暴力破解尝试 - 多个用户名为目标(密码喷洒) - 在多次失败后成功登录 - 系统检测并标记潜在的账户妥协 这反映了 **企业环境中常见的真实 SOC 事件**,例如: - 勒索软件初始访问 - 凭据填充攻击 - 未经授权的远程访问尝试 ## 目标 - 检测基于身份验证的攻击 - 关联失败与成功的登录活动 - 模拟 SOC 检测工程 - 生成用于事件响应的优先级告警 ## 支持的攻击检测 - 暴力破解攻击 - 密码喷洒 - 多次失败后的成功登录(**账户妥协**) - 用户枚举尝试 ## 高级检测功能(SEC 2 级) - 基于时间的检测逻辑 - 优先级风险评分 - 严重性分类(低 / 中 / 高 / 危急) - 多事件关联(失败 + 成功) - 基于 JSON 的告警输出(SIEM 风格) ## 检测逻辑 - 检测 **“密码错误”** 事件 - 提取 **源 IP 地址和用户名** - 跟踪 **每个 IP 针对的唯一用户** - 检测 **多次失败后的成功登录** - 应用 **基于阈值的检测(≥ 5 次尝试)** ## 检测逻辑分解 ### 1. 暴力破解检测 - 跟踪每个 IP 的失败登录尝试 - 尝试次数 ≥ 5 时触发告警 - 标识自动化攻击行为 ### 2. 密码喷洒检测 - 跟踪目标唯一用户数量 - 标记来自单一 IP 的多个用户尝试 - 指示凭据喷洒活动 ### 3. 失败后成功登录(危急) - 检测多次失败后的成功登录 - 账户妥协的强指示器 - 高优先级 SOC 告警 ### 4. 用户枚举检测 - 检测多个用户名尝试 - 标识侦察行为 ## 风险评分模型(SIEM 风格) 本系统采用基于风险的评分模型来优先级化告警。 ### 评分表 | 检测类型 | 风险分数 | 描述 | |--------------------|---------|------------------------------| | 暴力破解 | 40 | 大量失败的登录尝试 | | 密码喷洒 | 30 | 从单一 IP 针对多个用户 | | 账户妥协 | 50 | 多次失败后的成功登录 | ### 关联逻辑 多个检测结果会累加总风险分数: | 场景 | 分数 | 解释 | |--------------------------|------|--------------------------| | 仅暴力破解 | 40 | 可疑活动 | | 仅密码喷洒 | 30 | 侦察行为 | | 暴力破解 + 成功 | 90 | 高度可能已妥协 | | 全部组合 | 120 | 危急事件 | ### 严重性映射 | 风险分数 | 严重性 | |---------|---------| | ≥ 80 | 危急 | | ≥ 50 | 高 | | ≥ 30 | 中 | | < 30 | 低 | ### SOC 洞察 多弱信号关联显著提升检测置信度并降低误报率。 ## 工作原理 1. 摄取日志文件 2. 提取失败的登录尝试 3. 关联 IP 与用户名 4. 跟踪成功登录 5. 应用检测规则 6. 生成并存储告警 ## 检测输出示例 [告警] 来自 192.168.1.50 的暴力破解攻击(5 次尝试) [危急] 来自 192.168.1.50 的账户妥协检测 ## 项目演示 ### 脚本执行 ### 检测结果 ### 告警输出文件 ### 示例日志文件 ### JSON 告警输出(SEC 2 级) ## SOC 工作流模拟 检测 → 告警 → 调查 → 响应 1. 日志摄取 2. 检测规则触发 3. 生成并优先级化告警 4. 分析师调查可疑活动 5. 识别潜在妥协 6. 事件升级 ## 检测引擎 核心检测逻辑实现于: 👉 `scripts/soc-detection-engine.py` 更多文档: 👉 `docs/detection-logic.md` 包括: - 多攻击检测逻辑 - 风险评分模型 - 严重性分类 - SOC 风格关联规则 ## 工具与技能 - Python(日志分析与自动化) - 正则表达式(模式检测) - SOC 检测工程 - 威胁检测与关联 - 事件分析 - MITRE ATT&CK 映射 ## 误报考虑 - 管理登录尝试 - 安全测试活动 - 配置错误的服务 ## 检测改进(未来增强) - 时间窗口关联(真实 SIEM 逻辑) - GeoIP 丰富 - SIEM 集成(Splunk / Sentinel) - 实时告警(Slack / 邮件) ## MITRE ATT&CK 映射 | 技术 | ID | |------|----| | 暴力破解 | T1110 | | 有效账户 | T1078 | | 凭据访问 | T1003 | ## 检测场景 1. 攻击者执行暴力破解尝试 2. 使用有效凭据获得访问权限 3. 系统使用关联逻辑检测妥协 ## SOC 分析师总结 本项目演示了 **如何使用 Python 构建 SOC 级检测引擎**,能够: - 多事件关联 - 基于风险的告警 - 攻击检测与优先级排序 - 安全自动化 ## SOC 分析师价值 本项目展示了: - 从原始日志构建检测逻辑的能力 - 对攻击者行为(TTPs)的理解 - 告警优先级与分级的经验 - SOC 工作流的实际实现 这符合 **Tier 1 / Tier 2 SOC 分析师** 的职责。 ## 作者 **Tejinder Singh** SOC 分析师 | SIEM • 威胁检测 • 事件响应
标签:AMSI绕过, JSON告警, Python, SIEM模拟, SOC自动化, 企业安全, 免杀技术, 告警生成, 多事件关联, 威胁检测, 安全编排自动化, 密码喷洒检测, 异常登录, 无后门, 日志解析, 时间窗口分析, 暴力破解检测, 网络安全审计, 网络资产管理, 认证日志分析, 证书伪造, 账号安全, 账户入侵检测, 逆向工具, 风险评分