Ane baru tau masalah MD5 Collision setelah ada soal CTF di ctfs.me serta di beritahu oleh bang Farisv, diajarkan oleh bang DewaMahendra dan di jelaskan oleh bang Sohai..
langsung saja
Study Kasus soal ctf di ctfs.me :
Judul soal : Authentication Key
Deskripsi : Validate with yours key :) MD5 is beatifull but something weird happen
link soal : ctfs.me/web/authentication/
Apabila kita mencoba upload dengan file login.key asli ( tanpa di edit ) akan keluar pesan seperti berikut..
Inti nya 1 hal yang ane tau mengenai soal ini, web nya akan memeriksa file .key dan md5sum dari file apabila file dan md5 sum nya sama seperti asli nya akan keluar pesan seperti diatas, tapi apabila bbrp string dalam file login.key diubah akan lolos auth nya tapi dengan syarat MD5SUM nya harus sama dengan file login.key asli nya, untuk itu lahh kita perlu mengubah bbrp string dalam file login.key asli dengan bbrp 'aturan' agar MD5SUM nya bisa sama seperti file login.key asli walau kita mengedit string file login.key tsb..
itu lahh penjabaran dari ane, maaf kalau salah :'(
Setelah membaca artikel di ilmuhacking akhir nya ane sedikit mendapat pencerahan
Ane tidak terlalu mengerti dengan rumus pergantian HEX nya, tapi yang ane pahami dari gambar di atas adalah :
( jarak pemisah )
interval hex d1 ke hex 07 adalah 20 hex
interval hex d1 ke hex f1 adalah 46 hex
interval hex d1 ke hex 72 adalah 60 hex
interval hex d1 ke hex 34 adalah 84 hex
interval hex d1 ke hex 28 adalah 110 hex
interval hex d1 ke hex ab adalah 124 hex
disini saya langsung edit menggunakan salinan asli dari login.key karena akan diubah bbrp string didalam nya.
gunakan hexeditor kesukaan kalian, disini saya menggunakan GHEX
root@kali # ghex sirius.key
Hex login.key asli
Hex sirius.key ( editan )
setelah di edit lalu save..
Cara perhitungan pergantian HEX nya yaitu ditambah 8 dan menggunakan hex 16 bit ( [0-9] [a-f] ) dan hex yang diambil adalah hex yang paling depan ( sebelah kiri )
lalu mari kita ganti hex nya sesuai dengan interval di atas
hex 68 diganti menjadi E8
cara perhitungan :
6 + 8 = E
7,8,9,a,b,c,d,e
hex 5F diganti menjadi DF
cara perhitungan :
5 + 8 = d
6,7,8,9,a,b,c,d
hex 89 diganti menjadi 09
cara perhitungan :
8 + 8 = 0
9,a,b,c,d,e,f,0
hex 7E diganti menjadi FE
cara perhitungan :
7 + 8 = f
8,9,a,b,c,d,e,f
hex F5 diganti menjadi 75
cara perhitungan :
F + 8 = 7
0,1,2,3,4,5,6,7
hex 1E diganti menjadi 9E
cara perhitungan :
1 + 8 = 9
2,3,4,5,6,7,8,9
cek md5sum nyaa
root@kali # md5sum *
166a408c697fdf8ea5e3cf36588e4646 login.key
166a408c697fdf8ea5e3cf36588e4646 sirius.key
----------------------------------------------------------------------------
Saat nya uji cobaa
buka kembali situs : https://ctfs.me/web/authentication/
lalu upload file .key yang kita edit tadi
Dan akhir nya inspeksi file .key nya lolos dan md5sum nya pun sama dengan file login.key
dan akhir nya berhasil mendapat flag
sekian tutorial yang berantakan dari saya, semoga dapat bermanfaat bagi kita semua..
Special thx to Allah swt then bang Farisv, Bang DewaMahendra, bang sohai dan semua teman2
root@localhost:~# cat something.txt Dompu Linuxer I'm Nothing Without Allah