[CSAW CTF 2017 Finals] – Rabbithole

Binary file nya :

https://github.com/isislab/CSAW-CTF-2017-Finals/raw/master/Reversing/rabbithole/rabbithole

Writeup contoh:

https://anee.me/rabbithole-csaw-ctf-2017-finals-f7d70f3726f3

logika sementara apa yang dilakukan  adalah untuk melakukan  atau menemukan flag yang ada didalem sebuah binary tree(root, nodes) maka kita harus menemukan apa isi dari V15. Di dalam binary yang ada di rabbit hole oleh Karena itu dibuatlah scrypt brute force sesuai dengan variable yang diketahui flag berada di dalem root nodes, cara yang dilakukan disini adalah dengan melihat program flow menggunakkan IDA dan juga membuat gdb scrpyt yang digunakan untuk melakukan pengecekan char yang nantinya akan dilakukan terus sampai flagnya tercetak semua. Command contoh adalah

sebelumnya dia membuat scrypt pythonnya dulu

terus di execute di gdb

gdb –x ./rabbithole.py

Berikut pernjelasannya pertama decompile file binary dengan IDA

Ini yang pertama sebenernya yang paling perlu diperhatikan adalah pas di check value nya.

Nah sekarang masuk ke dalam fungsi check valuenya

Nah sebenernya program ini melakukan pengecekan berulang pada string yang berukuran char

Pseudo code

Program ini menjalankan pengecekan dan validasi yang berulang dan flag tersebut berada di dalam binary tree. Jadi untuk melihat apa isi dari si v15 jadi pertama sesudah mengetahui bentuk program sekarang kita mencari alamat saat melempar variable ke dalam function check value untuk melakukan break point

Disini kita akan mengambil 0x0..005620b why ? karena disini adalah proses pemanggilan variable yang akan di proses di function check_value

Lalu kita akan membuat scrypt dari python yang berfungsi untuk mengbruteforce setiap char.

 

code ini akan melakukan brute dari huruf, angka maupun symbol namun disini telah ditetapkan bahwa flag mempunyai unsur “_”.

Lalu jalankan code ini dengan gdb dengan command

gdb –x ./rabbithole_gdb.py

Ini flagnya contoh proses

flag{b3g1n_47_7h3_b3g1nn1ng_4nd_g0_0n_t1ll_y0u_h1t_th3_3nd}

Leave a Reply

Your email address will not be published. Required fields are marked *