mcpField
H
hunting-credential-stuffing-attacks

hunting-credential-stuffing-attacks

github.com/mukul975安全35.2k94 次安装8 周前更新
代码仓库

关于 hunting-credential-stuffing-attacks

面向 SOC 分析师和威胁猎手的安全分析技能,用于调查撞库攻击。它通过认证日志中的分布式失败、IP 多样性和 ASN 分布等模式辅助检测与监控验证。

主要功能

  1. 01认证日志模式分析
  2. 02检测分布式登录失败
  3. 03IP 与 ASN 多样性指标
  4. 04密码喷洒查询示例
  5. 05验证监控覆盖情况

适用场景

  1. 01调查疑似撞库攻击
  2. 02编写检测规则和狩猎查询
  3. 03检查认证监控覆盖情况

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mukul975/anthropic-cybersecurity-skills --skill hunting-credential-stuffing-attacks

安装后在 Claude Code 中输入/hunting-credential-stuffing-attacks确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

LICENSE
references/
api-reference.md
scripts/
agent.py

详细介绍

猎捕撞库攻击

何时使用

  • 调查需要猎捕撞库攻击的安全事件时
  • 为该领域构建检测规则或威胁狩猎查询时
  • SOC 分析师需要针对此类分析的结构化流程时
  • 验证相关攻击技术的安全监控覆盖范围时

前置条件

  • 熟悉安全运营概念和工具
  • 可访问测试或实验环境以安全执行
  • Python 3.8+ 并安装所需依赖
  • 任何测试活动均须获得适当授权

操作说明

分析认证日志,通过识别分布式登录失败、高 IP 多样性和可疑 ASN 分布等模式来检测撞库。

import pandas as pd
from collections import Counter

# Load auth logs
df = pd.read_csv("auth_logs.csv", parse_dates=["timestamp"])

# Credential stuffing indicator: many IPs trying few accounts
ip_per_account = df[df["status"] == "failed"].groupby("username")["source_ip"].nunique()
accounts_under_attack = ip_per_account[ip_per_account > 50]

关键检测指标:

  1. 每个失败用户名对应大量唯一源 IP
  2. 众多账号的整体成功率极低(< 1%)
  3. ASN 集中于云/代理服务提供商
  4. 地理上不可能(同一账号出现在相距遥远的地点)
  5. 分布式 IP 之间 User-agent 高度一致

示例

# Password spray: one password tried across many accounts
spray = df[df["status"] == "failed"].groupby(["source_ip", "password_hash"]).agg(
    accounts=("username", "nunique")).reset_index()
sprays = spray[spray["accounts"] > 10]

评论

支持 Markdown