Passwd Crack
cmj
Abstract
● Introduce password crack
○ Password introduce
○ Crack method
○ No news, no tech
Store Password
● Plaintext
○ Store the raw password in
■ Plain text
■ Data base or encoding
● Cipher
○ Hash
○ Encrypt
Hash vs Encrypt
● One-way function
● Conflict is possible
● Faster
● Based on algo.
● Revertable
● May not conflict
● Slower
● Based on algo. and key
Hash Algorithm
● Process variable data as fixed length data
○ Trivial simple:
■ fn(x) = hex(x) % 16
○ Complexity
■ Split into several fixed chunk
■ Shuffle the chunk
■ Repeat run encryption algorithm
Hash Algo. Abstract
● Raw data: 0123456789ABCDEF0
○ Split into fixed size chunk
■ padding if need
■ 0123 4567 89AB CDEF 0333
○ Shuffle per each chunk and run hash algo.
■ 3210 7654 BA98 FEDC 3330
■ 3560 7D26 B708 FD91 3690
■ 9DAF
Good or Bad
● Perfect hash algo
○ A hash function that is injective
● A good hash algo.
○ uniform
○ avalanche effect
Crack
● Trivial way
○ Brute Force - Enumerate all possible
● Humanable
○ Dictionary attack - Enumerate TOP used possible
● Technique
○ Rainbow attach
○ Design deflaw
Rainbow Attack
● Trivial way
○ Try to crack hash value h
○ Possible answer X => h’ = f(x)
○ Compare h and h’ => not match => Repeat
● Table
○ Pre-compute the h1, h2 ... as rainbow table
○ compare between h and rainbow table
Why call Rainbow
● Rainbow function: r(x)
○ V1 => h1 = f(V1) => V2 = r(h1) => h2 = f(V2) …
○ Table store V1 and h2
○ Hashed value h
■ compute h’ = f(r(h))
■ Try to find match for h and h’ in table
○ if h match => raw data is V2
○ if h’ match => raw data is V1
Benefit
● Reduce the necessary table size
○ Only store front and end
● Reduce the compute time
○ Only compute hash “one time” per hash value
● Bound on rainbow table and rainbow
function
Ref
● http://en.wikipedia.
org/wiki/Rainbow_table
● https://www.thc.org/thc-hydra/
● http://www.openwall.com/john/
● https://crackstation.net/
Thanks

Passwd crack introduction

  • 1.
  • 2.
    Abstract ● Introduce passwordcrack ○ Password introduce ○ Crack method ○ No news, no tech
  • 3.
    Store Password ● Plaintext ○Store the raw password in ■ Plain text ■ Data base or encoding ● Cipher ○ Hash ○ Encrypt
  • 4.
    Hash vs Encrypt ●One-way function ● Conflict is possible ● Faster ● Based on algo. ● Revertable ● May not conflict ● Slower ● Based on algo. and key
  • 5.
    Hash Algorithm ● Processvariable data as fixed length data ○ Trivial simple: ■ fn(x) = hex(x) % 16 ○ Complexity ■ Split into several fixed chunk ■ Shuffle the chunk ■ Repeat run encryption algorithm
  • 6.
    Hash Algo. Abstract ●Raw data: 0123456789ABCDEF0 ○ Split into fixed size chunk ■ padding if need ■ 0123 4567 89AB CDEF 0333 ○ Shuffle per each chunk and run hash algo. ■ 3210 7654 BA98 FEDC 3330 ■ 3560 7D26 B708 FD91 3690 ■ 9DAF
  • 7.
    Good or Bad ●Perfect hash algo ○ A hash function that is injective ● A good hash algo. ○ uniform ○ avalanche effect
  • 8.
    Crack ● Trivial way ○Brute Force - Enumerate all possible ● Humanable ○ Dictionary attack - Enumerate TOP used possible ● Technique ○ Rainbow attach ○ Design deflaw
  • 9.
    Rainbow Attack ● Trivialway ○ Try to crack hash value h ○ Possible answer X => h’ = f(x) ○ Compare h and h’ => not match => Repeat ● Table ○ Pre-compute the h1, h2 ... as rainbow table ○ compare between h and rainbow table
  • 10.
    Why call Rainbow ●Rainbow function: r(x) ○ V1 => h1 = f(V1) => V2 = r(h1) => h2 = f(V2) … ○ Table store V1 and h2 ○ Hashed value h ■ compute h’ = f(r(h)) ■ Try to find match for h and h’ in table ○ if h match => raw data is V2 ○ if h’ match => raw data is V1
  • 11.
    Benefit ● Reduce thenecessary table size ○ Only store front and end ● Reduce the compute time ○ Only compute hash “one time” per hash value ● Bound on rainbow table and rainbow function
  • 12.
    Ref ● http://en.wikipedia. org/wiki/Rainbow_table ● https://www.thc.org/thc-hydra/ ●http://www.openwall.com/john/ ● https://crackstation.net/
  • 13.