[GoogleCTF 2018 BeginnersQuest] – gatekeeper

Karena ini levelnya beginner, Mari kita mempelajari static analysis-nya sebagai langkah awal yang baik dalam Reverse Engineering

Soal ini dapat kalian download disini

pertama tama, kita coba jalankan program tersebut terlebih dahulu

dari error message yang didapatkan, ternyata program tersebut membutuhkan informasi lebih. Seperti yang di perlihatkan dalam pesan ” Usage: “, kita membutuhkan 2 argument yang harus di masukan untuk menjalankan program tersebut yang terdiri dari usename dan password.

Setelah itu mari kita coba masukan 2 argument kedalamnya, yakni kata “aku” sebagai usernamenya dan kata “kamu” sebagai passwordnya.

setelah dijalankan, ternyata username kita salah.

Nah untuk mengetahui bagaimana program ini berkerja, kali ini kita akan menggunakan IDA Pro-64bit. File Elf gatekeeper ini versinya dapat diketahui dengan:

Pada IDA Pro-64bit memiliki kemampuan untuk menghasilkan psudeocode yang hampir sama.

Pada hasil dari psudeocode ini, kita dapat mengetahui bahwa argument pertama < argv[1] > yang merupakan username seharusnya berisi “0n3_W4rM“, dan pada password seharusnya berisi “zLl1ks_d4m_T0g_I“.

Mari kita lihat kembali psudeocode tersebut. Ada sebuah operasi yang dijalankan sebelum pengecekan pada password. Dan password akan di anggap benar bila mendapatkan return True dari !strcmp(dest, “zLl1ks_d4m_T0g_I”)

maka mari kita cari tahu operasi yang dijalankan!

dari sini kita dapat mengetahui bahwa operasi ini dilakukan untuk melakukan reverse text.

Bila kita memasukan “I_g0T_m4d_sk1lLz” karena dilakukan reverse text oleh operasi tersebutm, maka ketika di compare dengan “zLl1ks_d4m_T0g_I” akan mendapatkan return True

Mari kita jalankan…

 

Dan flag nya adalah CTF{I_g0T_m4d_sk1lLz}

Leave a Reply

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