mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-07-20 14:30:59 +03:00
- Add validated mitre_attack frontmatter to all 754 skills (286 distinct techniques), verified against MITRE ATT&CK v19.1 via the official mitreattack-python library: 0 revoked, deprecated, or invalid IDs - Curate precise per-skill technique IDs for forensics, malware-analysis, threat-intel, and red-team skills (e.g. DCSync -> T1003.006, Kerberoasting -> T1558.003, Pass-the-Ticket -> T1550.003) - Reconcile v19.1 tactic restructuring: Defense Evasion split into Stealth (TA0005) and Defense Impairment (TA0112); revoked T1562.* family and T1070.001/.002 remapped to active equivalents (T1685.*) - Normalize word-split tags across 35 skills (remove filename-derived stopword tags, add semantic cybersecurity tags) - Add api-reference.md for 3 skills that were missing it - Update README ATT&CK section with accurate v19.1 tactic distribution
84 lines
2.4 KiB
Markdown
84 lines
2.4 KiB
Markdown
---
|
|
name: hunting-credential-stuffing-attacks
|
|
description: 'Detects credential stuffing attacks by analyzing authentication logs
|
|
for login velocity anomalies, ASN diversity, password spray patterns, and geographic
|
|
distribution of failed logins. Uses statistical analysis on Splunk or raw log data.
|
|
Use when investigating account takeover campaigns or building detection rules for
|
|
auth abuse.
|
|
|
|
'
|
|
domain: cybersecurity
|
|
subdomain: security-operations
|
|
tags:
|
|
- credential-stuffing
|
|
- authentication-logs
|
|
- login-anomaly
|
|
- asn-analysis
|
|
- threat-hunting
|
|
- account-takeover
|
|
version: '1.0'
|
|
author: mahipal
|
|
license: Apache-2.0
|
|
nist_csf:
|
|
- DE.CM-01
|
|
- RS.MA-01
|
|
- GV.OV-01
|
|
- DE.AE-02
|
|
mitre_attack:
|
|
- T1078
|
|
- T1190
|
|
- T1059
|
|
- T1003
|
|
- T1110
|
|
---
|
|
|
|
# Hunting Credential Stuffing Attacks
|
|
|
|
|
|
## When to Use
|
|
|
|
- When investigating security incidents that require hunting credential stuffing attacks
|
|
- When building detection rules or threat hunting queries for this domain
|
|
- When SOC analysts need structured procedures for this analysis type
|
|
- When validating security monitoring coverage for related attack techniques
|
|
|
|
## Prerequisites
|
|
|
|
- Familiarity with security operations concepts and tools
|
|
- Access to a test or lab environment for safe execution
|
|
- Python 3.8+ with required dependencies installed
|
|
- Appropriate authorization for any testing activities
|
|
|
|
## Instructions
|
|
|
|
Analyze authentication logs to detect credential stuffing by identifying patterns
|
|
of distributed login failures, high IP diversity, and suspicious ASN distribution.
|
|
|
|
```python
|
|
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]
|
|
```
|
|
|
|
Key detection indicators:
|
|
1. High unique source IPs per failed username
|
|
2. Low success rate across many accounts (< 1%)
|
|
3. ASN concentration from cloud/proxy providers
|
|
4. Geographic impossibility (same account, distant locations)
|
|
5. User-agent uniformity across distributed IPs
|
|
|
|
## Examples
|
|
|
|
```python
|
|
# 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]
|
|
```
|