Kompetisi kategori ini bertujuan untuk menguji kemampuan peserta dalam menghadapi kasus keamanan sistem komputer dan jaringan yang telah disiapkan, termasuk di dalamnya keamanan data. Daya analisis dan kreativitas peserta ditantang untuk mencari kelemahan dalam suatu sistem yang telah dirancang untuk memiliki celah atau informasi tertentu yang memungkinan terjadinya peretasan pada sistem tersebut.

Ketepatan dan kecepatan peserta dalam menutupi kelemahan yang ditemukan akan menentukan seberapa kuat sistemnya bertahan dari serangan peserta lain. Kemampuan peserta dalam merancang dan mengimplementasi-kan sistem siber yang aman dengan cara melakukan proteksi data dari ujung ke ujung dan akan sangat menentukan keberhasilan dalam lomba ini..

Resource dan writeup lainnya dapat dilihat di sini

🔗 USB Forensic

Tim analis telah menangkap informasi penting yang tidak dikenali pengirimnya. pcap tersebut diambil dari sebuahperangkat input dalam PC. temukan flags nya!

Diberikan berkas packet data data hiukawat.pcapng. Selanjutnya akan dilakukan enumerasi informasi terkait statistik paket data dengan bantuan tshark. Adapun hasilnya ialah sebagai berikut

$ tshark -r hiukawat.pcap -q -z io,phs

===================================================================
Protocol Hierarchy Statistics
Filter:

frame                                    frames:420 bytes:28432
  usb                                    frames:420 bytes:28432
    text                                 frames:17 bytes:1178
      usbhub.setup.bRequest              frames:6 bytes:384
        usbhub.setup.wValue              frames:6 bytes:384
          usbhub.setup.wIndex            frames:6 bytes:384
            usbhub.setup.wLength         frames:6 bytes:384
    usbhub.status.port                   frames:3 bytes:204
      usbhub.change.port                 frames:3 bytes:204
    usb.capdata                          frames:198 bytes:14120
    usb.setup.wStatus                    frames:1 bytes:66
===================================================================

$ tshark -r hiukawat.pcap -Y usb.idVendor -Tfields -e usb.device_address -e usb.idProduct
6       0x00001665
5       0x00000f99
3       0x0000b006
2       0x0000b50d
1       0x00000002

Berdasarkan statistik di atas, terlihat bahwa terdapat USB packet.frame dari lima buah device yang berbeda. Guna mempercepat pencarian, akan dilakukan analisis terhadap usb.capdata dari idProduct 0x00001665 yang merupakan keyboard device. Langsung saja, Kami lakukan proses ekstraksi usb.capdata sehingga diperoleh

$ tshark -r hiukawat.pcap -Y 'usb.capdata and usb.device_address==6' -Tfields -e usb.capdata > capdata

$ head capdata
00000a0000000000
0000000000000000
0000080000000000
0000000000000000
0000100000000000
0000000000000000
0000040000000000
0000000000000000
0000160000000000
0000000000000000

$ wc -l capdata
133 capdata

$ cut -c1-2 capdata | sort | uniq
00
02

Terdapat 133 packet.frame sepanjang 8 byte yang satisfy dengan filter. Selain itu, diketahui pula terdapat modifier bit yang digunakan. Adapun berikut ini merupakan identitas dari bit USB HID

preview-1
// usb_hid_keys.h
// https://gist.github.com/MightyPork/6da26e382a7ad91b5496ee55fdc73db2

#define KEY_MOD_LCTRL  0x01
#define KEY_MOD_LSHIFT 0x02
#define KEY_MOD_LALT   0x04
#define KEY_MOD_LMETA  0x08
#define KEY_MOD_RCTRL  0x10
#define KEY_MOD_RSHIFT 0x20
#define KEY_MOD_RALT   0x40
#define KEY_MOD_RMETA  0x80

Dari sini diketahui bahwa modifier bit 02 mengindikasikan bahwa tombol Left SHIFT ditekan bersamaan dengan key lainnya. Dengan acuan tersebut, dilakukan proses decipher dengan script berikut:

# solve.py
#!/usr/bin/env python2
from textwrap import wrap
import sys

def mapping(txt):
  dic = {
    'a' : '04', 'b' : '05', 'c' : '06', 'd' : '07', 'e' : '08',
    'f' : '09', 'g' : '0a', 'h' : '0b', 'i' : '0c', 'j' : '0d',
    'k' : '0e', 'l' : '0f', 'm' : '10', 'n' : '11', 'o' : '12',
    'p' : '13', 'q' : '14', 'r' : '15', 's' : '16', 't' : '17',
    'u' : '18', 'v' : '19', 'w' : '1a', 'x' : '1b', 'y' : '1c',
    'z' : '1d', '=' : '2e', '/' : '38', '{' : '2f', '}' : '30',
    '1' : '1e', '2' : '1f', '3' : '20', '4' : '21', '5' : '22',
    '6' : '23', '7' : '24', '8' : '25', '9' : '26', '0' : '27',
    '_' : '2d', ' ' : '2c', ':' : '33', ',' : '36', '/' : '38',
    '\n' : '58', '.' : '37'
  }
  dic = {dic[i] : i for i in dic}
  return dic.get(txt, '')

with open(sys.argv[1]) as f:
  raw  = f.read().split('\n')[:-1]
  data = [wrap(i,2)[2] for i in raw]
result = ['']
for i,j in enumerate(data):
    if raw[i][:2] == '02':
      result += mapping(j).upper()
    else:
      result += mapping(j)
print ''.join(result)

Hasilnya diperoleh flag dari hasil pemrosesan script

$ python2 solve.py capdata
gemastik12{Bel4J4r_5niFf1NG_USB_KeYBo4rd_K3ystRoke}

FLAG : gemastik12{Bel4J4r_5niFf1NG_USB_KeYBo4rd_K3ystRoke}

🔗 Bendera Nganu

temukan flags yang tersembunyi dalam gambar ini

Diberikan sebuah berkas gambar berupa BenderaNganu.png dengan penampilan sebagai berikut

preview-1

Sebagaimana steganografi pada umumnya, Kami berinisiatif untuk melakukan pengecekan terhadap hidden-layer dari RGB channel yang ada. Adapun proses ini dapat dengan mudah dilakukan dengan bantuan stegsolve.

preview-1

Hasilnya diperoleh flag dari representasi layer blue plane pada citra.

FLAG : gemastik12{bendera2013}

🔗 what flag’s p?

Salah satu kata dalam bahasa Indonesia dapat membantu perjalanan pulang anda. jim geovedi akan menuntun anda pulang menuju gambar yang anda inginkan

flag: gemastik12{jawaban}. Download file di sini

Diberikan AudioFile bernama perjalanan_pulang.wav dengan filesize yang cukup besar, yakni sebesar 33 Mb. Sebagai permulaan dilakukan analisis terhadap komposisi sample wave beserta spectogram dengan bantuan Audacity

preview-1
preview-1

Tampak terlihat bahwa tidak terdapat indikasi yang menunjukkan adanya keanehan pada AudioFile. Setelah beberapa saat memutar pikiran, sejenak kami merenungkan arti dari deskripsi yang diberikan. Dari sini, Kami berasumsi bahwa terdapat suatu wordlist atau bag of words Bahasa Indonesia yang dikelola oleh Jim Geovedi. Untuk membuktikan deduksi tersebut, dilakukan penelusuran sebagai berikut

$ googler "jim wordlist"

 1.  geovedi/indonesian-wordlist: Indonesian wordlist - GitHub
     https://github.com/geovedi/indonesian-wordlist
     Indonesian wordlist. Contribute to geovedi/indonesian-wordlist development by creating an account on GitHub.

 2.  wordlist/wordlist.txt at master · paritytech/wordlist · GitHub
     https://github.com/paritytech/wordlist/blob/master/res/wordlist.txt
     Contribute to paritytech/wordlist development by creating an account on GitHub. ... jimmy. jingle. jingling. jinx.
     jitters. jittery. job. jockey. jockstrap. jogger. jogging.

 3.  Kumpulan WordList Versi Indonesia - rIXZaldi - WordPress.com
     https://rixzaldi.wordpress.com/2017/01/02/kumpulan-wordlist-versi-indonesia/
     2 Jan 2017 ... Pengertian WordList : Wordlist adalah kumpulan kata-kata yang di kombinasikan untuk tujuan melakukan ...
     Thanks For Jim Geovedi.
..
..
 9.  Wordlist Termux - Spokane Rain Gutter
     http://spokaneraingutter.com/ia29l/u2swu.php?nkx=wordlist-termux
     Cara hack Password Wifi Wpa/Wpa2 Tanpa Wordlist Menggunakan .... tech. world list ini buatan om jim geovedi :D. The
     only thing about bruteforcing is that you ...

 10. Wordlist For Brute Force In Kali Linux - ROFAI
     http://rofai.biz/lhy9tx/7um.php?pm=wordlist-for-brute-force-in-kali-linux
     Kali Linux Revealed Mastering the Penetration Testing Distribution byRaphaëlHertzog,Jim O'Gorman,andMatiAharoni. But Kali Linux
     also has inbuilt wordlists.

Selanjutnya mengambil acuan wordlist yang diperoleh, Kami lakukan proses brute force untuk setiap word. Hal tersebut dilakukan mengingat banyaknya tipe soal lainnya yang memuat unsur brute force. Adapun proses ini dilakukan dengan beberapa thread yang menjalankan instance steghide.

$ wget https://raw.githubusercontent.com/geovedi/indonesian-wordlist/master/00-indonesian-wordlist.lst
$ cat test.txt | xargs -n 1 -I {} echo "echo {}; steghide extract -sf perjalanan_pulang.wav -p {}" > commands.txt

$ parallel -j 5 < commands.txt &> result
$ grep -aB 1 wrote result
ahimsa
wrote extracted data to "kocheng_oren.txt".

Setelah penantian yang cukup panjang, akhirnya ditemukan secercah harapan dari kemunculan kocheng_oren. Daripada semakin barbar, langsung saja dilakukan analisis sebagai berikut

$ head -1 kocheng_oren.txt
ZmZkOGZmZTAwMDEwNGE0NjQ5NDYwMDAxMDEwMDAwMDEwMDAxMDAwMGZmZGIwMDg0MDAwNjA2MDYw
$ head -1 kocheng_oren.txt | base64 -d
ffd8ffe000104a46494600010100000100010000ffdb0084000606060 

$ base64 -d  kocheng_oren.txt | xxd -r -p > result
$ file result
result: JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 1654x2339, frames 3

Hasilnya diperoleh JPEG File dengan representasi citra yang memuat serangkaian braille code. Dari sini kami menemukan strings GALIT3RU5S4MPA1D4PATFLAGNYA yang merupakan flag yang diminta

preview-1

FLAG : gemastik12{GALIT3RU5S4MPA1D4PATFLAGNYA}