关于 hunting-credential-stuffing-attacks
面向 SOC 分析师和威胁猎手的安全分析技能,用于调查撞库攻击。它通过认证日志中的分布式失败、IP 多样性和 ASN 分布等模式辅助检测与监控验证。
主要功能
- 01认证日志模式分析
- 02检测分布式登录失败
- 03IP 与 ASN 多样性指标
- 04密码喷洒查询示例
- 05验证监控覆盖情况
适用场景
- 01调查疑似撞库攻击
- 02编写检测规则和狩猎查询
- 03检查认证监控覆盖情况
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ mukul975/ anthropic-cybersecurity-skills --skill hunting-credential-stuffing-attacks安装后在 Claude Code 中输入/hunting-credential-stuffing-attacks确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
LICENSEreferences/api-reference.mdscripts/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]
关键检测指标:
- 每个失败用户名对应大量唯一源 IP
- 众多账号的整体成功率极低(< 1%)
- ASN 集中于云/代理服务提供商
- 地理上不可能(同一账号出现在相距遥远的地点)
- 分布式 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