Tantangan dalam CTF dapat mencakup berbagai aspek keamanan siber, seperti pemecahan kriptografi, analisis forensik, eksploitasi celah keamanan, pemeriksaan malware, dan pemecahan teka-teki yang melibatkan pemrograman atau logika. Tantangan ini dirancang untuk mereplikasi situasi keamanan dunia nyata dan menguji pengetahuan serta keterampilan peserta.
CTF: Mencari flag di file JPG yang rusak
seperti biasa karena saya tidak ada kerjaan, saya tiba" terpikir untuk menulis tentang CTF. Saya pernah menyelesaikan satu soal CTF di suatu layanan , di tantangan itu mereka memberikan tautan untuk mendownload file gambar bernama "head.jpg" dan di haruskan menemukan sebuah "flag" untuk menyelesaikan tantangan(yh memang seharusnya bgtu:v).
Karena nama dari file gambar tersebut menyebutkan kata "head", saya langsung ngeh jika ini berhubungan dengan "file signature". Mungkin kalian bertanya apa itu file signature?
File signature, juga dikenal sebagai "magic number" atau "file header," adalah serangkaian byte awal dalam sebuah file yang digunakan untuk mengidentifikasi jenis dan format file tersebut. Setiap jenis file memiliki tanda tangan unik yang membantu sistem operasi dan aplikasi perangkat lunak untuk mengenali file tersebut tanpa perlu bergantung pada ekstensi file.
Contoh file signature termasuk:
- JPEG Image: 0xFFD8FF
- PNG Image: 0x89504E47
- PDF Document: %PDF-1.
- ZIP Archive: 0x504B0304
Tanda tangan file digunakan oleh berbagai program untuk memastikan bahwa mereka membaca dan memproses file yang benar. Ini adalah cara yang lebih dapat diandalkan daripada hanya bergantung pada ekstensi file, yang dapat diubah oleh pengguna atau program jahat.
*Terimakasih untuk chatgpt:)
Setelah saya mendownload dan membuka file gambar tersebut, menunjukkan bahwa file error. Ini membuat saya semakin yakin jika signature file gambar tersebut keliru atau ada kesalahan yang membuat gambar menjadi rusak.
*file error*
Menganalisis dan mengubah signature file
Karena saya memakai Android, jadi saya menganalisis file tersebut dengan aplikasi bernama "Hex Editor". Dan benar saja saat saya cek nilai signature di bit ke-2 menunjukkan bahwa itu salah untuk file JPG
Seperti yang ada di penjelasan diatas bahwa signature untuk file gambar JPG/JPEG seharusnya adalah FF D8 FF bukan FF 00 FF.
Setelah mengetahui kesalahan ada di nilai bit ke-2 yakni '00' ,maka saya hanya perlu mengubah nilainya menjadi 'D8' .
Setelah saya rasa semua sudah benar, saya save dan setelah itu saya coba buka lagi file gambar tersebut, apakah masih error atau sudah normal.
Dan Yap ,file JPG ternyata sudah kembali normal tanpa menunjukkan eror, dan saya berhasil menemukan "flag" untuk tantangan ini, yaitu:
CTF(mksH_uDh_c3k_myh3d)
Akhir kata
sekian , terimakasih banyak untuk kalian yang sudah membaca:)
##