Writeup I(Co)MP

Hology 2.0 Final

Posted by rmn0x01 on Tuesday, October 29, 2019

Soal Forensik terakhir yang diberikan saat final Hology 2.0 sekitar satu jam sebelum lomba selesai.

Intro

File yang diberikan berupa

$ file icomp.iso 
icomp.iso: ISO 9660 CD-ROM filesystem data 'CDROM'

TLDR

  1. Mount file icomp.iso
  2. Analisis file _not_imp/capture.pca
  3. Dapatkan potongan string
  4. Caesar cipher, kemudian gabungkan
  5. Get the flag

Full Steps

File merupakan filesystem yang tidak corrupt sehingga dapat langsung dilakukan mount

$ mkdir mont
$ mount -o loop icomp.iso mont/
mount: /root/ctf/games/hology/final/foren/ico/mont: WARNING: device write-protected, mounted read-only.

List direktori dan files dari file yang telah di-mount adalah

$ tree .
.
├── music
│   ├── lofi_hip.mp3
│   ├── lofi_hip.mp4
│   └── ________.mp4
├── _not_imp
│   └── capture.pca
├── o_rly_me
│   ├── 0134yojs.png
│   ├── 0am9d54g.jpg
│   ├── 0bo6tiwq.png
│   ├── 0bwodqzz.png
│   ├── 0_tj42qm.png
│   ├── 2dxjsn8b.png
│   ├── 2gosupce.png
│   ├── 2i94r0q6.jpg
│   ├── 3n33b9ti.jpg
│   ├── 4eray631.png
│   ├── 57899685.jpg
│   ├── 5wq2il5c.png
│   ├── 606760dd.jpg
│   ├── 67edfcd4.jpg
│   ├── 69fk05db.png
│   ├── 7s9dknao.png
│   ├── 7waytk88.jpg
│   ├── 7yfq6f5m.jpg
│   ├── 93t0ge4y.png
│   ├── 9j9f409i.png
│   ├── 9jrng7ex.jpg
│   ├── bu33hug8.png
│   ├── cctdqdgh.jpg
│   ├── cihhf9_u.jpg
│   ├── cj0up_hu.jpg
│   ├── clzal9h8.png
│   ├── cmddopvx.jpg
│   ├── cndd1t0x.jpg
│   ├── co3d6_xw.jpg
│   ├── co8uv3xw.jpg
│   ├── cp6wqqdw.jpg
│   ├── cpwvvoow.jpg
│   ├── cqemzsrx.jpg
│   ├── cqtrep7g.png
│   ├── faihjt65.png
│   ├── fawrchqg.jpg
│   ├── fhgzvetg.jpg
│   ├── fkfpsjkh.png
│   ├── fyyavzuh.png
│   ├── gh8in6ib.png
│   ├── hede7w7k.png
│   ├── hyi92jlx.png
│   ├── i3r_rzzh.png
│   ├── i7gy2y2s.jpg
│   ├── ix4dn2p1.png
│   ├── j6638u57.png
│   ├── jwaujogf.jpg
│   ├── kdodwcrl.jpg
│   ├── lceoati.jpg
│   ├── mtfa94x8.png
│   ├── n32e9i08.png
│   ├── ngakak_w.png
│   ├── njxds2vz.png
│   ├── obd9qsjr.png
│   ├── od3hwsrg.jpg
│   ├── okw4hy2d.png
│   ├── oquydsz6.png
│   ├── p8vphvxr.jpg
│   ├── pg92harf.jpg
│   ├── qevqfrs5.png
│   ├── qt2sq6d4.png
│   ├── s1n03jz.png
│   ├── s8d1oirm.png
│   ├── svqff1yh.png
│   ├── ttu7zma3.jpg
│   ├── uryclcdz.png
│   ├── ust5yuxf.png
│   ├── v8hvvdfg.jpg
│   ├── wfev4lgv.png
│   ├── wn76ycse.png
│   ├── xotgimmi.png
│   ├── zpch0vlq.png
│   └── zpcqgkuy.png
├── template
│   ├── fedora_s
│   │   ├── license.txt
│   │   ├── otp
│   │   │   ├── fedor000.otp
│   │   │   ├── fedor001.otp
│   │   │   ├── fedor002.otp
│   │   │   ├── fedor003.otp
│   │   │   ├── fedor004.otp
│   │   │   ├── fedor005.otp
│   │   │   ├── fedor006.otp
│   │   │   ├── fedor007.otp
│   │   │   ├── fedor008.otp
│   │   │   ├── fedora_b.otp
│   │   │   ├── fedora_c.otp
│   │   │   ├── fedora_f.otp
│   │   │   ├── fedora_g.otp
│   │   │   ├── fedora_m.otp
│   │   │   ├── fedora_o.otp
│   │   │   ├── fedora_p.otp
│   │   │   ├── fedora_s.otp
│   │   │   └── fedora_t.otp
│   │   ├── project_.md
│   │   ├── project_.txt
│   │   └── readme.md
│   ├── license.txt
│   ├── otp
│   │   ├── aquarell.otp
│   │   ├── blue_gul.otp
│   │   ├── dark_fad.otp
│   │   ├── dark_gra.otp
│   │   ├── dark_gre.otp
│   │   ├── kanagawa.otp
│   │   ├── oschl000.otp
│   │   ├── oschl001.otp
│   │   ├── oschl002.otp
│   │   ├── oschloe_.otp
│   │   ├── purple_a.otp
│   │   ├── red_menu.otp
│   │   ├── sunflowe.otp
│   │   ├── winter_m.otp
│   │   ├── xinxi000.otp
│   │   ├── xinxi001.otp
│   │   ├── xinxi002.otp
│   │   ├── xinxi003.otp
│   │   ├── xinxi004.otp
│   │   └── xinxinli.otp
│   ├── project_.md
│   ├── project_.txt
│   └── readme.md
└── videos
    └── web_php_
        ├── oop_d000.mp4
        ├── oop_d001.mp4
        ├── oop_d002.mp4
        ├── oop_d003.mp4
        ├── oop_d004.mp4
        ├── oop_d005.mp4
        ├── oop_d006.mp4
        ├── oop_d007.mp4
        ├── oop_d008.mp4
        ├── oop_d009.mp4
        ├── oop_d00a.mp4
        ├── oop_d00b.mp4
        ├── oop_d00c.mp4
        ├── oop_d00d.mp4
        └── oop_dasa.mp4

9 directories, 138 files

Meskipun file dan direktorinya cukup banyak, fokus langsung ditujukan pada _not_imp/captture.pca karena judul soal adalah I(Co)MP yang diasumsikan berasal dari ICMP (Internet Control Message Protocol)

Dengan menggunakan Wireshark, file capture.pca dapat dianalisis Wireshark

Pada bagian Data (48 Bytes) di ICMP Protocol, terdapat dua string yang diulang-ulang setiap melakukan request dan reply

String 1

MP1ayha3kp0u MP1aYha3kp0uMP1 aYha3kp0u

String 2

jtw_3em1say4a pjtw_3em1say4a.p jtw_3em1sa

Dengan sedikit menebak, diketahui bahwa string tersebut merupakan hasil Caesar Cipher dengan n=19 sehingga cukup dilakukan decrypt dengan n yang sama. String tersebut menjadi

String 1

FI1trat3di0n FI1tRat3di0nFI1 tRat3di0n

String 2

cmp_3xf1ltr4t icmp_3xf1ltr4t.i cmp_3xf1lt

Potongan flag tersebut kemudian harus disusun agar menjadi flag yang utuh. Sempat bingung dan mengakibatkan submit flag berulang-ulang karena tidak jelas bagaimana penyusunan flag-nya, sampai di 16 menit terakhir lomba muncul Hint yang sangat penting, berisi

  1. i0n
  2. 3d

Pola flag langsung ketemu dan solved

Flag

hctf{icmp_3xf1ltr4ti0n_FI1trat3d}

References

  1. http://rumkin.com/tools/cipher/caesar.php
  2. https://medium.com/infofl00d1ng/another-shellmates-ctf-write-up-eye-see-ummm-p-e4894bb1f1ae

Rant

Total file sekitar 1 GB, yang kepake cuma 8.1 MB.

Ngerambo submit flag sampe ada 15 kali gara-gara pattern flag-nya kurang jelas, baru setelah Hint muncul bisa solved