Reverse Engineering

Challenge
Link

Hades Gate (350 pts)

Hades Gate (350 pts)

Solution

Diberikan file ELF, decompile dengan IDA. Mari kita lihat fungsi main_main

Dari fungsi main_main bisa diketahui bahwa executable tersebut berfungsi sebagai http server dan terdapat handler yang akan dijalankan ketika ada request dilakukan. Selanjutnya cek main_handler

ada beberapa fungsi penting yang dipanggil

  • net_http_readCookies

    • membaca cookie

  • net_textproto_MIMEHeader_Get

    • mengambil sesuatu dari header

  • regexp__ptr_Regexp_FindStringSubmatch

    • match suatu nilai dengan pattern regex

Mari kita debug untuk mengetahui semua nilainya

Kita tahu bahwa pada masing-masing fungsi akan terdapat argument yang merupakan nilai yang akan dicari, misal untuk cookies maka menjadi key untuk cookienya. Maka lihat register yang ada ketika proses melakukan hit terhadap breakpoint.

proses debug diatas dilakukan secara sequential, setelah mendapat IS_DEBUG set IS_DEBUG, komparasi nilai true, lalu lanjut mendapat info X-User-Agent set X-User-Agent lalu lanjut mendapatkan pattern regex maka isi dengan nilai yang match dengan pattern. Nilai yang ada didalam p3r1s4isystem() akan dijalankan pada fungsi main_ExecuteShellCommand, jadi disini kita bisa menjalankan command yang ada pada server. Berikut solve yang saya buat

Selanjutnya tinggal baca flag.txt

Flag: CBC2024{6b790e47e79bf9cf272090ba6a94cb1f}

Last updated