rainbow tables

36
Rainbow Tables Testing Passwords Security Jakarta , December 12 th 2009

Upload: panggi-libersa

Post on 22-Nov-2014

3.515 views

Category:

Technology


0 download

DESCRIPTION

My Presentation at Barcamp ID in Jakarta 12 th Dec 2009 [revised]

TRANSCRIPT

Page 1: Rainbow Tables

Rainbow TablesTesting Passwords Security

Jakarta , December 12th 2009

Page 2: Rainbow Tables

About me• Panggi Libersa a.k.a malcoder• Student at Indonesia’s Computer University • Like to take picture • Almost get his CEH certification ( waiting for exam)• Member of GNU/Linux User Group at Bandung [ Klub Linux Bandung ]• Small web hosting owner [ hostinggokil.com , ofirnetwork.com (in progress) ]• Web : malcoder.info and opensecuritylab.org• Find me :

@panggi malcoder panggi_y2k

panggi.libersa panggi panggi

Page 3: Rainbow Tables

“Some things Man was never meant to know. For everything else, there's Google” Geeky Quote

Page 4: Rainbow Tables

Why Do I talk about this ?• Awareness of Security I promise that this will change your view on Password

Security Haven’t met anyone that isn’t surprised at the power of this

stuff’s ability to make cracking password become so easy

Page 5: Rainbow Tables

So , What is Password ?

• A password is a secret word or string of characters that is used for authentication, to prove identity or gain access to a resource .The password must be kept secret from those not allowed access.

(source : http://en.wikipedia.org/wiki/Password)

Page 6: Rainbow Tables

Password Usage

Page 7: Rainbow Tables

How to keep it secret ?• Don’t tell to anybody else , keep it in mind

(personal)• Store the password records on a secure

environment (provider)

Page 8: Rainbow Tables

Type of storing password

• Cleartext (ex : this-is-so-secret , 260987)• Encrypted Reversible encryption without key ( ex : base64 cipher) Reversible encryption with key (ex : poly alphabetic substitution cipher) One Way Hash ( ex : md5 , sha1 ) One Way Hash with salt ( ex : md5 + salt )

Page 9: Rainbow Tables

Example of the encryption usage

• Base64 ( functions : encode and decode) Encode : cleartext -> ciphertext

Decode : ciphertext -> cleartext

cleartext : panggi encode ciphertext :

cGFuZ2dp

ciphertext :cGFuZ2dp decode cleartext :

panggi

Page 10: Rainbow Tables

• Polyalphabetic substitution cipher ex : Vigenère cipher

Usage :Key: ABCDEF AB CDEFA BCD EFABCDEFABCD Plaintext: CRYPTO IS SHORT FOR CRYPTOGRAPHY Ciphertext: CSASXT IT UKSWT GQU GWYQVRKWAQJB

Page 11: Rainbow Tables

•One Way Hash

CAN NOT BE DECODED , feel secured ? Wait

Page 12: Rainbow Tables

• One way hash + salt I will explain later ..

NEXT

Page 13: Rainbow Tables

Our Focus Today

• Cracking One Way Hash CipherMD5LM (LAN MANAGER) for MS Windows

Password

Page 14: Rainbow Tables

Characteristics

• MD5 : The 128-bit (16-byte) MD5 hashes (also termed message digests) are typically represented as a sequence of 32 hexadecimal digits

Example : test = 098f6bcd4621d373cade4e832627b4f6

Page 15: Rainbow Tables

• LM : The user’s ANSI password is converted to uppercase. This password is null-padded to 14 bytes. The “fixed-length” password is split into two 7-byte halves. These values are used to create two DES keys, one from

each 7-byte half, by converting the seven bytes into a bit stream, and inserting a parity-bit after every seven bits. This generates the 64 bits needed for the DES key.

Each of these keys is used to DES-encrypt the constant ASCII string “KGS!@#$%”, resulting in two 8-byte ciphertext values. The DES CipherMode should Set to ECB, and PaddingMode should set to NONE.

These two ciphertext values are concatenated to form a 16-byte value, which is the LM hash.

Page 16: Rainbow Tables

• Example :percobaan:1016:3EABC00C9F7B74B09A0F5D12D8

F612D0:34976BC196DADD52A6D02AE530F806C3:::

percobaan = username1016 = ID 3EABC00C9F7B74B09A0F5D12D8F612D0 (LEFT

side of LM password , it means the password is more than 7 chars)

34976BC196DADD52A6D02AE530F806C3 (RIGHT side of LM pass , so we just have to crack 7 chars and fit it together )

Page 17: Rainbow Tables

Methods of cracking the passwords

• Brute Force• Dictionary• Rainbow Tables our focus• Etc…

Page 18: Rainbow Tables

Brute force

• Using all possible combination in sequence• Example :Targeted hash : 4a8a08f09d37b73795649038408b5f33OK.. Crack it ..a = 0cc175b9c0f1b6a831c399e269772661 <= nob = 92eb5ffee6ae2fec3ad71c777531578f <= noc = 4a8a08f09d37b73795649038408b5f33 <= yes

Result : Plaintext of 4a8a08f09d37b73795649038408b5f33 is “c”

Page 19: Rainbow Tables

Dictionary• Given the wordlist of common passwords• Example :

Targetted hash : 3858f62230ac3c915f300c664312c63f

dic-crack 3858f62230ac3c915f300c664312c63f - L “path-of-wordlist/wordlist.txt”

searching….…fooa <= 72b55c624205d69cc145cc610880e1f9 <= no foobar <= 3858f62230ac3c915f300c664312c63f <= yes…

Page 20: Rainbow Tables

Rainbow Tables ?• A rainbow table is a lookup table offering a

time-memory tradeoff used in recovering the plaintext password from a password hash generated by a hash function, often a cryptographic hash function. A common application is to make attacks against hashed passwords feasible

(http://en.wikipedia.org/wiki/Rainbow_tables)

Page 21: Rainbow Tables
Page 22: Rainbow Tables

English please…

• Lookup table ?• Trade-memory tradeoff ?

<=?

Page 23: Rainbow Tables

Time for the Demo• Example : md5_hash.txt20392298d6b78e0890cd22a7bf071c49c9122fd7bae0681b62a39ddfc1c7fb19469590a45cc7f985b53d15113157e6ea31c9febeeb68929cd6c097239cf3e9d32e19ab163556288cf239f5339927e408dcb76da384ae3028d6aa9b2ebcea01c9d1cbedff31b828ac2f15548357988073c94630fe9dea660ba53ddf5d3a41e80273e405227c02a626e66f0dc4dd3a53a39486f7a4fdf724cf6cacbdc103661fce26f803e714f7d39c0b5a9dd67d03f8870248750eb423b999bd684b10668f72419ac17fc47347d505c92e3ca31fee675db65a81125dbfaab4a3ecdff26a9793093fde6bb0541387e4ebdadf7c2ff31123d695f8f703c1b3b0dce9d588a4d4abad86acaeb6d0f7241ea54b73528fa204ca78c5d5ed7ea4372435e9f006b29ea74575003783871e9404cd0793ca81594841e63d33d7ad4b4360f761634de070a860a9684b0defabebc108720fda1627f43db150e73aa5fc110c27320c98effcc0f1464b59d944c93b6a5eb3dfd0abf151144e3d682f0821b23f6d49fa1ac2cf154ad740ee7f1cd46b3d536a6f4331a4c77f13781c244d5bb85a296bcbe4ac7992f7bcdc908a16dbfe1297b4b0891ccf9ed710f97476043d02db1a236b877232c0a6d81bf97286c617c77b679478ce8b72b27279f67e313cc35e518f94c775a42196

Page 24: Rainbow Tables

ResultD:\hashcrack>rcrack d:\md5_tables\*.rt -l md5_hash.txtmd5_alpha#1-7_0_2400x40000000_panggi#000.rt:640000000 bytes read, disk access time: 9.99 sverifying the file...searching for 30 hashes...plaintext of 20392298d6b78e0890cd22a7bf071c49 is PANGGIplaintext of c9122fd7bae0681b62a39ddfc1c7fb19 is LOVEplaintext of 469590a45cc7f985b53d15113157e6ea is MUSTIKAcryptanalysis time: 377.34 s

md5_alpha-numeric#1-7_0_2400x40000000_panggi#000.rt:640000000 bytes read, disk access time: 73.13 sverifying the file...searching for 27 hashes...plaintext of 31c9febeeb68929cd6c097239cf3e9d3 is P4ST1plaintext of d81bf97286c617c77b679478ce8b72b2 is 050479cryptanalysis time: 102.56 s

md5_alpha-numeric#1-7_0_2400x40000000_panggi#001.rt:640000000 bytes read, disk access time: 60.70 sverifying the file...searching for 25 hashes...plaintext of 10f97476043d02db1a236b877232c0a6 is 7201421cryptanalysis time: 28.19 s

md5_alpha-numeric#1-7_0_2400x40000000_panggi#002.rt:640000000 bytes read, disk access time: 68.28 sverifying the file...searching for 24 hashes...cryptanalysis time: 28.24 s

md5_alpha-numeric#1-7_0_2400x40000000_panggi#003.rt:640000000 bytes read, disk access time: 67.72 sverifying the file...searching for 24 hashes...cryptanalysis time: 27.81 s

Page 25: Rainbow Tables

md5_loweralpha#1-7_0_2100x8000000_panggi.rt:128000000 bytes read, disk access time: 36.22 sverifying the file...searching for 24 hashes...plaintext of d1cbedff31b828ac2f15548357988073 is nashienplaintext of c94630fe9dea660ba53ddf5d3a41e802 is hercplaintext of 73e405227c02a626e66f0dc4dd3a53a3 is hayaticryptanalysis time: 79.63 s

md5_loweralpha#1-7_1_2100x8000000_panggi.rt:128000000 bytes read, disk access time: 2.86 sverifying the file...searching for 21 hashes...plaintext of 2e19ab163556288cf239f5339927e408 is nunungplaintext of dcb76da384ae3028d6aa9b2ebcea01c9 is sayangcryptanalysis time: 73.33 s

md5_loweralpha#1-7_2_2100x8000000_panggi.rt:128000000 bytes read, disk access time: 9.56 sverifying the file...searching for 19 hashes...cryptanalysis time: 69.08 s

md5_loweralpha#1-7_3_2100x8000000_panggi.rt:128000000 bytes read, disk access time: 2.45 sverifying the file...searching for 19 hashes...cryptanalysis time: 69.38 s

md5_loweralpha#1-7_4_2100x8000000_panggi.rt:128000000 bytes read, disk access time: 12.00 sverifying the file...searching for 19 hashes...cryptanalysis time: 69.20 s

md5_loweralpha-numeric#1-7_0_2400x40000000_panggi#000.rt:640000000 bytes read, disk access time: 17.91 sverifying the file...searching for 19 hashes...plaintext of 3fde6bb0541387e4ebdadf7c2ff31123 is 1q2w3ecryptanalysis time: 75.73 s

md5_loweralpha-numeric#1-7_0_2400x40000000_panggi#001.rt:640000000 bytes read, disk access time: 14.73 sverifying the file...searching for 18 hashes...plaintext of 26f803e714f7d39c0b5a9dd67d03f887 is 8u7y6tcryptanalysis time: 21.09 s

Page 26: Rainbow Tables

md5_loweralpha-numeric#1-7_0_2400x40000000_panggi#002.rt:640000000 bytes read, disk access time: 13.91 sverifying the file...searching for 17 hashes...cryptanalysis time: 20.03 s

md5_loweralpha-numeric#1-7_0_2400x40000000_panggi#003.rt:640000000 bytes read, disk access time: 14.20 sverifying the file...searching for 17 hashes...plaintext of 9486f7a4fdf724cf6cacbdc103661fce is metty77cryptanalysis time: 19.31 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#000.rt:640000000 bytes read, disk access time: 14.41 sverifying the file...searching for 16 hashes...plaintext of 9ac17fc47347d505c92e3ca31fee675d is 4Dm1nplaintext of b65a81125dbfaab4a3ecdff26a979309 is Pa55plaintext of d695f8f703c1b3b0dce9d588a4d4abad is UN1k0Mplaintext of 75003783871e9404cd0793ca81594841 is G0D$plaintext of 464b59d944c93b6a5eb3dfd0abf15114 is c(%H2nplaintext of d740ee7f1cd46b3d536a6f4331a4c77f is *$^#&3plaintext of 13781c244d5bb85a296bcbe4ac7992f7 is h@xX0rcryptanalysis time: 33.47 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#001.rt:640000000 bytes read, disk access time: 12.95 sverifying the file...searching for 9 hashes...plaintext of 0248750eb423b999bd684b10668f7241 is iMoeThplaintext of e63d33d7ad4b4360f761634de070a860 is w_Bu5Hplaintext of 4e3d682f0821b23f6d49fa1ac2cf154a is R@54Incryptanalysis time: 3.86 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#002.rt:640000000 bytes read, disk access time: 12.92 sverifying the file...searching for 6 hashes...plaintext of 78c5d5ed7ea4372435e9f006b29ea745 is !Q@W#Eplaintext of a9684b0defabebc108720fda1627f43d is 1!q^YWcryptanalysis time: 2.36 s

Page 27: Rainbow Tables

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#003.rt:640000000 bytes read, disk access time: 18.03 sverifying the file...searching for 4 hashes...plaintext of 86acaeb6d0f7241ea54b73528fa204ca is 5TR0n6cryptanalysis time: 1.78 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#004.rt:640000000 bytes read, disk access time: 12.38 sverifying the file...searching for 3 hashes...cryptanalysis time: 1.38 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#005.rt:640000000 bytes read, disk access time: 12.41 sverifying the file...searching for 3 hashes...plaintext of b150e73aa5fc110c27320c98effcc0f1 is p@N66icryptanalysis time: 1.38 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#006.rt:640000000 bytes read, disk access time: 12.44 sverifying the file...searching for 2 hashes...cryptanalysis time: 0.94 s

md5_numeric#1-9_0_3000x3000000_panggi#000.rt:48000000 bytes read, disk access time: 0.72 sverifying the file...searching for 2 hashes...plaintext of bcdc908a16dbfe1297b4b0891ccf9ed7 is 29041987plaintext of 7279f67e313cc35e518f94c775a42196 is 776284123cryptanalysis time: 23.86 s

statistics-------------------------------------------------------plaintext found: 30 of 30 (100.00%)total disk access time: 499.91 stotal cryptanalysis time: 1129.94 stotal chain walk step: 453610884total false alarm: 853120total chain walk step due to false alarm: 675710917

Page 28: Rainbow Tables

result-------------------------------------------------------20392298d6b78e0890cd22a7bf071c49 PANGGI hex:50414e474749c9122fd7bae0681b62a39ddfc1c7fb19 LOVE hex:4c4f5645469590a45cc7f985b53d15113157e6ea MUSTIKA hex:4d555354494b4131c9febeeb68929cd6c097239cf3e9d3 P4ST1 hex:50345354312e19ab163556288cf239f5339927e408 nunung hex:6e756e756e67dcb76da384ae3028d6aa9b2ebcea01c9 sayang hex:736179616e67d1cbedff31b828ac2f15548357988073 nashien hex:6e61736869656ec94630fe9dea660ba53ddf5d3a41e802 herc hex:6865726373e405227c02a626e66f0dc4dd3a53a3 hayati hex:6861796174699486f7a4fdf724cf6cacbdc103661fce metty77 hex:6d65747479373726f803e714f7d39c0b5a9dd67d03f887 8u7y6t hex:3875377936740248750eb423b999bd684b10668f7241 iMoeTh hex:694d6f6554689ac17fc47347d505c92e3ca31fee675d 4Dm1n hex:34446d316eb65a81125dbfaab4a3ecdff26a979309 Pa55 hex:506135353fde6bb0541387e4ebdadf7c2ff31123 1q2w3e hex:317132773365d695f8f703c1b3b0dce9d588a4d4abad UN1k0M hex:554e316b304d86acaeb6d0f7241ea54b73528fa204ca 5TR0n6 hex:355452306e3678c5d5ed7ea4372435e9f006b29ea745 !Q@W#E hex:21514057234575003783871e9404cd0793ca81594841 G0D$ hex:47304424e63d33d7ad4b4360f761634de070a860 w_Bu5H hex:775f42753548a9684b0defabebc108720fda1627f43d 1!q^YW hex:3121715e5957b150e73aa5fc110c27320c98effcc0f1 p@N66i hex:70404e363669464b59d944c93b6a5eb3dfd0abf15114 c(%H2n hex:63282548326e4e3d682f0821b23f6d49fa1ac2cf154a R@54In hex:52403534496ed740ee7f1cd46b3d536a6f4331a4c77f *$^#&3 hex:2a245e23263313781c244d5bb85a296bcbe4ac7992f7 h@xX0r hex:684078583072bcdc908a16dbfe1297b4b0891ccf9ed7 29041987 hex:323930343139383710f97476043d02db1a236b877232c0a6 7201421 hex:37323031343231d81bf97286c617c77b679478ce8b72b2 050479 hex:3035303437397279f67e313cc35e518f94c775a42196 776284123 hex:373736323834313233

D:\hashcrack>

Page 29: Rainbow Tables

Mr. @ialexs ‘s request (pass : maLam1)K:\rainbow\hashcrack>rcrack k:\rainbow\md5_tables\md5_mixalpha-numeric*.rt -h 7d62eaa2e2a3da203573dc408d31cd0dmd5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#000.rt:640000000 bytes read, disk access time: 40.91 sverifying the file...searching for 1 hash...cryptanalysis time: 3.41 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#001.rt:640000000 bytes read, disk access time: 45.14 sverifying the file...searching for 1 hash...cryptanalysis time: 0.45 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#002.rt:640000000 bytes read, disk access time: 47.19 sverifying the file...searching for 1 hash...cryptanalysis time: 0.47 s

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#003.rt:640000000 bytes read, disk access time: 45.22 sverifying the file...searching for 1 hash...cryptanalysis time: 0.44 s

Page 30: Rainbow Tables

md5_mixalpha-numeric-symbol14-space#1-6_0_2400x40000000_panggi#004.rt:640000000 bytes read, disk access time: 46.28 sverifying the file...searching for 1 hash...plaintext of 7d62eaa2e2a3da203573dc408d31cd0d is maLam1cryptanalysis time: 0.22 s

statistics-------------------------------------------------------plaintext found: 1 of 1 (100.00%)total disk access time: 224.73 s See the time.. total cryptanalysis time: 4.98 stotal chain walk step: 2876401total false alarm: 2252total chain walk step due to false alarm: 1882084

result-------------------------------------------------------7d62eaa2e2a3da203573dc408d31cd0d maLam1 hex:6d614c616d31

K:\rainbow\hashcrack>

Page 31: Rainbow Tables

Windows Password (LM)• Dump it firstK:\Pwdump7>PwDump7.exe > pass_win.txtPwdump v7.1 - raw password extractorAuthor: Andres Tarasco Acunaurl: http://www.514.es

K:\Pwdump7>

Page 32: Rainbow Tables

pass_win.txt ( $ sign is censored by me )Administrator:500:NO PASSWORD*********************:95C735766$

$$$$$$$EAC22EC$$$$18CF:::Guest:501:NO PASSWORD*********************:NO

PASSWORD*********************:::__vmware_user__:1011:NO

PASSWORD*********************:2E4D88$$$$$$$$$$$$701F71FD7F63B9:::

apache2triad:1013:A215FD4C479AAEC8$$$$$$$$$$465971:6B93A1E44490938$$$$$$$$$$E4C4D63:::

okay:1014:3EABC00C9F7B74B09A0F5D12D8F612D0:34976BC196DADD52A6D02AE530F806C3:::

HelpAssistant:1015:F681E43E4269$$$$$$3D27C551$$$$$$:32EB$$$$$$159997D$$$$$$1EC24BA2A:::

percobaan:1016:3EABC00C9F7B74B09A0F5D12D8F612D0:34976BC196DADD52A6D02AE530F806C3::: crack it

Page 33: Rainbow Tables

irc://irc.plaintext.info#rainbowcrack

Page 34: Rainbow Tables

How to secure it ?• MD5Use salted password ( not naked )Example :<?

function enchsetenev($toencode,$times){ $salt = 's+(_a*'; for($zo=0;$zo<$times;$zo=$zo+1) { $toencode = hash('sha512',salt.$toencode); $toencode = md5($toencode.$salt); } return $toencode;}

?>

how to use it ?simply..

<?

$password="this password is super ultra mega secure and no one would decrypt it for atleast 10 years.. or even alot more :)";

$supersecurepassword=enchsetenev($password,1000); ?>

Page 35: Rainbow Tables

LM Hash

• percobaan:1016:3EABC00C9F7B74B09A0F5D12D8F612D0:34976BC196DADD52A6D02AE530F806C3:::

• Use at least 15 characters and Windows will change it’s algorithm to more secure one ( NTLM )

Page 36: Rainbow Tables

Thank You