1. Pengenalan
Link mode CTF (login dulu): DISINI
Langsung download file (py) nya: DISINI
Ok, kalau sebelumnya kita di CTF-RST itu steganography dan forensik. Kini saya akan membahas tema reverse engineering (rekayasa kode balik), yang artinya kita merekayasa suatu script agar melakukan apa yang kita mau. Hal ini wajib banget karena kalau mau jadi cyber security, ya kalian harus bisa coding kalau mau gak mau.
Jadi kini kita lebih berhadapan pada kode, di sini saya memecahkan level CTF ini dengan menganalisa script yang diberikan. Agar kalian bisa cepat memahami pembahasan ini kalian harus sudah paham akan dasar-dasar python dan beberapa library (untuk library, sebenarnya bisa kalian terawang sendiri).
2. Pemetaan algoritma dalam script
Aduh jujur kalau membahas seluruh kode dalam script nya panjang banget. Tapi saya sarankan kalian baca dan pahami algoritma dalam script ini, siapa tahu berguna kan. Kalau kalian males, coba denger lagu BLUE YUNGKAI sambil baca ini script biar berasa lagi baca kisah cinta, wkwkwk.
Jadi bayangin aja kita punya aplikasi python yang mengarahkan pada alat tentang tata letak bintang galaksi, kita disini bertujuan untuk mendapat full version nya karena script ini bersifat trial version jadi gak lengkap karena bintang galaksi yang kita cari bernama "SAG-A" atau "Sagitarius-A" itu gak ada. dan katanya kita harus di galaksi itu untuk mendapat lisensi agar mendapat full version nya. Anggap aja dia sedang berbohong (pembohong publik 😹).
saya bahas opsi "abc" nya aja deh. kalau "a" itu buat kita mengetahui tata letak bintang dan radiusnya yang berada di daftar dictionary dalam script ini. Opsi "b" itu terkunci karena kita harus full version dulu. opsi "c" untuk memasukkan kunci lisensi untuk mendapat script full version nya.
Sekilas mungkin hanya biasa saja, tapi jika lu udah baca semua source codenya dari awal sampai akhir. Pasti lu paham bahwa ternyata kata "x" delapan kali di key license yang merupakan kode unik yang harus dicari dan username "PRITCHARD" dijadiin literal biner. Karena ini akan digunakan untuk di gunakan dengan source code yang terletak di akhir source code dengan nama variable "full_version".
Di gambar ini sebenarnya yang perlu diperhatiin yang variabel full_version nya aja. Karena yang dibawahnya itu saya yang lagi decrypt variable full_version nya tapi gagal. Itulah kenapa, saya memutuskan untuk mencari kunci lisensinya.
EA, kepanjangan ya! wkwkwk. singkatnya ini program untuk mengecek input kita agar valid. Nah, si program ini menggunakan username kita yang sudah di jadikan literal binary dan di ubah ke suatu proses cryptografi dengan format sha256. Ada urutannya juga tuh, "45362718". Otomatis kita bisa pakai dong buat nyari kode uniknya.
Nah udah saya modif tuh, biar bisa print setiap urutan dan flagnya. tinggal kita run deh.
Sip kita sudah dapat full version nya, tapi ternyata bintang "SAG-A" yang kita cari gak ada di full version guys :(. Jadi mana flag nya? flagnya adalah kunci lisensi yang kita gunakan untuk mendapat full versionnya.
flag: picoCTF{1n_7h3_|<3y_of_54ef6292}
catatan: flag ini tidak terjamin benar di picoCTF nya, bisa jadi telah dirubah agar tidak sama oleh developernya.
Sekian