Search this site
Embedded Files
rwx4m
  • Beranda
  • Tentang
  • Project & Lab
rwx4m
  • Beranda
  • Tentang
  • Project & Lab
  • More
    • Beranda
    • Tentang
    • Project & Lab

Room Link

ORDER

We intercepted one of Cipher's messages containing their next target.They encrypted their message using a repeating-key XOR cipher.

However, they made a critical errorβ€”every message always starts with the header:

" ORDER: "

Category: Cryptography || Level: EASY

Task

Can you help void decrypt the message and determine their next target?

Here is the message we intercepted:

1c1c01041963730f31352a3a386e24356b3d32392b6f6b0d323c22243f6373

1a0d0c302d3b2b1a292a3a38282c2f222d2a112d282c31202d2d2e24352e60

Note: Saya menyelesaikan tantangan ini hanya menggunakan command Linux

Teori

Teori Singkat: XOR Cipher dengan Kunci Berulang

XOR (Exclusive OR) adalah operasi bitwise dasar yang sering digunakan dalam enkripsi sederhana. Aturannya:

A βŠ• 0 = A

A βŠ• A = 0

C βŠ• K = P (Ciphertext XOR Key = Plaintext)

C βŠ• P = K (Jika kita tahu plaintext, kita bisa mendapatkan kuncinya)

Dalam Repeating-Key XOR, kunci diulang terus menerus untuk mengenkripsi teks. Jika kita tahu sebagian plaintext (disebut crib), kita bisa mengekstrak kunci dan mendekripsi pesan.

πŸ“Œ Identifikasi Crib

Dari tantangan, kita tahu bahwa semua pesan diawali dengan header:

ORDER:

Saya mengonversi teks ini ke hex menggunakan perintah

echo -n "ORDER:" | xxd -p


Output:

4f524445523a

Berarti hex dari "ORDER:" adalah 4f 52 44 45 52 3a.

πŸ“Œ Menggunakan XOR untuk Menemukan Kunci

Ciphertext diberikan dalam hex:

1c1c01041963730f31352a3a386e24356b3d32392b6f6b0d323c22243f6373

1a0d0c302d3b2b1a292a3a38282c2f222d2a112d282c31202d2d2e24352e60

Saya perlu mengambil 6 byte pertama dari ciphertext dan XOR dengan hex plaintext "ORDER".

Mendapatkan bytes ciphertext pertama:

echo -n "1c1c0104196373" | xxd -r -p

Kemudian XOR dengan plaintext hex "ORDER:" menggunakan xxd

echo -n "1c1c0104196373" | xxd -r -p | xxd -b

echo -n "4f524445523a" | xxd -r -p | xxd -b

Sekarang, XOR masing-masing byte:

echo $(( 0x1c ^ 0x4f )) $(($(( 0x1c ^ 0x52 )))) $(($(( 0x01 ^ 0x44 )))) $(($(( 0x04 ^ 0x45 )))) $(($(( 0x19 ^ 0x52 )))) $(($(( 0x63 ^ 0x3a ))))


Output:

53 4e 45 41 4b 59

Jika dikonversi ke ASCII:

echo -n "534e45414b59" | xxd -r -p


Output:

SNEAKY

Jadi, Kunci enkripsi adalah "SNEAKY"

πŸ“ŒDekripsi Ciphertext dengan XOR

Karena key sudah diketahui maka akan dilakukan XOR dengan kunci yang berulang untuk mendekripsi ciphertext.

Konversi Ciphertext ke Binary

Gunakan xxd untuk mengonversi ciphertext ke format binary:

echo -n "1c1c01041963730f31352a3a386e24356b3d32392b6f6b0d323c22243f6373" | xxd -r -p > ciphertext.bin

Melakukan hal yang sama untuk kunci "SNEAKY" yang diulang hingga panjang ciphertext

yes "SNEAKY" | tr -d '\n' | head -c $(wc -c < ciphertext.bin) > key.bin

  • yes "SNEAKY" β†’ Mengulang kata "SNEAKY" terus menerus.Β Β 

  • tr -d '\n' β†’ Menghapus newline agar jadi satu string panjang.Β Β 

  • head -c $(wc -c < ciphertext.bin) β†’ Memotong teks agar sepanjang ciphertext.

XOR Ciphertext dengan Kunci

XOR operation dengan bash:

paste <(xxd -b ciphertext.bin | cut -d' ' -f2-7) <(xxd -b key.bin | cut -d' ' -f2-7) | awk '{printf "%c", strtonum("0b"$1) ^ strtonum("0b"$7)}'

  • xxd -b β†’ Mengubah file ke format biner.Β Β 

  • cut -d' ' -f2-7 β†’ Mengambil bagian byte yang diperlukan.Β Β 

  • paste β†’ Menggabungkan ciphertext dan kunci secara berdampingan.Β Β 

  • awk '{printf "%c", strtonum("0b"$1) ^ strtonum("0b"$7)}' β†’ XOR setiap byte lalu mengonversi ke karakter ASCII.Β 

Final Flag🎯

Ouput Pesan yang didekripsi:

ORDER: Attack at dawn. Target: THM{the_hackfinity_highschool}

Kesimpulan

  1. Repeating-key XOR rentan terhadap crib-dragging jika kita tahu sebagian plaintext.

  2. Linux memiliki tools powerful seperti xxd, awk, dan paste untuk melakukan XOR dekripsi tanpa perlu coding dalam Python.

  3. Konsep XOR Cipher sederhana: jika diketahui plaintext, kunci bisa ditemukan dan mendekripsi pesan.

  4. Teknik ini sering digunakan dalam tantangan CTF dan analisis malware (karena malware sering dienkripsi dengan XOR sederhana).

'Pendidikan adalah rangkaian pelajaran yang semakin lama malah semakin tinggi nilainya'

LinkLinkedInLinkLinkLinkLinkGitHubLinkLink
rwx4m. Personal Blog. Β© 2026
Made with ❀️ to Cyber Security
Google Sites
Report abuse
Google Sites
Report abuse