KEMBAR78
CNIT 124: Ch 9: Password Attacks | PDF
CNIT 124:
Advanced Ethical
Hacking
Ch 9: Password Attacks
Topics
• Password Management
• Online Password Attacks
• Offline Password Attacks
• Dumping Passwords from RAM
Password Management
Password Alternatives
• Biometrics
• Two-factor
authentication
• Digital
certificates
Common Password Errors
• Short passwords
• Using dictionary words
• Re-using passwords
– Attackers know that a stolen password can
often be re-used elsewhere
Password Reset
• A weak spot
for cloud
services,
especially
free ones
Online Password Attacks
Multiple Logins
• Scripts try to login with passwords from a
list
• Can be blocked by lockout policies
– After five failed logins, must wait an hour
• Brute-forcing is possible
– Trying every combination of characters
– Impractical except for very short passwords
Wordlists
• Usernames
– Look at valid account names, try to deduce
the pattern
– CCSF uses first letter of first name, then last
name, then 2 digits, like psmith01
– Find a list of real usernames, or use a list of
common names
Password Lists
• Packetstorm
• For special
purposes
• Openwall has
more general
ones, but
they cost
money
– Link Ch 9d
Targeting Wordlists
• Use information about the targeted
person
• Such as a Facebook page
• Generate passwords from clues
– TaylorSwift13!
Cewl
• Included in Kali
• Creates wordlist from URL, reading words from
pages
Crunch
• Generates a wordlist from characters you
specify (included in Kali)
Hydra
• Online password cracker
• Can use wordlists or pattens
Offline Password Attacks
Getting the Hashes
• Most operating systems and Web services
now hash passwords
– Although some use plaintext, and most use
weak hashing techniques
• Windows stores hashes in an encrypted C:
WindowsSAM file, but the key is
available in the SYSTEM file
Two Ways to Strengthen Hashes
• Salting
– Add random bytes before hashing
– Store them with the hash
– This prevents attackers from pre-computing
'Rainbow Tables" of hashes
• Stretching
– Many rounds, typically 5000, of hashing
– Slows down attackers
SAM and SYSTEM Files
Unavailable when Windows is Running
Win 7 Backup Files
• Also unavailable when system is running
• Win XP had C:WindowsRepair but it
seems to be gone now
Reg.exe
• Works on Windows 7
– Link Ch 8i
SAM is Encrypted
• 128-bit RC4
Key is in SYSTEM
• apt-get install bkhive FAILS on Kali 2
• Must install old versions of bkhive and
samdump2 (link Ch 8l)
Extracting Hashes
• LM Hash on the left (now obsolete)
• NT hash on the right (designed in 1991)
Linux Boot Disk
• You can gather hashes by booting the
target system from a LiveCD or USB
• Copy the files while Windows is not
running
Cracking Windows Passwords
• Hashcat tests 500,000 passwords in a few
seconds
– Because algorithm is 1 round of MD4
– Proj X16 in CNIT 123
Kali's Password Hashes
• 5000 rounds of SHA-512 with a salt
• Mac OS X is the same
Cracking Kali Hashes
• Can only try 500 words in a few seconds
John the Ripper & Hashcat
• Cracks many types of hashes
– Auto-detects the algorithm
– Can perform brute force, or dictionary, or
modified dictionary attacks
• Hashcat is newer and claims to be faster
• oclHashcat
– Designed to run in parallel on many GPUs
CloudCracker
• Moxie
Marlinspike's
service
• Runs on AWS
machines
Cheap!
Mimikatz Gets Clear Passwords from
RAM
Stolen Password Lists
• Lists of millions of real stolen passwords are
now available
• The rockyou list is included in Kali
– in /usr/share/wordlists
– Link Ch 9e
Passphrases are Vulnerable
• Hashed with MD5 (link Ch 9g)
• Link Ch 9h
Dumping Passwords from RAM
Plaintext Passwords
• Windows stores the password of the
currently logged-on user in RAM with
"reversible encryption"
• It can be recovered with Windows
Credential Editor or mimikatz
• No matter how long or complex it is
Analysis of Stolen Data Dumped by
TEAMGHOSTSHELL on Aug 25, 2012
Password Storage:

Awful Beyond Belief
Plaintext, obvious, all the same
Plaintext Passwords, Easily Guessed
Sparklan Passwords
Beforward Transactions with PII
Plaintext Passwords
Password Storage:

BASE64
Obfuscated, not hashed
Beforward.jp
BASE64 Encoding
Password Storage:

Unsalted MD5 or SHA-1
Real hashing, but very easy to
crack
MIT – MD5 Password Hashes
MySQL323 Password Hashes
Cracking Hashes with Cain
SHA-1 Hash
Cracked!
MySQL 5 Password Hashes
Wordpress Password Hashes
Relative Space
Cracked!
Password Hashing Algorithms
Hashing Passwords
• Three essential steps
– One-way hash function
• MD5, SHA-1, SHA-256, etc.
– Salt
• Random characters added to each password
• Prevents rainbow-table attack
– Stretching
• Repeat the hash function many times (typically
5000)
• Make it take 50 ms to calculate the hash
• Minimally slows login
• Makes attack MUCH slower
The Right Way
Popular Password Hashes
Type
Projected time to
crack 1,000 hashes*
Hash

Function
Salt

(# chars)
Stretching

(# rounds)
Drupal 7 1.7 years SHA-512 8 16385
Linux (Debian) 58 days SHA-512 8 5000
Wordpress 3.5.1 17 hours MD5 8 8193
Windows

(all current
versions)
5.4 min MD4 None 1
Joomla 4.6 min MD5 16 1
• Calculation assumes the passwords are found
in a dictionary of 500,000 guesses
• One virtual machine running Kali
• A clusters of GPUs would be much faster

CNIT 124: Ch 9: Password Attacks