1/91
Password Cracking
Recovering plaintext passwords by testing guesses against password hashes.
An attacker dumps hashes, cracks passwords, and reuses recovered credentials.
Hashcat.
Graphics processing units (GPUs).
Its password mutation rules engine.
Credential Access (TA0006).
T1110.
T1003.
-a
Straight wordlist attack.
Each word in a dictionary as a candidate password.
Straight (-a 0).
Combinator attack.
Joins each word from the first wordlist with words from the second.
Yes.
Brute-force mask attack.
A pattern describing candidate password characters and positions.
Hybrid wordlist plus mask; append mask characters.
Hybrid mask plus wordlist; prepend mask characters.
Mode 6 appends the mask; mode 7 prepends it.
Testing password hints against salted hashes.
0, 1, 3, 6, and 7.
-m followed by its numeric mode.
-m 1000.
hashcat -h
hashcat -h | grep -i oracle
hashcat --identify hashes.txt
It attempts to autodetect the hash type.
Hash length and formatting markers.
SHA-256-crypt.
No. It handles one hash mode at a time.
Hashcat may ask you to select a hash mode.
meterpreter > hashdump
/home/sec504/labs/wincreds
hashes.txt
words.txt
hashcat -m 1000 -a 0 hashes.txt words.txt
NTLM password hashes.
Candidate passwords, one per line.
The target hash was successfully matched to a password.
Disk input/output while reading the wordlist.
hashcat -m 1000 -a 1 hashes.txt words.txt words2.txt
Appends each word from words2.txt to each word from words.txt.
The total candidate combinations to test.
600 candidates.
A newline.
It generates combinations efficiently and can use GPU parallelism.
?l
?u
?d
?s
?a
One uppercase, five lowercase, then two digits.
It narrows candidate patterns to likely password formats.
No. Each mask specifies a particular length.
hashcat -m 1000 -a 3 hashes.txt "?u?l?l?l?l?l?d?d"
Tcpsyn02.
One uppercase, six lowercase, then one special character.
They generate candidates without repeatedly reading a wordlist.
No. A smaller wordlist keyspace may finish sooner.
All candidates in the selected search space were tested.
hashcat -m 1000 -a 6 hashes.txt words.txt "?s?d"
At the end of each wordlist entry.
A special character followed by a digit.
Hybrid wordlist plus mask (-a 6).
The mask applied to the base wordlist.
hashcat -m 1000 -a 7 hashes.txt "?d?d?d?d" words.txt
At the beginning of each wordlist entry.
Four digits.
0000Silvermine.
Users more often append than prepend complexity characters.
A file recording cracked hashes and their plaintext passwords.
hashcat.potfile
~/.hashcat or ~/.local/share/hashcat
--show
--left
--username
hashcat -m 1000 windows.hashes --left --username
To avoid recalculating previously cracked hashes.
It contains sensitive plaintext passwords.
Input hash format does not match the expected hash mode.
Try again with --username.
--identify
Run Hashcat with --show.
Dropping fields can break format recognition and cracking.
Hash mode, full hash data, wordlist path, mask, and username handling.
Make hashes hard to crack, hard to obtain, or useless after compromise.
Multi-factor authentication (MFA).
The attacker still needs another authentication factor.
On-premises systems and cloud applications.
Slingshot Linux VM.
The lab workbook.