Belajar CTF

Minggu ini ada beberapa mahasiswa yang ingin belajar CTF (capture the flag).  Rencananya mereka mau coba ikut kompetisi CTF. CTF merupakan kompetisi di bidang information security. Kompetisi CTF ini sangat populer, hampir setiap event security seperti konferensi dan seminar diadakan pula lomba CTF.  Pesertanya juga bermacam-macam mulai dari para nubie sampai para profesional Security, dari anak muda sampe bapak-bapak.

Secara umum ada 3 macam format CTF, jeopardy, attack-defence dan mixed. Pada lomba CTF dengan format Jeopardy biasanya kita akan dikasih soal yang harus dikerjakakan, bila berhasil mengerjakan soal tersebut kita akan mendapatkan poin. Pemenangnya biasanya yang mendapatkan poin yang paling besar dan paling cepat mengerjakan. Soalnya bermacam-macam, ada tentang web hacking, cryptography, forensic, programming dll. Umumnya soalnya langsung praktek. Jarang banget yang teori. Sehingga membutuhkan penguasaan beberapa tools di bidang security. Format jeopardy ini cukup seru karena kita seperti seorang detektif yang lagi mencari-cari flag.

Format yang kedua adalah attack-defense. Dalam format ini peserta diharuskan membuat sebuah server. Kemudian peserta akan diadu, kita akan diminta mempertahankan sistem kita, dan menyerang komputer lawan. Peserta akan mendapat poin dari defense dan attack. Poin defense didapat dari bagaimana kita mempertahankan server kita, sementara poin attack diperoleh dari bagaimana kita bisa membobol sistem lawan.

Format terakhir adalah mix, atau campuran. Biasanya CTF tipe ini terdiri dari campuran dua format diatas, atau jenis lomba lainnya. Misalnya khusus tentang cryptography, khusus tentang reverse engineering dll.

Pada format jeopardy dibagi menjadi beberapa kategori. Untuk CTF dengan kategori Web biasanya kita akan dikasih sebuah alamat web, peserta akan diminta mencari cara untuk mendapatkan akses ke web tersebut. Terdapat berbagai macam cara, bisa dengan SQL injection, XSS injection dll. Disini kita harus mengerti tentang celah keamanan web. Untuk belajar bisa dengan menggunakan beberapa tempat latihan seperti DVWA, Badstore, Hacme, WebGoat dll. List lengkapnya bisa dilihat disini https://www.owasp.org/index.php/OWASP_Vulnerable_Web_Applications_Directory_Project

Kategori berikutnya ada crypto atau kriptografi. Disini dibutuhkan pengetahuan tentang berbagai algoritma kriptografi. Biasanya kita akan dikasi pesan rahasia yang harus dibongkar. Nah kita mengenal berbagai macam tipe enkripsi, dan pola dari masing-masing algoritma ini. Untuk belajar crypto bisa menggunakan tools seperti cryptool. Ada juga banyak materi kriptografi di khan academy pada link berikut: https://www.khanacademy.org/computing/computer-science/cryptography

Berikutnya ada kategori Forensik. Disini kita akan diberi sebuah data atau file, kemudian kita diminta mengekstrak flag dari data tersebut. Misalnya mengekstrak data dari disk image, dari memory dump dll. Ada juga terkadang kita diminta membongar pesan yang disembunyikan dengan teknik steganografi. Disini diperlukan pemahaman tentang berbagai macam format data. Beberapa tools yang bisa digunakan http://www.sweetscape.com/010editor/

Kategori lainnya reverse engineering. Disini kita dikasi sebuah file binary, kemudian kita diminta untuk melakukan reverse engineering dan mencari flag yang disembunyikan pada file tersebut. Tapi ada juga lomba yang memberi sebuah source code, kemudian kita diminta mencari flag yang disembunyikan disitu. Disini diperlukan keahlian membaca kode assembly. Bisa coba belajar disini http://www.crackmes.de/

Ada juga kategori programming. Disini biasanya kita biasanya dikasi sebuah permasalahan matematika. Untuk menyelesaikan perhitungannya kita perlu membuat sebuah script. Biasanya disini diperlukan pemahaman tentang python. Ada banyak tutorial tentang python, contohnya http://www.diveintopython.net/

Untuk mulai belajar bisa coba baca-baca dulu tentang CTF write-up. Write-up ini maksudnya solusi yang dibuat orang yang telah berhasil mengikuti CTF. Contohnya bisa dilihat di link berikut:

https://ctftime.org/writeups

http://ctf-for-beginners.blogspot.co.id/

https://github.com/ctfs/write-ups-2015

https://ctf-team.vulnhub.com/

http://rndc.or.id/wiki/index.php?title=CTF_Writeups

http://blog.rentjong.net/

Have Fun!

Beberapa materi tentang CTF

https://trailofbits.github.io/ctf/

http://captf.com/

http://resources.infosecinstitute.com/n00bs-ctf-labs-infosec-institute/

http://blog.compactbyte.com/2014/04/24/security-ctf/

https://github.com/isislab/Project-Ideas/wiki/Capture-The-Flag-Competitions

resource lainnya

http://www.amanhardikar.com/mindmaps/Practice.html

https://www.vulnhub.com/

 

 

 

Silahkan tuliskan tanggapan, kritik maupun saran