Reasoning Analytically About Password-Cracking Software Enze “Alex” Liu , Amanda Nakanishi, Maximilian Golla, David Cash, Blase Ur
Chic4go 2
Attack Model 80d561388725fa74f2d03cd16e1d687c 3
Attack Model 80d561388725fa74f2d03cd16e1d687c 1. h(“123456”) = e10adc3949ba59abbe56e057f20f883e 4
Attack Model 80d561388725fa74f2d03cd16e1d687c 1. h(“123456”) = e10adc3949ba59abbe56e057f20f883e 2. h(“password”) = 5f4dcc3b5aa765d61d8327deb882cf99 5
Attack Model 80d561388725fa74f2d03cd16e1d687c 1. h(“123456”) = e10adc3949ba59abbe56e057f20f883e 2. h(“password”) = 5f4dcc3b5aa765d61d8327deb882cf99 3. h(“monkey”) = d0763edaa9d9bd2a9516280e9044d885 6
Attack Model 80d561388725fa74f2d03cd16e1d687c 1. h(“123456”) = e10adc3949ba59abbe56e057f20f883e 2. h(“password”) = 5f4dcc3b5aa765d61d8327deb882cf99 3. h(“monkey”) = d0763edaa9d9bd2a9516280e9044d885 4. h(“letmein”) = 0d107d09f5bbe40cade3de5c71e9e9b7 7
Attack Model 80d561388725fa74f2d03cd16e1d687c 1. h(“123456”) = e10adc3949ba59abbe56e057f20f883e 2. h(“password”) = 5f4dcc3b5aa765d61d8327deb882cf99 3. h(“monkey”) = d0763edaa9d9bd2a9516280e9044d885 4. h(“letmein”) = 0d107d09f5bbe40cade3de5c71e9e9b7 5. h(“p@ssw0rd”) = 0f359740bd1cda994f8b55330c86d845 8
Attack Model 80d561388725fa74f2d03cd16e1d687c 1. h(“123456”) = e10adc3949ba59abbe56e057f20f883e 2. h(“password”) = 5f4dcc3b5aa765d61d8327deb882cf99 3. h(“monkey”) = d0763edaa9d9bd2a9516280e9044d885 4. h(“letmein”) = 0d107d09f5bbe40cade3de5c71e9e9b7 5. h(“p@ssw0rd”) = 0f359740bd1cda994f8b55330c86d845 6. h(“Chic4go”) = 80d561388725fa74f2d03cd16e1d687c 9
Chic4go 10
Chic4go Guess # 6 11
Chic4go Guess # 6 Guess # 13,545,239,432 12
13
Password-Cracking Methods Probabilistic Models Software Tools 14
Password-Cracking Methods Probabilistic Models Software Tools Guess # Chic4go 15
Password-Cracking Methods Probabilistic Models Software Tools Guess # Chic4go 16
Guess Number by Enumeration 1. 123456 2. password 3. monkey Does Not Scale !!! 4. letmein 5. p@ssw0rd 6. Chic4go 17
Our Analysis Goals 1. Compute guess numbers efficiently 2. Configure guessing method systematically 18
Outline ● State of the art ● How software password-cracking tools work ● Our efficient techniques for guess numbers ● Our techniques for systematic configuration 19
Probabilistic Models Markov Models [Narayanan and Shmatikov, CCS 2005] Probabilistic Context-Free Grammars [Weir et al., S&P 2009] Neural Networks [Melicher et al., Usenix Security 2016] Guess # Configuration 20
Probabilistic Models Markov Models [Narayanan and Shmatikov, CCS 2005] Probabilistic Context-Free Grammars [Weir et al., S&P 2009] Neural Networks [Melicher et al., Usenix Security 2016] Guess # [CCS 2015] Configuration 21
Probabilistic Models Markov Models [Narayanan and Shmatikov, CCS 2005] Probabilistic Context-Free Grammars [Weir et al., S&P 2009] Neural Networks [Melicher et al., Usenix Security 2016] Guess # [CCS 2015] Configuration 22
Probabilistic Models Markov Models [Narayanan and Shmatikov, CCS 2005] Probabilistic Context-Free Grammars [Weir et al., S&P 2009] Neural Networks [Melicher et al., Usenix Security 2016] Guess # [CCS 2015] Configuration 23
Probabilistic Models Markov Models [Narayanan and Shmatikov, CCS 2005] Probabilistic Context-Free Grammars [Weir et al., S&P 2009] Neural Networks [Melicher et al., Usenix Security 2016] Guess-Efficient 24
Probabilistic Models Markov Models [Narayanan and Shmatikov, CCS 2005] Probabilistic Context-Free Grammars [Weir et al., S&P 2009] Neural Networks [Melicher et al., Usenix Security 2016] Guess-Efficient Wall-Clock Time Slow 25
Software Tools John the Ripper Hashcat 26
Software Tools chicdog chicagos chicago1 CHICAG chicago2 chicaga chicago chicago3 Chicago chicago6 CHICAGO chicago9 CHIcago 27
Software Tools John the Ripper Hashcat Guess-Inefficient Wall-Clock Time Fast 28
Software Tools John the Ripper Hashcat Guess-Inefficient Wall-Clock Time Fast 29
Software Tools John the Ripper Hashcat Guess # [S&P 2019] Configuration 30
Outline ● State of the art ● How software password-cracking tools work ● Our efficient techniques for guess numbers ● Our techniques for systematic configuration 31
Mangled Wordlist Attack 32
Mangled Wordlist Attack Wordlist Super Password Chicago 33
Mangled Wordlist Attack Wordlist Rulelist Super 1. Append “1” Password 2. Replace “a” → “4” Chicago 3. Lowercase all 34
Mangled Wordlist Attack Wordlist Rulelist Guesses Super 1. Append “1” Super1 Password 2. Replace “a” → “4” Chicago 3. Lowercase all 35
Mangled Wordlist Attack Wordlist Rulelist Guesses Super 1. Append “1” Super1 Password 2. Replace “a” → “4” Password1 Chicago 3. Lowercase all 36
Mangled Wordlist Attack Wordlist Rulelist Guesses Super 1. Append “1” Super1 Password 2. Replace “a” → “4” Password1 Chicago 3. Lowercase all Chicago1 37
Mangled Wordlist Attack Wordlist Rulelist Guesses Super 1. Append “1” Super1 Password 2. Replace “a” → “4” Password1 Chicago 3. Lowercase all Chicago1 Super P4ssword Chic4go 38
Mangled Wordlist Attack Wordlist Rulelist Guesses Super 1. Append “1” Super1 Password 2. Replace “a” → “4” Password1 Chicago 3. Lowercase all Chicago1 Super P4ssword Chic4go super password chicago 39
Example Wordlists and Rulelists Wordlist PGS ( ≈ 20,000,000) Linkedin ( ≈ 60,000,000) HIBP ( ≈ 500,000,000) 40
Example Wordlists and Rulelists Wordlist Rulelist PGS ( ≈ 20,000,000) Korelogic ( ≈ 5,000) Linkedin ( ≈ 60,000,000) Megatron ( ≈ 15,000) HIBP ( ≈ 500,000,000) Generated2 ( ≈ 65,000) 41
Example Wordlists and Rulelists Wordlist Rulelist 10 9 - 10 15 PGS ( ≈ 20,000,000) Korelogic ( ≈ 5,000) guesses Linkedin ( ≈ 60,000,000) Megatron ( ≈ 15,000) HIBP ( ≈ 500,000,000) Generated2 ( ≈ 65,000) 42
Example Wordlists and Rulelists Wordlist Rulelist 10 9 - 10 15 PGS ( ≈ 20,000,000) Korelogic ( ≈ 5,000) guesses Linkedin ( ≈ 60,000,000) Megatron ( ≈ 15,000) HIBP ( ≈ 500,000,000) Generated2 ( ≈ 65,000) + Hackers’ private word/rule lists 43
Outline ● State of the art ● How software password-cracking tools work ● Our efficient techniques for guess numbers ● Our techniques for systematic configuration 44
Is This Password in the Guesses? Guesses Super1 Password1 Chic4go Chicago1 Super P4ssword Chic4go super password chicago 45
Is This Password in the Guesses? Wordlist Rulelist Guesses Super 1. Append “1” Super1 Password 2. Replace “a” → “4” Password1 Chicago 3. Lowercase all Chicago1 Super P4ssword Chic4go super password chicago 46
Insight We can work backwards! 47
Insight: Invert Rules Password Chic4go 48
Insight: Invert Rules Rulelist Password 1. Append “1” Chic4go 2. Replace “a” → “4” 3. Lowercase all 49
Insight: Invert Rules Rulelist Password 1. Append “1” Chic4go 2. Replace “a” → “4” 3. Lowercase all 50
Insight: Invert Rules Preimages Rulelist Password Chicago 1. Append “1” Chic4go 2. Replace “a” → “4” Chic4go 3. Lowercase all 51
52
*05 O03 d '7 Switch the first and the sixth char; Delete the first three chars; Duplicate the whole word; Truncate the word to length 7; Preimages? Preimages? Chic4go 53
Where in the Stream? Wordlist Rulelist Guesses Super 1. Append “1” Super1 Password 2. Replace “a” → “4” Password1 Chicago 3. Lowercase all Chicago1 Super P4ssword Chic4go 54
Where in the Stream? Wordlist Rulelist Guesses Super 1. Append “1” Super1 Password 2. Replace “a” → “4” Password1 Chicago 3. Lowercase all Chicago1 Super P4ssword Chic4go 55
Counting Guesses For Each Rule Wordlist Rule Guesses Reject if no “a”; Super 2 Password Replace a → 4 Chicago 56
Our First Contribution ● Fast Guess Number Estimation 57
Fast Guess Number Estimation Linkedin + SpiderLab 58
Fast Guess Number Estimation Linkedin + SpiderLab Guesses 59
Fast Guess Number Estimation Linkedin + SpiderLab Guesses Enumeration Our Approach Size ~ 3 PB ~ 10 GB 60
Fast Guess Number Estimation Linkedin + SpiderLab Guesses Enumeration Our Approach Size ~ 3 PB ~ 10 GB Preprocessing > 2 years < 1 day 61
Fast Guess Number Estimation Linkedin + SpiderLab Guesses Enumeration Our Approach Size ~ 3 PB ~ 10 GB Preprocessing > 2 years < 1 day Mean Lookup ??? < 1 second 62
Outline ● State of the art ● How software password-cracking tools work ● Our efficient techniques for guess numbers ● Our techniques for systematic configuration 63
Software Tools Depend On ● Order of rules ● Contents of the rulelist ● Order of words ● Contents of the wordlist 64
Recommend
More recommend