Cyber Jawara 2017 Final - echo (pwn 200)
Diberikan sebuah file elf binary 64 bit dengan nama echo
Dengan proteksi sebagai berikut
Berikut adalah hasil decompile menggunakan IDA pro
Dari hasil decompile IDA pro dipastikan binary tersebut vulnerable terhadap Buffer Overflow karena menggunakan fungsi “gets()” yang tidak memfilter panjang inputan.
Dengan asumsi bahwa ASLR pada mesin dalam keadaan ON dan binary tersebut di proteksi dengan NX bit yang tidak memungkinkan untuk eksekusi shellcode, sehingga teknik yang digunakan adalah ROP ( Return Oriented Programming).
Sebelumnya, ukuran buffer variable v4 yang menyimpan inputan user adalah 0x2710 (10000) bytes (terlihat pada bp-2710h). Dan dibutuhkan 10000 + 8 bytes untuk mengoverwrite RIP.
Karena binary tersebut dicompile dengan flag ( -static ) static binary, pembuatan gadget bisa di automasi menggunakan “ROPgadget” untuk generate ropchain.
Berikut exploit code dari ropchain yang digenerate ROPgadget dan disesuikan dengan ukuran buffer untuk overwrite RIP.
Jalankan script nya.
Setelah itu akan mendapatkan interactive shell.