StegoRSA : picoCTF Crypto Challenge (Easy)

StegoRSA : picoCTF Crypto Challenge (Easy)

StegoRSA : picoCTF Crypto Challenge (Easy)

Challenge Overview

Informasi Detail
Event picoCTF
Challenge StegoRSA
Kategori Cryptography
Tools file, xxd, openssl

Deskripsi Challenge:

A message has been encrypted using RSA. The public key is gone… but someone might have been careless with the private key. Can you recover it and decrypt the message?


Flag: picoCTF{rs4_k3y_1n_1mg_ce170c3d}


Pendahuluan

Soal ini kasih dua file: image.jpg dan flag.enc. Nggak ada public key sama sekali, cuma gambar dan ciphertext. Judulnya sendiri, "StegoRSA", udah kasih clue kalau ini gabungan steganografi (nyembunyiin data di file lain) sama RSA. Dua hint yang dikasih makin nunjukin arahnya jelas:

  1. Metadata can tell you more than you expect.
  2. Hex can be turned back into a key file.

Artinya kita perlu curiga ke metadata gambar, bukan isi pixel-nya.


Mengenal Konsep: Menyembunyikan Data di Metadata JPEG

File JPEG punya struktur segment, dan salah satu segmen yang jarang dipakai orang awam adalah COM (Comment). Segmen ini seharusnya cuma buat catatan bebas, tapi karena isinya bisa berupa string sepanjang apapun, banyak challenge steganografi menyisipkan data sensitif di situ, misalnya private key yang di-encode ke hex biar tetap valid sebagai string.

Kalau private key RSA (format PEM, yang biasanya diawali -----BEGIN PRIVATE KEY-----) bocor ke tangan yang salah, ciphertext yang tadinya "aman" karena RSA jadi bisa didekripsi langsung tanpa perlu factoring N sama sekali. Itulah inti dari soal ini: private key-nya nggak dicuri lewat serangan matematis, tapi cuma "ketinggalan" di metadata gambar.


Penyelesaian Challenge

Langkah 1: Cek Tipe File

Download image.jpg dan flag.enc, lalu cek dengan file:

file image.jpg flag.enc

Hasilnya:

image.png

image.png

image.jpg: JPEG image data, JFIF standard 1.01, ..., comment: "2d2d2d2d2d424547494e2050524956415445204b45592d2d2d2d2d0a...", baseline, precision 8, 512x512, components 3
flag.enc:  data

Langsung kelihatan ada field comment di JPEG yang isinya string hex panjang banget. Ini yang dicurigai sebagai private key yang di-hex-encode.


Langkah 2: Ekstrak Comment dan Decode Hex

Comment yang ditampilkan file biasanya kepotong, jadi comment lengkap perlu diambil langsung dari struktur file JPEG (segmen 0xFFFE). Setelah didapat comment penuhnya, tinggal di-decode dari hex ke teks biasa:

echo "<hex_comment>" | xxd -r -p > private_key.pem

Hasil decode-nya berupa file PEM yang valid:

-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC...
...
-----END PRIVATE KEY-----

image.png

Ini konfirmasi dugaan di awal, private key RSA memang disembunyikan di comment field-nya image.jpg.


Langkah 3: Dekripsi flag.enc dengan Private Key

Setelah private key-nya didapat, tinggal pakai openssl buat dekripsi flag.enc:

openssl pkeyutl -decrypt -inkey private_key.pem -in flag.enc -out flagrsa.txt
cat flagrsa.txt

Hasilnya langsung keluar flag-nya:

image.png

picoCTF{rs4_k3y_1n_1mg_ce170c3d}


Kesimpulan

Beberapa hal yang bisa diambil dari challenge StegoRSA ini:

  • Keamanan enkripsi nggak cuma soal algoritma yang dipakai, tapi juga soal bagaimana key material disimpan dan didistribusikan. RSA yang secara matematis kuat pun jadi percuma kalau private key-nya bocor lewat jalur lain.
  • Metadata file (EXIF, comment field, dsb.) sering diabaikan padahal bisa nyimpen data sensitif. Selalu cek metadata di awal saat menghadapi file yang mencurigakan.
  • Data terenkode dalam bentuk hex bisa dikenali dari polanya yang cuma terdiri dari karakter 0-9 dan a-f, dan gampang dibalikkan ke bentuk aslinya pakai xxd -r -p atau bytes.fromhex().
  • Sekali private key bocor, semua ciphertext yang dienkripsi pakai public key pasangannya otomatis nggak lagi aman, nggak peduli seberapa besar N-nya.


Flag: picoCTF{rs4_k3y_1n_1mg_ce170c3d}


Selamat mencoba challenge lainnya di PicoCTF! 🚩

Sheva Ramdhani

Sheva Ramdhani

Developer & Debugging

Information Technology student passionate about software development, cybersecurity, and emerging technologies.

Leave a Reply

Your email address will not be published. Required fields are marked *.