Pembahasan Noosc CTF 2014 - Challenge 8.2

Post ini merupakan bagian dari rangkaian pembahasan cara penyelesaian challenges ajang kompetisi Noosc CTF 2014 Election Series. Penyelesaian challenge lainnya dapat dilihat pada link berikut:

Catatan Panitia

Challenge 8.2 ini ditujukan untuk menggarisbawahi pentingnya faktor manusia dalam pengamanan informasi. Dalam kegiatan penetration testing yang sesungguhnya, informasi yang telah dilindungi oleh sistem pengamanan berlapis dan mutakhir terkadang malah mudah ditembus dengan mengeksploitasi faktor yang seringkali menjadi the weakest link in the security chain ini.

Untuk memenuhi tujuan di atas, maka kelemahan yang sengaja ditanam dalam aplikasi target di sini adalah kelemahan jenis session-fixation, dan peserta diharapkan mengeksploitasinya dengan teknik social-engineering via email. Selama proses CTF berlangsung, kami cukup terkejut ketika menyadari bahwa rupanya dari beberapa peserta yang sempat mengirimkan email ke target, cuma satu saja yang langsung secara sistematis menyerang fungsi login ke aplikasi.

Hal lain yang juga mengejutkan, rupanya dalam pelaksanaan CTF terdapat tiga peserta yang berhasil mengalahkan challenge ini tanpa melalui jalur penyelesaian resmi di atas :). Sebagai contoh, Yohanes berhasil masuk dengan memanfaatkan kesalahan aplikasi yang melakukan validasi login melalui fungsi PHP strcmp(). Kedua peserta lainnya kemungkinan besar juga menggunakan cara yang sama, karena kami tidak menemukan email dari mereka di dalam mailbox alamat email yang menjadi target social engineering.

Komentar kami terhadap kesalahan penggunaan strcmp() itu? Maklum developernya tidak biasa pakai PHP karena sudah sejak lama bahasa itu diharamkan bagi pengembangan di internal Noosc :).

Selanjutnya, mari kita bahas cara penyelesaian resmi yang memakai teknik social engineering via email untuk mengeksploitasi kelemahan session-fixation dalam aplikasi target challenge 8.2.

Skenario

Skenario ini merupakan lanjutan dari Challenge 8.1

Key yang sebelumnya Anda dapatkan ternyata dapat dipakai untuk membuka file terenkripsi yang lupa dihapus oleh tim hacker di salah satu sistem Pemilu. File tersebut berisi alamat URL ke forum tim hacker, yakni http://f0rumh4x.ctf.noosc.co.id:8080/

Challenge

Anda harus menyusup ke dalam forum tim hacker untuk mencari informasi tentang target investigasi (flag) selanjutnya.

Solusi

Halaman forum tim hacker yang dimaksud diperlihatkan pada gambar berikut.

Di halaman tersebut yang perlu diperhatikan selain form login yang mengarah ke login.php, adalah alamat email haxor@noosc.co.id, dan kalimat "Contact Us if you have interesting hacking project."

Jika kita mengirimkan email ke alamat tersebut, maka script bot di sisi server akan secara otomatis menjawab dengan pesan sebagai berikut:

Jawaban di atas akan terus diberikan sampai kita mengirimkan pesan email berisi alamat URL. Jika itu kita lakukan, bot akan mengakses URL tersebut dengan perintah curl dan menjawab balik dengan pesan di bawah ini:

Perintah curl yang dijalankan bot akan selalu berisi data POST untuk parameter username dan password, dan ini dapat dengan mudah dicek dengan mengirimkan URL alamat situs yang kita kontrol, lalu menggunakan perangkat macam tcpdump atau wireshark untuk menangkap hasilnya. Bot tidak akan mengirimkan password yang sebenarnya jika URL yang diakses berbeda dengan alamat forum, tapi paling tidak kita dapat mengetahui bahwa ada data post yang dikirimkan setiap kali kita mendapat jawaban "menuju ke tkp masganbro".

Selanjutnya, yang perlu dilakukan hanyalah:

  • Membuka situs http://f0rumh4x.ctf.noosc.co.id:8080/ dengan browser;
  • Mencatat atau mengeset parameter PHPSESSID yang ditunjukkan di address bar;
  • Mengirimkan email berisi URL ke http://f0rumctf.noosc.co.id:8080/login.php?PHPSESSID=string-yang-sesuai;
  • Menunggu kurang lebih satu menit, lalu refresh browser.

Kita akan langsung otomatis masuk ke halaman admin.php sebagai berikut.

Flag adalah salah satu pasangan IP dan port di atas. Tinggal dicoba masukkan satu-persatu, hingga ketemu yang valid: 182.253.226.158:45371


Comments

Blog Categories

Blog Tags

Latest Tweets

@noosc @agiant Oke baik, kita tampung dulu ya sarannya :) #NOOSC April 11, 2014, 4:52 p.m.
@noosc @ic4love Gpp, ini buat entry-level, bisa dicoba dulu. Selama sudah ada minatnya, mungkin saja cocok bisa :) April 10, 2014, 8:59 p.m.
@noosc Job Opportunity: Information Security Analyst. Right now we have an opening for entry-level position in our SOC Team http://t.co/H6mlkqW47D April 10, 2014, 2:45 p.m.
@noosc Pembahasan challenges dalam Noosc CTF 2014 sudah bisa diakses di http://t.co/7F014QoeOL ! April 8, 2014, 7:57 p.m.
@noosc Setelah melakukan proses verifikasi, kami dari Noosc Global mengucapkan selamat kepada janglapuk (abijafar) sebagai pemenang Noosc CTF 2014! April 8, 2014, 6:04 p.m.