Let’s get smarter…

Because knowledge is power…

Crack md5, dan SHA-1 Hash Dalam Hitungan Detik

Posted by gilang On September - 29 - 2008

Pernah nggak berfikir bahwa hash itu bisa di balikin ?. ya pertanyaan itu sempat muncul di otak penulis beberapa bulan yang lalu, waktu penulis lagi seneng-senengnya mainan sama hal-hal yang berbau cracking. Dan akhirnya dengan sedikit imajinasi dan usaha, penulis berhasil menemukan cara membalik sebuah hash menjadi sebuah string / plaintext.

Yup, untuk melakukannya penulis menemukan tool yang amat sangat-sangat bagus. Nama tool ini adalah RainbowCrack. Program ini melakukan reverse pada hash dengan menggunakan teknik yang disebut Time-Memory Trade-Off.

Langsung ke inti permasalahan, disini penulis mau nyoba memberikan tutorial singkat  bagaimana menggunakan tools mahadewa ini. hihihi… tapi sebelumnya download dulu dunk toolsnya. Toolsnya bisa diperoleh disini.

Setelah mendapatkan tools tersebut, sekarang unzip paketnya. Kalau udah sekarang buka command promt lalu arahkan path command promp tersebut ke direktori tempat RainbowCrack tadi di ekstrak. Di dalam paket RainbowCrack ada 4 tools yang bisa digunakan, yaitu rtcrack,rtdump,rtgen, dan rtsort.

Sekedar informasi sebelum dapat menggunakan tools ini, kita harus memiliki tabel lookup yang disebut dengan Rainbow Table. Tabel ini bisa kita generate sendiri, atau bisa juga kita download. Karena terus terang untuk generating table itu makan waktu yang super lama…Di postingan kali ini penulis putuskan untuk membuat sendiri tabel tersebut.

Sebelum membuat tabel tersebut, sebaiknya kita melakukan persiapan. Persiapan itu meliputi berapa panjang string asli dari hash yang ingin kita crack, format string awal, jenis hash, dll. Pada kasus ini penulis menentukan bahwa panjang string maksimum yang ingin di crack adalah 7, bertipe lowerscase alphanumeric, dan menggunakan tipe hash md5. Rumus perhitungan secara lebih mendetail di site resmi dari Rainbow Crack. Untuk singkatnya bisa dilihat dari table berikut.

hash algorithm md5
charset loweralpha (abcdefghijklmnopqrstuvwxyz)
plaintext length range 1 - 7
key space 26^1 + 26^2 + 26^3 + 26^4 + 26^5 + 26^6 + 26^7 = 8353082582
t 2100
m 8000000
l 5
disk usage m * 16 * l = 640000000 B = 610 MB
success rate 0.9990
mean cryptanalysis time 3.7841 s
mean cryptanalysis time on a low memory system (free memory size much smaller than 122MB) 8.2836 s
max cryptanalysis time 31.1441 s
table precomputation commands rtgen md5 loweralpha 1 7 0 2100 8000000 all
rtgen md5 loweralpha 1 7 1 2100 8000000 all
rtgen md5 loweralpha 1 7 2 2100 8000000 all
rtgen md5 loweralpha 1 7 3 2100 8000000 all
rtgen md5 loweralpha 1 7 4 2100 8000000 all

Sip, setelah kalkulasi selesai, selanjutnya langsung pada praktek… hehehe…. berikut langkah-langkah lengkap dari pembuatan tabel lookup hingga proses crack.

Buat tabel dengan menggunakan tools rtgen. Berikut adalah perintahnya..

D:\MASTER\rainbow>rtgen md5 loweralpha 1 7 0 2100 8000000 all
hash routine: md5
hash length: 16
plain charset: abcdefghijklmnopqrstuvwxyz
plain charset in hex: 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 7
4 75 76 77 78 79 7a
plain length range: 1 - 7
plain charset name: loweralpha
plain space total: 8353082582
rainbow table index: 0
reduce offset: 0

Lakukan generating table sebanyak jumlah table yang ada pada kolom table precomputation commands. Pembuatan tabel ini makan waktu lama lho, tergantung spesifikasi komputer yang kita miliki.

Setelah semua tabel selesai di generate selanjutnya adalah mengurutkan isi tabel tersebut dengan menggunakan tools rtsort

rtsort md5_loweralpha#1-7_0_2100×8000000_all.rt

rtsort md5_loweralpha#1-7_1_2100×8000000_all.rt

rtsort md5_loweralpha#1-7_2_2100×8000000_all.rt

rtsort md5_loweralpha#1-7_3_2100×8000000_all.rt

rtsort md5_loweralpha#1-7_4_2100×8000000_all.rt

Setelah semua persiapan selesai, kini waktunya beraksi. Sebagai contoh disini penulis telah menyiapkan dua buah hash. yaitu :

example = 1A79A4D60DE6718E8E5B326E338AE533
secret     = 5EBE2294ECD0E0F08EAB7690D2A6EE69

Untuk memulai simpan kedua hash dalam sebuah file text, sehingga kita bisa melakukan crack secara batch. Disini penulis menyimpannya dengan nama md5.txt. Selanjutnya gunakan tools rcrack untuk melakukan reverse. Berikut perintahnya..

rcrack *.rt -l md5.txt

Dan inilah hasilnya….

D:\MASTER\rainbow>rcrack *.rt -l md5.txt
md5_loweralpha#1-7_0_2100×8000000_all.rt:
128000000 bytes read, disk access time: 0.33 s
verifying the file…
searching for 2 hashes…
plaintext of 1a79a4d60de6718e8e5b326e338ae533 is example
plaintext of 5ebe2294ecd0e0f08eab7690d2a6ee69 is secret
cryptanalysis time: 3.16 s

statistics
——————————————————-
plaintext found:          2 of 2 (100.00%)
total disk access time:   0.33 s
total cryptanalysis time: 3.16 s
total chain walk step:    1423431
total false alarm:        1301
total chain walk step due to false alarm: 1418013

result
——————————————————-
1a79a4d60de6718e8e5b326e338ae533  example  hex:6578616d706c65
5ebe2294ecd0e0f08eab7690d2a6ee69  secret  hex:736563726574

D:\MASTER\rainbow>

Hurray…. proses cracking selesai. Cepet kan, untuk melakukan crack terhadap dua hash tersebut cuma butuh waktu = 0.33 + 3.16 detik.

5 Responses

  1. Wavatar pieter Says:

    pertamax gan,,,mahalkah???. hemm nice post….

    Posted on September 29th, 2008 at 12:50 am

  2. Wavatar mima Says:

    keren2.. mantab ^^
    btw, keduaxxx ya hohoho..

    Posted on September 29th, 2008 at 5:19 am

  3. Wavatar gilang Says:

    wew… kk… wew….

    Posted on September 29th, 2008 at 5:35 pm

  4. Wavatar sheor Says:

    kkk beritau cara bikin tablenya
    truss mau tanya kok harus range nya tu kok 1 -7
    makasih….

    Posted on November 9th, 2008 at 7:57 pm

  5. Wavatar gilang Says:

    itu cuma sample aja, make nya 7, dinaikin jadi 10 atau 20 juga bisa, cuma konsekuensinya generate tablenya jadi lama + makan hardisk gede banget. Tinggal pakai yang rtgen itu aja kok, cuma rangenya di gedein + parameter2 tambahan yang mungkin perlu

    Posted on November 10th, 2008 at 2:08 am

Leave a Reply




This site employs the Wavatars plugin by Shamus Young.