Rabu, 05 Oktober 2011

Cracking Hash with Rainbow Table

bagi yang sudah bergelut di bidang hacking kriptografi pasti udah banyak mendengar kata kata : hash, md5, sha, whirlpool, dll... apaan sih sebenernya tu???. hash merupakan sebuah data yang telah dienskripsi.

di jaman seperti ini pengenkripsian tidak lagi dilakukan dengan sebuah pola... inget waktu kita pramuka dahulu, pasti banyak yang ingat apa itu sandi morse, semaphore, angka, kotak... dan lain lain... melainkan dengan menggunakan sebuah algoritma. adakala sebuah sesuatu yang telah di enskripsi, tidak dapat di dekripsi kembali ke awal. mengapa? ambil saja contoh md5. md5 memiliki kemampuan mengenskripsi jumlah data tak terbatas menjadi sebuah karakter heksadesimal sepanjang 16 byte / 32 digit. kalo dikalkulasi :

karakter heksa sebanyak 16 buah sebanyak 32 digit. jadi :

16^32 = 3,40282367 × 1038 

bayangkan saja bagaimana bila angka 3 diikuti 38 nol dibelakangnya. tapi.. itu tidaklah cukup. jumlah benda di alam semesta ini jauh lebih banyak daripada angka tersebut. bahkan bila kita memiliki sebuah pensil memiliki hash "a", ketika anda menempelkan jari anda sehingga meningalkan sebuah sidik jari pun, hash akan berubah selain "a" :bingung . itulah yang ditakuti semua ilmuan di dunia ini "ketidak terbatasan"

dalam dunia komputer, enkripsi dilakukan untuk menyamarkan sebuah password agar tidak mudah terbaca begitu tidak mudah terpecahkan. walaupun untuk Cracking suatu hash (saya pakai yang populer saja : MD5) lebih se efisien daripada bruteforce, namun kita memerlukan waktu yang cukup lama.

Terdapat sebuah istilah Rainbow Table. apaan tuh ya??? tabel pelangi?. yup... mirip dengan artinya karena pelangi memiliki batas pemisah antara warna warnanya. Rainbow table merupakan metode cracking hash dengan metode precomputation. jadi sebelum memulai proses cracking, harus ada file yang berisi hash hash yang sangaaaat banyaaakk banget sehingga memungkinkan adanya kesamaan hash yang ada akan dicrack dengan hash yang ada di RainbowTable. Rainbow Table mirip dengan Dictionary List, dimana menyimpan kata kata yang memungkinkan dipakai oleh pembuat password.

saya biasa menggunakan john the ripper untuk cracking password yang simpel dan bila saya memiliki waktu luang yang banyak (kalau kebetulan passnya gampang yah sebentar aja :ngakak ), atau RainbowTable Crack untuk cracking cepat. sayangnya... seperti kata diatas, ada untukng dan ada rugi. keuntungannya adalah cracking super cepat karena tinggal menyamakan hash yang ada dengan hash yang ada diRainbowTable. kelemahannya hanyalah Ukurannya yang super GEDE karena menimpan data hash yang saaaaaaaangaaaaaaat banyaaaaaaaak. sebagai asumsi saya menggunakan standar minimal md5. ukuran sebuah karakter adalah 1 bit. sedangkan 1 byte  = 8 bits. kita mengalokasikan 1 buah hash md5 = 32 chars = 32 bits = 4 byte. kemudian kita mengkalikan :

4 byte × 3,40282367 × 1038 = 1,36112947 × 10^39 byte = 1.54742505173999e+26 TeraByte


:maho bayangkan HDD MacamMana itu bisa nyimpen ky gitu. bahkan dikonversi ke standar HDD tertinggi (TB) masih punya pangkat... hehe... (maaf, saya juga bingung nulisnya). hehe... itulah kekurangannya.


mumpung nganggur, tadi habis baca baca di blog sebelah.. tiba tiba pengen posting post ini. kehadiran postingan ini bukan hanya untuk membahas mengenai hal hal yang nggak terbatas loh... saya ingin sharing saja. Ada sebuah aplikasi yang tujuan hidupnya adalah membuat rainbow table dan cracking dengan rainbowtable. anda dapat mengunduhnya di sini.

cukup ekstrak aplikasinya, akan terdapat beberapa buah file executable. Ok, Let's Crack!!!. bahan pertama yang digunakan adalah sebuah rainbow table. anda bisa membelinya, atau mendapatkannya gratis di freerainbowtable (bila anda memiliki koneksi internet Wussss tapi dengan komputer Klewerrr) atau membuatnya sendiri dengan file executable "rtgen" (bila anda memiliki komputer Wusss namun dengan koneksi Kleweerrr) :hammer .

saya akan membahas yang generate sendiri. segera masuk CMD dan masuk ke direktori rainbowcrack. ketikkan :

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

saya biasanya menggunakan perintah perintah di ata s secara berurutan. saya tidak tahu bagaimana cara menggunakan Command line nya soalnya di situsnya pun nggak bisa cara jelasinnya... keterangan di atas 

md5 = hash yang di generate.
loweralpha = charset yang digunakan (abcdefghijklmnopqrstuvwxyz).
1 = karakter tersedikit.
7 = karakter terbanyak.
selanjutnya = nggak tahu.

kalau udah selesai bikin Rainbow Table nya, tinggal ambil sebuah sampel hash yang nggak seberapa banyak (ingat... tadi bikinnya cuman buat min 1 char, max 7 chars). atau yang nggak punya, silahkan kunjungi md5generator buatan saya.

sebelum kita melakukan cracking pada password, kita perlu melakukan sorting agar tabel yang ada di dalam file raksasa tersebut menjadi rapi. perintahnya cukup mudah. tinggal lakukan pada masing masing tabel.

rsort [nama rainbow table]

kalo udah melakukan sorting... jalankan perintah ini :

rcrack [raibowtablename] [option] [hash]

rainbowtablename = isi dengan rainbow table yang udah dibuat.

option =
-h untuk cracking single hash
-l untuk cracking kumpulan hash yang ada dalam file
-f load pwdump file
-n load pwdump file

contoh :

rcrack *.rt -h b6ecbac45c48a94105a88bf44a9eaf46

hasilnya akan ditampilkan. :request

hemmm... kayaknya udah cukup sore saya membahas mengenai artikel ini... saya juga waktunya pulang nih... hehe... cukup sekian dulu... semoga bermanfaat. :bigcendol

Posting Komentar

Give Ur eXPerience about this eXPerience...

Ads