Kamis, 04 Juni 2026

Overthewire CTF Writeup Bandit Level 0-5

Analis Siber Purwakarta - Admin. OverTheWire merupakan platform Capture The Flag (CTF) yang menyediakan beragam Wargame CTF. Pada platform ini kita bisa mempelajari, dan mempraktikan keamanan siber. Salah satu wargame yang disediakan oleh OverTheWire adalah wargame Bandit. 

Secara garis besar, kita akan diajak untuk menyelesaikan tantangan level demi level yang setiap kali kita berhasil menyelesaikan sebuah level kita akan mendapatkan sebuah password yang digunakan untuk login ke level berikutnya via Secure Shell (SSH). Wargame ini tidak memiliki mekanisme penyimpanan progres, jadi diharapkan kita selalu mencatat setiap kredensial yang sudah kita peroleh untuk membuka level selanjutnya.

Bandit Level 0 s.d 1

Tujuan dari level ini, kita akan masuk melalui SSH yang dimana host yang akan kita sambungkan adalah bandit.labs.overthewire.org pada port 2220. Username yang digunakan adalah bandit0 dan passwordnya adalah bandit0. Command SSH yang digunakan adalah sebagai berikut: ssh -p 2220 bandit0@bandit.labs.overthewire.org.


Tampilan Welcome setiap kali sukses memasuki akun SSH
Sumber: Dokumentasi Penulis

Setelah kita masuk pada akun, kita harus memeriksa ada apa saja di dalam directory. Gunakan command ls maka kita akan mendapatkan file README. Buka file README tersebut dengan command cat readme maka kita akan mendapatkan kunci/kredensial untuk ke level selanjutnya.

Bandit Level 1 s.d 2

Pada level ini kita akan membuka sebuah file dengan format nama file yang hanya memiliki simbol "-". Kita akan masuk room melalui SSH dengan kredensial yang kita dapatkan pada level berikutnya. Command SSH yang digunakan adalah sebagai berikut: ssh -p 2220 bandit1@bandit.labs.overthewire.org kemudian kita masukan kredensial yang kita peroleh dan simpan sebelumnya.


Tampilan sambutan untuk level 1-2
Sumber: Dokumentasi Penulis


Kita akan memeriksa isi dari directory dengan menggunakan ls, dan mendapati sebuah file dimaksud. File tersebut bukanlah sebuah file yang memiliki nama "-" melainkan sebuah dashed filename yang berarti nama file tersebut diawali dengan tanda dash. Demirten pada situs Linux Tips (2008) menjelaskan jika karakter dash ini merupakan konvensi yang populer digunakan untuk merujuk sebuah stdin atau stdout. Maka ketika kita menginputkan simbol dash tadi dengan sebuah command, shell akan mengira jika kita akan memberikan opsi untuk command yang sudah kita inputkan Linux Tips (2008).

Banyak cara untuk membuka dashed filename ini. Penulis akan menggunakan command more yang diikuti file tadi yang kurang lebihnya seperti ini more -. Command more merupakan sebuah command yang digunakan untuk melihat konten dari sebuah textfile (GeeksforGeeks, 2025). Setelah proses tersebut berjalan, kita akan memperoleh kredensial untuk naik ke level berikutnya.

Bandit Level 2 s.d 3

Pada tingkat ini kita ditugaskan untuk membuka sebuah file yang memiliki spasi pada penamaan filenya. Untuk membuka sebuah file yang memiliki spasi, kita bisa menggunakan tanda petik ' '. Seperti biasa, kita akan masuk pada sistem menggunakan kredensial yang sudah kita peroleh menggunakan command ssh -p 2220 bandit2@bandit.labs.overthewire.org kemudian memeriksa isi direktori dengan command ls.

Kita akan mendapati file yang bernama --spaces in the filename--. Dengan menggunakan command cat ./'--spaces in the filename--', kita mendapatkan kredensial yang akan digunakan untuk level selanjutnya.

Gambar 3. Proses untuk mendapatkan kredensial pada Bandit 2-3
Sumber: Dokumentasi Penulis

Bandit 3 s.d 4

Kita ditugaskan untuk membuka sebuah file yang disembunyikan oleh sistem. Kita akan menggunakan flag -a sebagai perintah untuk menampilkan semua file dan direktori, termasuk file tersembunyi. Masuk ke sistem dengan kredensial yang didapatkan sebelumnya melalui SSH dengan command ssh -p 2220 bandit3@bandit.labs.overthewire.org, kemudian gunakan ls -a untuk memeriksa semua file.

Nama file tersebut adalah ...Hiding-From-You. Untuk membuka filenya, kita gunakan command cat ...Hiding-From-You maka kita akan langsung mendapatkan kredensial level selanjutnya.

Gambar 4. Proses untuk mendapatkan kredensial pada Bandit 3-4
Sumber: Dokumentasi Penulis

Bandit 4 s.d 5

Tugas dari level ini kita diberikan satu folder yang terdiri dari sembilan dashed filename dengan format extensi yang berbeda-beda. Kita masuk pada sistem dengan command ssh -p 2220 bandit4@bandit.labs.overthewire.org dengan kredensial yang sudah didapatkan sebelumnya.

Dengan menggunakan ls kita memperoleh folder tersebut yang bernama inhere. Untuk memeriksa isi folder tersebut gunakan flag -a pada command ls kita, seperti ls -a. Kita juga bisa memeriksa apa saja jenis-jenis file tersebut menggunakan command file -- *

File yang bernama --file 007 diketahui sebagai file yang hanya berformat ASCII Text, artinya kredensial untuk level selanjutnya ada di file ini. Kita dapat membukanya dengan command cat ./-file07


Gambar 5. Proses untuk mendapatkan kredensial pada Bandit 4-5
Sumber: Dokumentasi Penulis 

Bandit 5 s.d 6

Pada level ini kita diberikan 17 folder yang harus kita periksa  dengan tujuan mencari sebuah file dengan karakteristik human-readable, memiliki size 1033 byte, dan bukan executable. Seperti yang dilakukan sebelumnya kita masuk menggunakan kredensial yang sudah kita peroleh dengan command ssh -p 2220 bandit5@bandit.labs.overthewire.org. Setelah kita masuk, kita periksa terlebih dahulu apa saja isi dari direktori tempat kita dengan command ls

Kita akan masuk pada folder inhere dengan command cd inhere dan memeriksanya dengan ls. Diketahui bahwa pada folder ini terdiri dari 17 subfolder. Dengan menggunakan flag -R untuk command ls, kita dapat mengetahui keseluruhan isi folder tanpa harus memeriksanya satu per satu.

Untuk mencari file dengan karakteristik tersebut, kita bisa menggunakan command find . -type f -size 1033c ! -executable.  Command find . bertujuan untuk memulai pencarian yang dimulai dari direktori sekarang, -type f flag yang digunakan untuk memastikan hanya file yang hendak ditemukan, -size 1033c flag yang digunakan untuk memastikan file dengan berukuran 1033 bytes, dan ! -executable memastikan file yang dicari bukanlah file executable.

Kita akan memperoleh kredensial yang kita cari berada pada folder ./maybehere07/.file. Kita akan membukanya dengan command cat ./maybehere07/.file

Gambar 6. Proses untuk mendapatkan kredensial pada Bandit 5-6
Sumber: Dokumentasi Penulis

Kesimpulan

Kunci utama dalam menyelesaikan wargame ini adalah konsistensi dalam mendokumentasikan setiap kredensial yang diperoleh agar dapat terus melaju ke tingkat berikutnya. Melalui serangkaian level ini juga, kita secara tidak langsung mempelajari bagaimana melakukan koneksi remote via SSH, mengelola file dengan nama khusus (dashed filename dan spasi), memunculkan file tersembunyi (hidden files), menyaring tipe file (ASCII text), hingga melakukan pencarian file spesifik menggunakan perintah find berdasarkan ukuran dan karakteristik tertentu. 

Referensi

Demirten. (2008, June 29). Dashed filename in Linux. Linux Tips. https://linux-tips.com/t/dashed-filename-in-linux/188

GeeksforGeeks. (2025, November 3). More command in Linux with examples. GeeksforGeeks. https://www.geeksforgeeks.org/linux-unix/more-command-in-linux-with-examples/