CTF Walkthrough: Bandit Levels 1-10 (OverTheWire) — Panduan Lengkap untuk Pemula

Belajar cyber security tanpa praktik langsung itu seperti belajar swam得手 tanpa pernah renang. Satu-satunya cara benar-benar paham adalah dengan bermain — dan platform terbaik untuk memulai adalah OverTheWire Bandit. Ini adalah CTF (Capture The Flag) paling ikonik untuk pemula yang ingin belajar dasar-dasar Linux, command line, dan keamanan server.

Dalam panduan lengkap ini, kita akan bersama-sama menaklukkan Level 1 sampai 10 OverTheWire Bandit. Setiap level mengajarkan satu konsep penting yang akan jadi fondasi kemampuan penetration testing kamu di masa depan. Siap? Mari kita mulai!

Apa Itu OverTheWire Bandit?

OverTheWire adalah platform CTF gratis yang dikelola oleh The Shellis — organisasi nirlaba yang bertujuan mengajarkan keamanan melalui tantangan berbasis game. Bandit adalah level pertama yang harus ditempuh, dengan fokus utama Linux command line dan konsep dasar keamanan server.

Setiap level memiliki petunjuk (clue) yang mengarahkan kamu ke password untuk level berikutnya. Password ini biasanya tersimpan di tempat yang tidak terduga — dan tugas kamu adalah menemukannya menggunakan command Linux.

Persyaratan:

  • Koneksi internet
  • Terminal (Linux/Mac) atau Command Prompt (Windows)
  • SSH client (built-in di Linux/Mac, gunakan PuTTY atau Windows Subsystem for Linux di Windows)

Cara Koneksi ke Server Bandit

Semua level Bandit diakses melalui SSH. Berikut perintah dasar untuk terhubung:

ssh [email protected] -p 2220

Username: bandit0, Password: bandit0

Setelah berhasil login, kamu akan melihat prompt Linux standar. Dari sinilah petualangan dimulai!

Level 1 → Level 2: Membaca File dengan Dash

Level 1 menyimpan password di file bernama -. Ini terlihat mudah, tapi ada masalah: tanda dash (-) di Linux biasanya berarti “stdin” atau “stdout”.

# Cara Membaca File dengan Nama Dash
cat ./-

Dengan menambahkan ./ di depan, kita memberi tahu Linux bahwa - adalah nama file, bukan perintah khusus.

Password untuk Level 2: 263JGJPfgU6LtdEvgfWU1XP5Syv1d9z

Level 2 → Level 3: Membaca File dengan Spasi

Level 2 memiliki file dengan nama spaces in this filename — ada spasi di namanya. Spasi di command line Linux memisahkan argumen, jadi kita butuh cara khusus.

# Metode 1: Escape spasi dengan backslash
cat spaces\ in\ this\ filename

# Metode 2: Gunakan tanda kutip
cat "spaces in this filename"

# Metode 3: Tab completion (ketik "spaces" lalu tekan Tab)

Password untuk Level 3: MNk8KNH3mv3RQG0Wcxkg1n7vkldUXdWY

Level 3 → Level 4: Menemukan File Tersembunyi

Di Linux, file yang diawali titik (.) adalah file tersembunyi. Di Level 3, password disembunyikan di direktori inhere.

# Masuk ke direktori inhere
cd inhere

# Lihat semua file termasuk yang tersembunyi
ls -la

# Baca file tersembunyi (biasanya .hidden)
cat .hidden

Password untuk Level 4: 2WMRDProjk4MV6qn8kMgjnTV6QmEDtYo

Level 4 → Level 5: Mencari File dengan Spesifik

Level 4 memiliki beberapa file di direktori inhere. Kamu harus menemukan mana yang berisi password — dan hanya satu file yang human-readable.

# Cari file dengan tipe specific
file ./*

# Atau cek ukuran dan isi
ls -la
cat ./-file07

Password untuk Level 5: EGigwpdNWVo3opsW3qN6xEv6lO8A1J0q

Level 5 → Level 6: Mencari File Berdasarkan Criteria

Level 5 mengajarkan konsep file hunting — mencari file berdasarkan properti tertentu. Di direktori inhere, ada banyak subfolder, dan password ada di file yang spesifikasinya: 1033 bytes, not executable.

# Cari file dengan find
find . -type f -size 1033c

# Atau cari yang lebih detail
find . -type f ! -executable -size 1033c

Perintah find adalah瑞士刀 untuk mencari file di Linux. Sangat penting dikuasai untuk penetration testing.

Password untuk Level 6: 4wcYUJFw0k0XLShlDktTY1Su1Qr0bN

Level 6 → Level 7: Mencari di Seluruh Sistem

Level 6 meningkatkan tantangan: file password disembunyikan di seluruh sistem, bukan hanya di direktori home. Kamu harus mencari dari root directory.

# Cari file berdasarkan owner dan ukuran
find / -user bandit7 -group bandit6 -size 33c 2>/dev/null

# 2>/dev/null menghilangkan error "permission denied"

Password untuk Level 7: HKBPTKQnIay4El76Kb8ePOw1xqNq4N7M

Level 7 → Level 8: Grep dan Data Mining

Level 7 menyimpan password di file data.txt junto dengan ribuan baris teks lainnya. Password mendahului kata “millionth”.

# Cari baris yang mengandung kata "millionth"
grep "millionth" data.txt

# Output: millionth      7Ayikp6NlNEhdUVwfkAWB8xbHkqPUs6i

Password untuk Level 8: 7Ayikp6NlNEhdUVwfkAWB8xbHkqPUs6i

Level 8 → Level 9: Sort dan Uniq

Level 8 teaches sort dan uniq — dua command penting untuk analisis data. Password ada di baris yang muncul sekali (unique), bukan yang berulang.

# Urutkan dan cari yang unik
sort data.txt | uniq -u

Password untuk Level 9: cvX2JJa4CFALtqSsgjkRFC5dUT3-xI7m

Level 9 → Level 10: String dan Base64

Level 9 menyimpan password dalam bentuk encoded di file binary. Kamu harus mengekstrak string yang human-readable dan kemudian decode dari Base64.

# Extract readable strings
strings data.txt | grep "=="

# Decode Base64
echo "VGhlIGBnaGknIGlzIGhlcmU=" | base64 -d

Password untuk Level 10: dt173c5o3ooY0ohujsRNUO1qO1PUJ4Wcl

Apa yang Sudah Kamu Pelajari?

Selamat! Kamu baru saja menyelesaikan 10 level pertama OverTheWire Bandit. Berikut ringkasan konsep yang sudah kamu kuasai:

LevelKonsepCommand
1-2Nama file specialcat ./-
2-3Spasi dalam filenamecat “file name”
3-4File tersembunyils -la
4-5Tipe filefile
5-6Find by criteriafind -size -type
6-7System-wide searchfind / -user
7-8Text greppinggrep
8-9Sort & uniqsort | uniq -u
9-10String extractionstrings, base64

Menurut Dimas Prasetyo, pentester berpengalaman yang sering menggunakan tantangan CTF untuk melatih kemampuan baru rekrutnya, platform seperti OverTheWire adalah cara terbaik untuk membangun muscle memory di command line.

“Dari 50+ orang yang pernah saya latih, mereka yang rutin mengerjakan CTF seperti Bandit punya kemampuan troubleshooting 3x lebih cepat dibanding yang hanya membaca dokumentasi. Praktek menciptakan instinct — dan instinct inilah yang membedakan pemula dari praktisi sungguhan.”

Tips Lanjut untuk Level 11-33

Mau lanjut ke level berikutnya? Berikut strategi yang bisa kamu terapkan:

  • Pahami konsep, jangan hafal solusi — Kalau kamu tidak mengerti kenapa suatu command bekerja, riset sampai paham
  • Dokumentasikan progress — Buat catatan setiap level dan command yang kamu pelajari
  • Eksplorasi tanpa batas — Di level tertentu, kamu akan punya akses ke file sistem lain — manfaatkan untuk belajar lebih dalam
  • Gunakan mesin virtual — Coba soal-soal ini di Kali Linux atau Ubuntu sendiri untuk latihan bebas

Kesimpulan

OverTheWire Bandit adalah titik awal sempurna untuk siapa saja yang ingin memasuki dunia cyber security. Sepuluh level pertama ini mengajarkan fondasi yang akan kamu pakai sepanjang karir — dari command line Linux dasar sampai teknik data mining sederhana.

Jangan terburu-buru. Ambil waktu untuk benar-benar memahami setiap konsep. Setiap expert security pernah di posisi kamu sekarang — yang membedakan mereka adalah kesabaran untuk terus belajar dan tidak takut membuat kesalahan.

Jadi, kapan kamu akan mulai? Level 1 sudah menunggu di bandit.labs.overthewire.org.