Graphics Programs Reference
In-Depth Information
-incremental[:MODE] incremental mode [using section MODE]
-external:MODE external mode or word filter
-stdout[:LENGTH] no cracking, just write words to stdout
-restore[:FILE] restore an interrupted session [from FILE]
-session:FILE set session file name to FILE
-status[:FILE] print status of a session [from FILE]
-makechars:FILE make a charset, FILE will be overwritten
-show show cracked passwords
-test perform a benchmark
-users:[-]LOGIN|UID[,..] load this (these) user(s) only
-groups:[-]GID[,..] load users of this (these) group(s) only
-shells:[-]SHELL[,..] load users with this (these) shell(s) only
-salts:[-]COUNT load salts with at least COUNT passwords only
-format:NAME force ciphertext format NAME (DES/BSDI/MD5/BF/AFS/LM)
-savemem:LEVEL enable memory saving, at LEVEL 1..3
reader@hacking:~/booksrc $ sudo tail -3 /etc/shadow
matrix:$1$zCcRXVsm$GdpHxqC9epMrdQcayUx0//:13763:0:99999:7:::
jose:$1$pRS4.I8m$Zy5of8AtD800SeMgm.2Yg.:13786:0:99999:7:::
reader:U6aMy0wojraho:13764:0:99999:7:::
reader@hacking:~/booksrc $ sudo john /etc/shadow
Loaded 2 passwords with 2 different salts (FreeBSD MD5 [32/32])
guesses: 0 time: 0:00:00:01 0% (2) c/s: 5522 trying: koko
guesses: 0 time: 0:00:00:03 6% (2) c/s: 5489 trying: exports
guesses: 0 time: 0:00:00:05 10% (2) c/s: 5561 trying: catcat
guesses: 0 time: 0:00:00:09 20% (2) c/s: 5514 trying: dilbert!
guesses: 0 time: 0:00:00:10 22% (2) c/s: 5513 trying: redrum3
testing7 (jose)
guesses: 1 time: 0:00:00:14 44% (2) c/s: 5539 trying: KnightKnight
guesses: 1 time: 0:00:00:17 59% (2) c/s: 5572 trying: Gofish!
Session aborted
In this output, the account jose is shown to have the password of testing7 .
0x763
Hash Lookup Table
Another interesting idea for password cracking is using a giant hash lookup
table. If all the hashes for all possible passwords were precomputed and stored
in a searchable data structure somewhere, any password could be cracked
in the time it takes to search. Assuming a binary search, this time would be
about O(log 2 N ), where N is the number of entries. Since N is 95 8 in the case
of eight-character passwords, this works out to about O(8 log 2 95), which is
quite fast.
However, a hash lookup table like this would require about 100,000 tera-
bytes of storage. In addition, the design of the password-hashing algorithm
takes this type of attack into consideration and mitigates it with the salt value.
Since multiple plaintext passwords will hash to different password hashes with
different salts, a separate lookup table would have to be created for each salt.
With the DES-based crypt() function, there are 4,096 possible salt values, which
means that even for a smaller keyspace, such as all possible four-character
passwords, a hash lookup table becomes impractical. With a fixed salt, the
storage space needed for a single lookup table for all possible four-character
passwords is about one gigabyte, but because of the salt values, there are 4,096
Search WWH ::




Custom Search