Tatli CrackingmorePasswordHasheswithPatterns FINAL-IEEE
Tatli CrackingmorePasswordHasheswithPatterns FINAL-IEEE
Tatli CrackingmorePasswordHasheswithPatterns FINAL-IEEE
net/publication/276113338
CITATIONS READS
58 7,408
1 author:
SEE PROFILE
All content following this page was uploaded by Emin İslam Tatlı on 22 April 2016.
Abstract—It is a common mistake of application developers to in the database. This implementation is very insecure too.
store user passwords within databases as plaintext or only as their Even though hash functions are one-way functions, attackers
unsalted hash values. Many real-life successful hacking attempts can perform brute-force, dictionary or rainbow-table attacks in
that enabled attackers to get unauthorized access to sensitive
database entries including user passwords have been experienced order to reveal input values (i.e. plaintext password) from the
in the past. Seizing password hashes, attackers perform brute- given output values (i.e. hash value).
force, dictionary or rainbow-table attacks to reveal plaintext By brute-force attacks [13], the hash value of each possible
passwords from their hashes. Dictionary attacks are very fast input value is calculated and compared with the given hash
for cracking hashes but their success rate is not sufficient. In value to crack. By dictionary attacks [14], large dictionary
this paper, we propose a novel method for improving dictionary
attacks. Our method exploits several password patterns that are files containing thousands or millions of possible passwords
commonly preferred by users when trying to choose a complex are utilized. Given a hash value to crack, an attacker calculates
and strong password. In order to analyze and show success rates the hash value of each plaintext word from the dictionary line
of our developed method, we performed cracking tests on real-life by line and compares the calculated hash values with the given
leaked password hashes by using both a traditional dictionary hash value. If they are matched, the plaintext password is thus
and our pattern-based dictionary. We observed that our pattern-
based method is superior for cracking password hashes. revealed. On the other hand, a very large set of pre-computed
hash tables containing hash values and their corresponding
Index Terms—password security, authentication, data security, plaintext values are used by rainbow-table attacks [15]. Given
dictionary attacks, hash cracking
a hash value to crack, an attacker checks if the given hash
value exists within the pre-computed lookup table. If it exists
I. M OTIVATION within the table, the plaintext password is found out.
UTHENTICATION is one of the most important require- If we compare brute-force, dictionary and rainbow-table
A ments for information security. There exist various meth-
ods for authentication based on what we know (e.g. passwords,
attacks, they all have pros and cons. Brute-force attacks find
out the plaintext definitely in the end but they are very time
PINs), what we have (e.g. security hardware tokens) and who consuming. Dictionary attacks are fast but the success rate is
we are (e.g. biometric fingerprints) [1]. Among the existing not sufficient. Rainbow-table attacks are fast and successful
methods, password-based systems are easier to implement and at cracking but they require having a very big disk storage
therefore the most frequently used method for authentication. capacity. They are especially non-practical if a salt value is
Being very critical for security, passwords are often targeted used for password hashes.
during cyber-attacks as well. An attacker that hacks a system In this paper, we propose a new method for increasing
and reveals user passwords stored within the database gets success rates of dictionary attacks. For our method we an-
unauthorized access to accounts of all users. In the past many alyzed leaked real-life user passwords and identified several
enterprise companies and organizations were victims of such patterns which are commonly chosen by many users to create
attacks [2], [3], [4], [5], [6], [7], [8]. a complex and strong password from a dictionary word. For
Attackers use frequently SQL injection vulnerabilities [9] example, a dot ("."), an exclamation mark ("!") or "123" are
that exist within applications in order to access database often appended at the end of a dictionary word. Similarly,
tables. They send arbitrary SQL queries to retrieve passwords a dictionary word is repeated two times (e.g. kingking) or
and other sensitive data from tables and manipulate stored three times (e.g. kingkingking). We developed a software tool,
data, even by using automated tools such as sqlmap [10] or namely pbp-generator (pattern based password generator), that
Havij [11]. Considering this fact, developers must never store implements our identified patterns and creates a new pattern-
passwords in plaintext within databases. Developers mostly based large dictionary file from a given dictionary file. We
know the fact that they should store hash values of passwords generated a pattern-based dictionary file with ca. 2.3 billion
instead of plaintext. However, it is also a critical security passwords to crack password hashes belonging to fifteen
weakness if the hash value of a password is calculated and different datasets which consist of real-life leaked password
stored without appending per-user unique salt value to the hashes.
password before hashing [12]. In a classical scenario, a user Digital forensic investigators are involved with the analysis
chooses a password by a registration process. The hash value of crime cases. They often come across password protection
(md5, sha1, sha256 etc.) of the password is calculated on during investigation. They need to crack passwords either
the backend-server and this calculated hash value is stored in order to access a particular user account or to unlock
encrypted or otherwise obfuscated digital evidence [16]. Our
Published in IEEE Transactions on Information Forensics and Security pattern-based method would help forensic investigators for
(Volume:10, Issue: 8)
Date of Submission: 15 November 2014 more efficient password cracking.
DOI: 10.1109/TIFS.2015.2422259 It is important to note that security of hash functions is
E.˙I.Tatlı is with the Department of Electrical and Electronics Engi-neering,
˙Istanbul Medipol University, 34810 ˙Istanbul/Turkey, e-mail: ei-
[email protected] .
CRACKING MORE PASSWORD HASHES WITH PATTERNS 2
not within the scope of this paper. If a user chooses a weak TABLE I
password with a certain pattern, even a very secure hash T HE T OP T EN L IST OF R EGULAR E XPRESSIONS FOR PASSWORDS WITH
THE L ENGTH BETWEEN 2 AND 5
function cannot prevent attackers from cracking password
hashes. Patterns have no negative effect on computed hash No. Length=2 / Length=3 / Length=4 / Length=5 /
values. In conclusion, the focus of this paper is the analysis of Hit Count Hit Count Hit Count Hit Count
1 [a-z]{2} / 205 [a-z]{3} / [a-z]{4} / [a-z]{5} /
user-chosen plaintext passwords rather than the formal security 1664 8403 125731
model of hash functions. 2 [0-9]{2} / 49 [0-9]{3} / [0-9]{4} / [0-9]{5} /
This paper is organized as follows: Section II explains 272 6359 44987
3 [A-Z]{2} / 45 [A-Z]{3} / [A-Z]{4} / [a-z]{3}[0-
the details of how passwords and password patterns were 239 889 9]{2} / 18122
analyzed. The identified password patterns are explained in 4 [a-z]{1}[0- [a-z]{2}[0- [a-z]{3}[0- [A-Z]{5} /
detail in Section III. Development of the software tool to 9]{1} / 13 9]{1} / 82 9]{1} / 603 16006
5 [A-Z]{1}[a- [A-Z]{1}[a- [A-Z]{1}[a- [a-z]{4}[0-
generate pattern-based dictionary and perform hash-cracking z]{1} / 7 z]{2} / 63 z]{3} / 440 9]{1} / 15791
tests with the generated pattern-based dictionary are explained 6 [A-Za-z0- [a-z]{1}[0- [a-z]{2}[0- [A-Z]{1}[a-
in Section IV. Section V discusses the related work. Possible 9]{2} / 5 9]{2} / 23 9]{2} / 437 z]{4} / 5621
mitigation methods are given in Section VI. Section VII 7 [A-Z]{1}[0- [a-z]{1}[0- [a-z]{1}[0- [a-z]{2}[0-
9]{1} / 5 9]{1}[a- 9]{3} / 81 9]{3} / 3092
concludes the paper. z]{1} / 20
8 [a-z]{1}[A- [a-z]{1}[A- [0-9]{1}[a- [a-z]{1}[0-
Za-z0-9]{1} / Za-z0-9]{1} z]{3} / 64 9]{4} / 2952
II. T HE A NALYSIS 3 [a-z]{1} / 19
Rockyou.com web portal was the target of a very critical 9 [A-Za-z0- [A-Z]{2}[0- [a-z]{2}[0- [0-9]{4}[a-
9]{1}[0- 9]{1} / 12 9]{1}[a- z]{1} / 2272
cyber-attack in December 2009 [3]. The hacker had found 9]{1} / 2 z]{1} / 53
SQL injection vulnerability in the rockyou website and got 10 [0-9]{1}[a- [0-9]{1}[a- [a-z]{3}[A- [A-Z]{4}[0-
access to its 32.6 million user passwords. Worse still, the z]{1} / 1 z]{2} / 9 Za-z0-9]{1} / 9]{1} / 1951
51
passwords were stored as plaintext in the database. The leaked
passwords without usernames were published in the Internet.
In the past, security researchers did not have such a large real-
by using such patterns. However, these common patterns
life resource for password analysis. Therefore, the published
jeopardize security of the passwords. If many passwords share
32.6 million real-life passwords have become a very valuable
the same patterns, they can be identified and then misused to
data for security experts and researchers.
guess passwords successfully with the help of automated tools.
TABLE II TABLE IV
T HE T OP T EN L IST OF R EGULAR E XPRESSIONS FOR PASSWORDS WITH D UAL C OMBINATION OF C HARACTER G ROUPS WITH E XAMPLES
THE L ENGTH BETWEEN 6 AND 9
Combination Total Example Passwords
No. Length=6 / Length=7 / Length=8 / Length=9 / Count
Hit Count Hit Count Hit Count Hit Count [:alpha:]+ 9,834,095 mekster11, khas8950, emilio1, holiday2,
1 [a-z]{6} / [a-z]{7} / [a-z]{8} / [a-z]{9} / [:digit:] (30%) caitlin1, cats13, toohott69, cheer99
601152 585013 687991 516830 [:digit:]+ 895,916 33orange, 1234567a, 118jefferson, 98101ef,
2 [0-9]{6} / [0-9]{7} / [0-9]{8} / [0-9]{9} / [:alpha:] (2.75%) 1simpleplan, 1loveyou, 5pointstar, 12345a
390529 487429 428296 307532 [:alpha:]+ 240,993 olives!, skittles?, cheaphat!, skating.,
3 [a-z]{4}[0- [a-z]{5}[0- [a-z]{6}[0- [a-z]{7}[0- [:symbol:] (0.74%) junkbox!, easymac*, itsmiller!, balboa!
9]{2} / 9]{2} / 9{2} / 9]{2} / [:symbol:]+ 16,090 *forever, !cheeky, $tevenrules, *phsyco,
215074 292306 420318 273624 [:alpha:] (0.05%) -angel, !qwert, !loveu , $prite, .com, *Twist
4 [a-z]{5}[0- [a-z]{6}[0- [a-z]{4}[0- [a-z]{5}[0- [:digit:]+ 12,646 78963., 13659*, 83593113$$, 123456],
9]{1} / 9]{1} / 9{4} / 9]{4} / [:symbol:] (0.04%) 369*, 1977.., 022590!!, 8825##, 3636369.
114732 193097 235360 173559 [:symbol:]+ 3,395 ,123456, /8520, *41681, .31331, $$$4369,
5 [a-z]{2}[0- [a-z]{3}[0- [a-z]{7}[0- [a-z]{8}[0- [:digit:] (0.01%) +2511161897, .09164232572, -11185
9]{4} / 98305 9]{4} / 9{1} / 9]{1} /
178304 189847 160054
6 [a-z]{3}[0- [a-z]{4}[0- [a-z]{5}[0- [a-z]{6}[0- TABLE V
9]{3} / 98183 9]{3} / 9{3} / 9]{3} / T RIPLE C OMBINATION OF C HARACTER G ROUPS WITH E XAMPLES
111218 152400 132216
7 [A-Z]{6} / [a-z]{1}[0- [a-z{2}[0- [a-z]{3}[0- Combination Total Example Passwords
51839 9]{6} /54883 9]{6} / 48541 9]{6} / 44792 Count
8 [0-9]{4}[a- [0-9]{6}[a- [A-Z]{8} / [A-Z]{9} / [:alpha:]+ 82,151 teenager1@, abc123., karl143.,
z]{2} / 31086 z]{1} / 41557 39457 27019 [:digit:]+ (0.25%) windowsxp1!, kelvin258/, jessie18;,
9 [A-Z]{4}[0- [A-Z]{7} / [a-z{3}[0- [a-z]{4}[0- [:symbol:] pretti7*, jordans07., JUNE24„ briana20.
9]{2} / 22224 40592 9]{5} / 37622 9]{5} / 22362 [:alpha:]+ 185,610 kaitlyn.1, poopp<3, t=48697123, franco_1,
10 [A-Z]{1}[a- [a-z]{2}[0- [A-Z]{6}[0- [A-Z]{7}[0- [:symbol:]+ (0.57%) dude!2, chris#6, tommy.2359, iloveyou*1,
z]{5} / 19732 9]{5} / 32540 9{2} / 31373 9]{2} / 18482 [:digit:] Summer#5, watru^2
[:digit:]+ 13,298 1hawaiian!, 1wish!, 072305AJ$, 1TIKA!!,
[:alpha:]+ (0.04%) 4evergreen!!, 123abc., 1love!, 707sucks!,
TABLE III [:symbol:] 123loveme!, 1fighter/, 50cent., 1andonly.
T HE T OP T EN L IST OF R EGULAR E XPRESSIONS FOR PASSWORDS WITH [:digit:]+ 18,218 11!!JesusS, 6.five, 555-oup, 7-boss,
THE L ENGTH BETWEEN 10 AND 13 [:symbol:]+ (0.06%) 1!iloveyou, 1*princess, 305-boy, 123!qaz,
[:alpha:] 100%jumper, 1986@Jessica, 15-red
No. Length=10 / Length=11 / Length=12 / Length=13 / [:symbol:]+ 9,940 .disney2, @$$baba82, *k123456, $hortii88,
Hit Count Hit Count Hit Count Hit Count [:alpha:]+ (0.03%) *supergirl12, *ILOVEYA7, *june7,
1 [0-9]{10} / [a-z]{11} / [a-z]{12} / [a-z]{13} / [:digit:] $iloveu40, !batman76, @love2
478196 267733 189355 119294 [:symbol:]+ 12,592 #1CHRIZ, #1kingsfan, <3ilovemanuel,
2 [a-z]{10} / [0-9]{11} / [a-z]{8}[0- [0-9]{13} / [:digit:]+ (0.04%) !11Mom, *789ab, #1hawaiian, #1carlos,
416939 107862 9]{4} / 45499 28908 [:alpha:] #1lover, #1lady
3 [a-z]{8}[0- [a-z]{9}[0- [0-9]{12} / [a-z]{9}[0-
9]{2} / 9]{2} / 82654 38464 9]{4} / 24714
213109
4 [a-z]{6}[0- [a-z]{7}[0- [a-z]{10}[0- [a-z]{11}[0- combinations and their reverse order combinations were ana-
9]{4} / 9]{4} / 70914 9]{2} / 35980 9]{2} / 19259 lyzed. This analysis showed us that circa 10 million rockyou
160592
5 [a-z]{9}[0- [a-z]{8}[0- [a-z]{9}[0- [a-z]{10}[0-
passwords (30%) are in the form of [:alpha:] + [:digit:]
9]{1} / 9]{3} / 43215 9]{3} / 25912 9]{3} / 13645 combination, which means users mostly prefer appending a
129823 number to a dictionary word to create their passwords. Based
6 [a-z]{7}[0- [a-z]{10}[0- [a-z]{6}[0- [a-z]{7}[0-
9]{3} / 87611 9]{1} / 19273 9]{6} / 16718 9]{6} / 9656
on these results, we decided to examine [:alpha:]+[:digit:]
7 [a-z]{4}[0- [a-z]{5}[0- [a-z]{11}[0- [a-z]{3}[0- combinations further to find more specific patterns. In the
9]{6} / 33277 9]{6} / 19239 9]{1} / 10768 9]{3}[a- Table IV, the total counts of all dual combinations and their
z]{4}[0-
9]{3} / 6826
examples from the rockyou list are shown.
8 [a-z]{5}[0- [A-Z]{11} / [A-Z]{12} / [a-z]{4}[0- By the triple combination analysis, the total numbers of [:al-
9]{5} / 20002 11884 8108 9]{3}[a- pha:]+[:digit:]+[:symbol:], [:alpha:]+[:symbol:]+ [:digit:] and
z]{3}[0-
9]{3} / 6668
[:digit:]+[:symbol:]+[:alpha:] combinations and their reverse
9 [A-Z]{10} / [a-z]{6}[0- [a-z]{7}[0- [a-z]{12}[0- order combinations were analyzed. Compared with the dual
19723 9]{5} / 11653 9]{5} / 6615 9]{1} / 6103 combinations, the triple combinations are not very much
10 [a-z]{9}[A- [a-z]{3}[0- [a-z]{4}[0- [A-Z]{13} / preferred by the rockyou users. The most frequently used triple
Za-z0-9]{1} / 9]{8} / 6583 9]{8} / 6507 5206
15320 combinations are [:alpha:]+[:symbol:]+[:digit:] with 0.57%
and [:alpha:]+[:digit:]+[:symbol:] with 0.25%. Analyzing these
combinations further we identified that digits and special
alpha character between a to z and between A to Z. [:digit:] symbols are together (e.g. "#1", "123.", "*1" etc.) appended
represents numbers between 0 and 9. [:symbol:] represents the to dictionary words to create passwords. The total counts of
following punctuation characters: . , " ’ ? ! ; : # $ % & ( ) * all triple combinations and their examples from the rockyou
+-/<>=@[]^_{}| . list are shown in Table V.
By the dual combination analysis, the total numbers of [:al- In addition to dual and triple combination analysis, we
pha:]+[:digit:], [:alpha:]+[:symbol:] and [:digit:]+[:symbol:] checked the frequencies of the punctuation characters. This
CRACKING MORE PASSWORD HASHES WITH PATTERNS 4
TABLE X TABLE XI
R EPEATING PATTERN E XAMPLES S EQUENCING PATTERN E XAMPLES
Pattern Example Password Example (Total Count) Pattern Example Password Example (Total Count)
Repeating number 1 (29), 22 (6), 333 (19), 4444 (58), 55555 Keyboard Sequences qwerty (13,456), qwertyuiop (2,871), qwert
"N" for N times (4,258), 666666 (7,419), 7777777 (4,589), (1,375), azsxdcfv (63), asdfgh (2,908),
88888888 (2,493), 999999999 (1,952) asdfghjkl (2,537), asdfg (1,190), zxcvbnm
Repeating number 123123 (9,516), 303030 (678), 292929 (678), (3,521), zxcvbn (1,552)
groups 420420 (669), 007007 (652), 789789 (634), Keyboard Sequences 1q2w3e4r (1,205), 1Q2W3E4R (35,1234),
123456123456 (188) mixed with Digit qwer (545), asdf1234 (474)
Repeating [0-9] 111111 (13,272), 11111 (5,003), 11111111 Sequences
numbers (1,512), 222222 (4,486), 22222 (1,116), 333333 Alphabet Letter abcdef (2,733), abcdefg (1,856), abcde (955),
(2,704) Sequences abcdefgh (666), zyxwvu (8)
Repeating birth 19871987 (433) , 19891989 (429), 19921992 Alphabet Letter abcd1234 (1,322), a1b2c3 (688), 1234abcd
years (416), 19861986 (399), 19931993 (380) Sequences mixed (463), a1b2c3d4 (361), a1b2c3d4e5 (140)
Repeating words lovelove (2,742) , catcat (564), kisskiss (826), with Digit Sequences
oneone (64), twotwo (32), passwordpassword Digit Sequences 123456 (290,729), 12345 (79,076), 123456789
(43), usausa (58), blablabla (481) (76,789), 1234567 (21,725)
Repeating letter abcabc (118), abcabcabc (20), ABCABC (6),
groups defdef (8), defdefdef (2)
Repeating [a-z] aaaaaa (2,685), aaaaa (1,252), bbbbbb (445), TABLE XII
bbbbb (192), bbbbbbbb (77), bbbbbbb (66) R EPLACING PATTERN E XAMPLES
Repeating symbols ...... (343), ..... (74), ....... (41), −−−−−− (35)
Replaced Replaced Password Examples
Letter with
a 4 d4niel, c4r0lin4, dr4gon, pl4yboy
passwords consist of only alpha characters, 16% contain only a @ p@ssword, t@ylor, f@mily, b@bygirl, c@rlos,
numbers and 0.015% contain only punctuation characters. wh@tever, p@trick, eleph@nt, di@mond
Since it is a known fact that users prefer choosing passwords b 6 straw6erry, sexy6lue, septem6er, remem6er
e 3 monk3y, socc3r, spong3bob, princ3ss, ilov3you
without numbers and special symbols, 44% was an expected g 6 soccer6irl, hun6ry, ran6ers
result for only-letter passwords. On the other hand, 16% g 9 an9els, en9ine, dan9er, babi9irl, magic9irl
seemed very unusual for passwords containing only digits. i 1 1loveyou, , mel1ssa, stup1d, denn1s, w1lliams,
pr1ncess, jess1ca, v1ctor, sn1ckers, sw1mm1ng
Analyzing the passwords in this group further, we found out i ! pr!ncess, m!chelle, just!n, sunsh!ne, pr!nce,
that some users tend to choose certain number combinations jess!ca, babyg!rl, w!lliam, tw!ster
(e.g. 29, 1980, etc.) and repeat them to create a password. For i | M|ChElLe, m|r@c|eS, sl|ther
example, a birth year is chosen and repeated (e.g. 19791979). l 1 P1ayer, ash1ey, a11star, isabe11a, ye11ow,
wi11iam
We also realized that not only numbers, but words and punc- l | love|y, my|ove, actual|y, m|r@c|eS, josh|and
tuation characters are repeated as well to create passwords. o 0 il0veyou, ge0rge, m0vie, br0ken, passw0rd,
As an example, a dictionary word is repeated two or three c0llege, br0ther, n0thing, t0psecret, m0nkey
s 5 pas5word, du5tin,ju5tin, east5ide,augu5t,
times (e.g. kingkingking). Table X shows some examples of it5easy, eclip5e, chee5e
repeating pattern. s $ $prite, be$tfriend, ju$tin, two$hort, $pecial,
$ummer, $upersonic, $tevenrules
E. Sequencing Pattern
In the analysis we identified the sequencing pattern by Table XII lists the identified replacement possibilities and their
which sequences of keyboard layouts, alphabet letters, digits or example passwords from the rockyou list.
their combinations are used to create passwords (e.g. qwerty,
123abcd, abcdqwer, etc.).
The most frequent keyboard sequence is "qwerty" with G. Capitalizing Pattern
13,456 passwords. The most frequent letter sequence is By this pattern some lowercase letters of a dictionary word
"abcdef" with 2,733 passwords. The most frequent digit se- are exchanged with their uppercase equivalents. As examples,
quence is "123456" with 290,729 passwords. This is the the word "password" can be converted into "Password", "pass-
number one password in the Top 10 list. Word" or "passworD". Providing this, such passwords become
Table XI shows examples of the sequencing pattern for compliant with password policies which require passwords to
keyboard layouts, alphabet letters, digit sequences and their contain at least one uppercase letter. More passwords examples
combinations. of this pattern from the rockyou list are given in Table XIII.
F. Replacing Pattern
H. Reversing Pattern
In the analysis of inserting pattern we realized that certain
letters are replaced with a number or a symbol. As an example, By this pattern dictionary word letters are put in a reverse
the letter "o" is replaced with the number zero (e.g. password order. As an example, the word "password" is converted
→ passw0rd). Similarly, the letter "s" is replaced with "$" or into "drowssap". Some examples of this pattern from the
"five (5)" (e.g. sport → $port, august → augu5t). We examined rockyou list are as follows: drowssap, uoykcor, fedcba, elgoog,
this pattern further in order to identify more replacements. uoyevoli, ssecnirp, yraunaj, ylevol
CRACKING MORE PASSWORD HASHES WITH PATTERNS 6
TABLE XVII
T YPE 2 I MPLEMENTED PATTERNS (PATTERNS THAT ARE DIRECTLY
ADDED TO THE OUTPUT DICTIONARY FILE .)
TABLE XVIII
C RACKING T ESTS OF PASSWORD H ASHES
No. Resource1 Total Number Number Diff2 Success Examples from Diff
Num- of of Rate3
ber of Cracked Cracked
Hashes Hashes Hashes
with with
rock- patterns
you
1 Gamigo.com 7,004,341 577,012 942,863 365,851 63% softball111, montero., abcdefghij2, app1esauce, qwert6qwert6
2 Eharmony.com 1,516,834 18,491 46,414 27,923 151% CANCER101, 0HATERS, QWERT44444, PPPP18, STUPID!!
3 Stratfor.com 860,149 40,411 52,857 12,446 30% Charlie1., myself1!, coco9999, Wakeup, digger77777, s1natra,
thx1138thx1138, BARCELONA101, 0xf0rd
4 Battlefield 548,686 119,693 162,488 42,795 36% password4$, classic444, su6way, 5kywalker, qwerty12@, quiksi1ver,
letmein1111, q1w2e3r4t5=, 123456), karolkarol
5 FFGBeach 481,377 68,339 83,277 14,938 22% yyyyyyyyyyyyyyyyyy, 4343434, arie11e, september98,
americaneagle123, boobooboobooboo, 123456abc123, abcdefgh.
6 Project Mayhem 130,884 7,605 8,834 1,229 16% bobbob4444, changeme1!, Gogogo, mulanmulan, 1bobbob1,
111100000, Eight888, Deamon, Xavier22, 6663, p0werslave
7 Rootkit.com 71,228 20,759 24,874 4,115 20% a1b2c3d4., +987456321, boxingboxing, .security, login1111, l0gin,
Windowsxp, Admin, pass1word9, jejeje123, someone_, SECRET0
8 Gaming 50,853 10,308 11,726 1,418 14% 2pasword, dictionary5, qqqqqq1111, #zxcvbnm, kansaskansas
9 Project Whitefox 47,238 17,850 21,313 3,463 19% Charlie4444, banner#1, pe99y, secret1!, rocky-, kevin#, m0ney
10 Casio.cn 24,035 5,490 7,725 2,235 40% zzzzz111, benben9999, berryberry111, asdffasdff, P4ssword123
11 Project Hellfire 19,988 733 1,006 273 37% 1Australia, Pass, jjjkkk111, Passwor9, h4ckpr00f, %27
12 DHool 15,302 1,192 1,388 196 16% pass888, qwe12344, ashinashin, Passc0de, Dhool, Live123
13 DamnSmallLinux 14,144 38 129 91 239% mikemikemikemike, r12345r12345, 123456abcdef123, qwerty252
14 Project Blackstar 3,555 854 1,118 264 31% seas0n, dfghjkl1, Super12345, Paradox6666, dunsk1, 7777qwerty
15 ABC 49,567 17,504 21,593 4,089 23% ninja444, 2disneyland, candyland., graduate123, Sophie1!, qwerty1.
does not mention any patterns. Houshmand and Aggarwal [30] unauthorized access to their accounts.
propose a new system which analyzes whether a user proposed One possible solution can be that users exploit secure
password is weak or strong by estimating the probability of the password managers (SPM) to store their passwords. SPMs
password being cracked. They modify then the weak password generate unique, random and complex passwords without any
to create a strengthened password as well. Some examples pattern, store them within a database and store the database
of weak and strengthened password are trans2 → %trans2, in an encrypted form (e.g. AES-256) on file systems. In order
colton00 → 8colton00. This system is also insecure against to decrypt the database and retrieve the passwords, a master
pattern-based dictionary attacks. An attacker can delve into the secure password must be provided by users. In addition, some
details of this system, identify specific patterns used by this SPMs ask users to provide a physical file which is generated
system and use these identified patterns to generate possible randomly during the setup phase of the password database
strengthened passwords. Stanekova and Stanek [31] evaluate creation. Providing this, users generate secure passwords for
several methods of choosing PIN against dictionary-based each service they use with the help of their SPM and do
guessing attacks and discuss two methods for constructing not need to memorize them. They just need to memorize
easy to remember PIN words for randomly chosen PINs. the master password and protect the physical file against
Narayanan and Shmatikov [32] show how to reduce the size unauthorized access. It is in this case important that the master
of password search space for dictionary attacks by using password is complex, randomly generated and contains no
Markov modeling techniques. Mazurek et al. [33] performed pattern. But it is not a problem for users to memorize a single
an empirical study over the plaintext passwords of 25 thousand complex password and remember it later. Furthermore, some
faculty, staff, and students at a research university. They found SPMs offer smart-card authentication.
that some elements of the university population create more Another solution can be two-factor authentication. Today
secure passwords than others. For example, computer science authentication systems should not depend only on knowledge
students make passwords more than 1.8 times as strong as the of username-password pairs, especially for critical applications
business school students. Comparing their contributions with like email, online banking or e-commerce. A new authen-
ours, their focus is mainly the relation analysis of different tication factor based on what we possess (e.g. hardware
categories like gender, college types, user types, etc. rather token, smart-card) or who we are (e.g. fingerprint) should
than password patterns. Jakobsson and Dhiman [34] built be additionally checked during authentication process. As
a model of passwords by using the Rockyou dataset. They examples, online banking applications benefit today tamper-
parsed and scored passwords from five other datasets of resistant hardware tokens and similarly some online services
disclosed passwords (i.e. Rootkit, Sony, Paypal, Justin Bieber like Google Mail, Twitter, Wordpress etc. support software
fan web page and Porn web page datasets). They analyzed tokens that are sent over SMS or generated by a native mobile
then the usage of various rules in the datasets. Their analysis app (e.g. Google Authenticator).
showed the average number of components per password Considering the pattern risks, it is vital to revise current
in the different datasets. As a result, they found out that password authentication systems as well. They normally check
Justin Bieber dataset has the highest average number of word if a user-given password is a dictionary word or not. If it is
components compared with the other datasets. Kelley et al. a dictionary word, it is black-listed and rejected. The user
[35] studied the impact of different password policies on is asked to choose a non-dictionary password. This existing
password strength. They investigated mainly the resistance of feature should be extended to cover passwords with patterns.
passwords created under different policies and the performance They can let pbp-generator create a pattern-based dictionary
of guessing algorithms under different training sets. file from their current dictionary file and afterward check if
users enter passwords which exist within the pattern-based
D. New Password Schemes dictionary file.
Forget et al. [36] proposes a password creation scheme Academic researchers focusing on password security and
based on Persuasive Technology [37]. This scheme inserts or authentication systems should take patterns into considera-
replaces randomly fixed number of characters in a user chosen tion and propose solutions accordingly. The related academic
password. As explained in this paper, inserting or replacing works from the past should be re-evaluated by considering the
characters are typical patterns which can be misused to guess risks caused by patterns. Security awareness trainings held
passwords successfully. Xiao et al. [38] propose some pass- especially for non-security experts should take patterns into
word mechanisms in which a user can choose a virtual pass- consideration as well. Attendees should be informed about the
word scheme ranging from weak security to strong security. patterns and warned not to use pattern-based passwords.
The proposed schemes provide several system recommended
functions like flipping one digit in the password, reversing bits VII. C ONCLUSION
of the password, adding an additional digit/character at a fixed Weak passwords are critical threats for authentication sys-
place, etc. We showed that such functions can be attacked since tems. Seizing password hashes, especially unsalted hashes,
their results contain certain patterns. attackers can use different attack techniques (i.e. brute-force,
dictionary, rainbow-tables) to crack hashes and reveal plaintext
VI. M ITIGATION M ETHODS passwords.
The following mitigation methods can be suggested in order Security experts try to establish security awareness for
to minimize the risks from patterns and protect users against strong passwords. In addition, authentication systems enforce
CRACKING MORE PASSWORD HASHES WITH PATTERNS 10
password policies to fulfill complexity rules. Being forced to [15] P. Oechslin, “Making a faster cryptanalytic time-memory trade-off,” in
use strong passwords, people tend to use similar patterns when Advances in Cryptology - CRYPTO 2003, ser. Lecture Notes in Computer
Science, D. Boneh, Ed. Springer Berlin Heidelberg, 2003, vol. 2729,
choosing their "strong" passwords. But such patterns endanger pp. 617–630.
security of passwords. [16] G. Fragkos and T. Tryfonas, “A cognitive model for the forensic recovery
In this paper we explain how frequently used patterns can be of end-user passwords,” in Proceedings of the Second International
Workshop on Digital Forensics and Incident Analysis, ser. WDFIA ’07.
identified and misused to generate pattern-based password dic- Washington, DC, USA: IEEE Computer Society, 2007, pp. 48–54.
tionaries. These common patterns can be afterward exploited [17] C. E. Shannon and W. Weaver, A Mathematical Theory of Communica-
to crack more password hashes compared with traditional tion. Champaign, IL, USA: University of Illinois Press, 1963.
[18] “SkullSecurity Passwords,” https://wiki.skullsecurity.org/Passwords.
dictionary attacks. In order to identify common password [19] “Hashcat - Advanced Password Recovery Practices,” http://hashcat.net.
patterns, we performed both manual and automated analysis [20] “Hashdumps and Passwords,” http://www.adeptus-mechanicus.com/
on a large set of leaked real-life passwords of rockyou.com codex/hashpass/hashpass.php.
[21] R. Veras, J. Thorpe, and C. Collins, “Visualizing semantics in passwords:
gaming portal. After identifying the patterns, we developed a The role of dates,” in Proceedings of the Ninth International Symposium
software tool, namely the pbp-generator, which creates many on Visualization for Cyber Security, ser. VizSec ’12. New York, NY,
pattern-based passwords from a given traditional dictionary. USA: ACM, 2012, pp. 88–95.
[22] T. Wu, “A real-world analysis of kerberos password security,” in Network
We utilized the generated pattern-based dictionary to perform and Distributed System Security Symposium, 1999.
cracking tests against real-life leaked password hashes from [23] M. Weir, S. Aggarwal, M. Collins, and H. Stern, “Testing metrics
15 different datasets. According to the test results, we could for password creation policies by attacking large sets of revealed
passwords,” in Proceedings of the 17th ACM Conference on Computer
crack with pattern-dictionaries many more password hashes, and Communications Security, New York, USA, 2010, pp. 162–175.
which cannot be cracked by using the rockyou password list. [24] B. Stone-Gross, M. Cova, L. Cavallaro, B. Gilbert, M. Szydlowski,
From this perspective, our proposed pattern-based attacks R. Kemmerer, C. Kruegel, and G. Vigna, “Your botnet is my botnet:
Analysis of a botnet takeover,” in Proceedings of the 16th ACM
enhance dictionary attacks and can be considered as the new Conference on Computer and Communications Security, ser. CCS ’09,
generation of dictionary attacks. It can especially help forensic New York, USA, 2009, pp. 635–647.
investigators for more efficient password cracking compared [25] “John the Ripper password cracker,” http://www.openwall.com/john/.
[26] J. Yan, A. Blackwell, R. Anderson, and A. Grant, “Password memora-
with the existing techniques. bility and security: empirical results,” Security Privacy, IEEE, vol. 2,
no. 5, pp. 25–31, Sept 2004.
[27] M. Weir, S. Aggarwal, B. d. Medeiros, and B. Glodek, “Password
ACKNOWLEDGMENT cracking using probabilistic context-free grammars,” in Proceedings of
the 2009 30th IEEE Symposium on Security and Privacy, ser. SP ’09.
The author would like to thank Necati Erşen Şişeci, M. Washington, DC, USA: IEEE Computer Society, 2009, pp. 391–405.
Oğuzhan Topgül, M. Oğuzhan Külekçi and Yalçın Çakmak [28] Y. Zhang, F. Monrose, and M. K. Reiter, “The security of modern
password expiration: An algorithmic framework and empirical analy-
who provided valuable comments on drafts of this article. sis,” in Proceedings of the 17th ACM Conference on Computer and
Communications Security, ser. CCS ’10. New York, NY, USA: ACM,
2010, pp. 176–186.
R EFERENCES [29] “Imperva Consumer Password Worst Practices,” http://www.imperva.
com/docs/WP_Consumer_Password_Worst_Practices.pdf, 2010.
[1] L. O’Gorman, “Comparing passwords, tokens, and biometrics for user [30] S. Houshmand and S. Aggarwal, “Building better passwords using
authentication,” Proceedings of the IEEE, vol. 91, no. 12, pp. 2021– probabilistic techniques,” in Proceedings of the 28th Annual Computer
2040, Dec 2003. Security Applications Conference, ser. ACSAC ’12. New York, USA:
[2] “Playstation Network Hack,” http://www.theguardian.com/technology/ ACM, 2012, pp. 109–118.
gamesblog/2011/apr/27/playstation-network-hack-sony, 2011. [31] L. Staneková and M. Stanek, “Analysis of dictionary methods for pin
[3] “RockYou hack compromises 32 million passwords,” selection,” Comput. Secur., vol. 39, pp. 289–298, Nov. 2013.
http://www.scmagazine.com/rockyou-hack-compromises-32-million- [32] A. Narayanan and V. Shmatikov, “Fast dictionary attacks on passwords
passwords/article/159676/, 2009. using time-space tradeoff,” in Proceedings of the 12th ACM Conference
[4] “#OpWorldCup: Anonymous Hacks Brazilian Government, Police, on Computer and Communications Security, ser. CCS ’05, New York,
Court, Globo TV and Cemig Telecom,” http://hackread.com/anonymous- USA, 2005, pp. 364–372.
hackers-brazil-worldcup-hacks/, 2014. [33] M. L. Mazurek, S. Komanduri, T. Vidas, L. Bauer, N. Christin, L. F.
[5] “Software Company Tom Sawyer Hacked, 61,000 Vendors Ac- Cranor, P. G. Kelley, R. Shay, and B. Ur, “Measuring password guess-
counts Leaked,” http://www.databreaches.net/software-company-tom- ability for an entire university,” in Proceedings of the 2013 ACM SIGSAC
sawyer-hacked-61000-vendors-accounts-leaked/, 2013. Conference on Computer and Communications Security, ser. CCS ’13.
[6] “Hacker Defaces Microsoft U.K. Web Page,” http://rcpmag.com/articles/ New York, NY, USA: ACM, 2013, pp. 173–186.
2007/06/29/hacker-defaces-microsoft-uk-web-page.aspx, 2007. [34] M. Jakobsson and M. Dhiman, “The benefits of understanding pass-
[7] “Hackers Leak Data Allegedly Stolen from Chinese Chamber of words,” in Mobile Authentication, ser. SpringerBriefs in Computer
Commerce Website,” http://news.softpedia.com/news/Hackers-Leak- Science. Springer New York, 2013, pp. 5–24.
Data-Allegedly-Stolen-from-Chinese-Chamber-of-Commerce-Website- [35] P. Kelley, S. Komanduri, M. Mazurek, R. Shay, T. Vidas, L. Bauer,
396936.shtml, 2013. N. Christin, L. Cranor, and J. Lopez, “Guess again (and again and
[8] “LinkedIn Hack,” http://en.wikipedia.org/wiki/2012_LinkedIn_hack. again): Measuring password strength by simulating password-cracking
[9] “SQL Injection,” https://www.owasp.org/index.php/SQL_Injection. algorithms,” in Security and Privacy (SP), 2012 IEEE Symposium on,
[10] “sqlmap - Automatic SQL injection tool,” http://sqlmap.org/. May 2012, pp. 523–537.
[11] “Havij- Advanced SQL Injection,” http://www.itsecteam.com/products/ [36] A. Forget, S. Chiasson, P. C. van Oorschot, and R. Biddle, “Improving
havij-advanced-sql-injection/. text passwords through persuasion,” in Proceedings of the 4th Sympo-
[12] “OWASP Password Storage Cheat Sheet,” https://www.owasp.org/index. sium on Usable Privacy and Security, ser. SOUPS ’08. New York, NY,
php/Password_Storage_Cheat_Sheet. USA: ACM, 2008, pp. 1–12.
[13] “Brute-force attacks,” https://www.owasp.org/index.php/Brute_force_ [37] B. J. Fogg, “Persuasive technology: Using computers to change what
attack. we think and do,” Ubiquity, vol. 2002, no. December, Dec. 2002.
[14] V. Goyal, V. Kumar, M. Singh, A. Abraham, and S. Sanyal, “Compchall: [38] Y. Xiao, C.-C. Li, M. Lei, and S. Vrbsky, “Differentiated virtual
Addressing password guessing attacks,” in Proceedings of the Interna- passwords, secret little functions, and codebooks for protecting users
tional Conference on Information Technology: Coding and Computing from password theft,” Systems Journal, IEEE, vol. 8, no. 2, pp. 406–
(ITCC’05). IEEE Computer Society, 2005, pp. 739–744. 416, June 2014.
CRACKING MORE PASSWORD HASHES WITH PATTERNS 11