Kembali ke Blogs
2026-04-15
7 min read
Cyber Security

Writeup CTF Hackta Camp 2026: Reverse Engineering Challenge

Deskripsi Tantangan

Pada kompetisi **Hackta Camp x Ruangguru 2026**, terdapat satu tantangan menarik kategori Reverse Engineering berjudul secure_auth. Diberikan sebuah file binary ELF 64-bit yang meminta password masukan. Jika password cocok, flag akan tercetak.

Analisis Awal dengan `file` dan `strings`

Langkah pertama adalah mengecek informasi file: bash $ file secure_auth secure_auth: ELF 64-bit LSB pie executable, x86-64, version 1 (SYSV), dynamically linked...

Menjalankan perintah strings untuk mencari hardcoded key: bash $ strings secure_auth | grep -i "flag" # Tidak membuahkan hasil langsung karena flag ter-enkripsi di memory.

Dekompilasi Menggunakan Ghidra

Setelah membuka binary di Ghidra, kita menemukan fungsi main() yang memanggil check_password(). Di dalam fungsi check_password(), terdapat operasi XOR sederhana:

c
undefined8 check_password(char *input) { int i; char key[] = "h4ckt4_c4mp_2026"; for (i = 0; input[i] != '\0'; i++) { if ((input[i] ^ 0x37) != key[i]) { return 0; // Gagal } } return 1; // Sukses }

Solusi XOR

Karena operasi XOR bersifat reversibel (A ^ B = C berarti C ^ B = A), kita dapat mendekode kunci asli dengan melakukan XOR karakter key dengan nilai hex 0x37:

python
key = "h4ckt4_c4mp_2026" flag = "".join([chr(ord(c) ^ 0x37) for c in key]) print("Flag input:", flag)

Menjalankan python script tersebut menghasilkan password asli, yang setelah diinputkan ke program langsung menghasilkan flag kompetisi!

#CTF#Ghidra#GDB#Reverse Engineering
DashboardProjectsBlogsResumeHomelabChats