Analis Siber Purwakarta - Admin. Pada artikel kali ini, kita akan melanjutkan series, OverTheWire Bandit. Melalui tantangan ini, kita akan mendalami fungsionalitas CLI Linux (Command Line Interface). Setelah sebelumnya kita berhasil menyelesaikan Level 5 dan mengamankan kredensial baru, fokus kita kali ini adalah menuntaskan Level 6 hingga Level 11.
Bandit Level 6-7
- Dimiliki oleh user: bandit7
- Dimiliki oleh group: bandit6
- Memiliki ukuran tepat: 33 bytes
Kita masuk melalui SSH dengan kredensial sebelumnya menggunakan command ssh -p 2220 bandit6@bandit.labs.overthewire.org. Setelah itu kita bisa melakukan pencarian menggunakan command find / -user bandit7 -group bandit6 -size 33c 2>/dev/null.
Berdasarkan hasil command tersebut, diketahui bahwa kredensial yang kita cari berada di direktori /var/lib/dpkg/info/bandit7.password. Kita bisa membacanya dengan command cat /var/lib/dpkg/info/bandit7.password
Bandit Level 7-8
Setelah menyelesaikan level 6-7 sebelumnya dan mendapatkan kredensial, kita akan masuk pada level 7-8. Pada level ini, kredensial disimpan pada sebuah file yang bernama data.txt. Kita masuk menggunakan kredensial yang sudah didapatkan dengan command ssh -p 2220 bandit7@bandit.labs.overthewire.org.
Untuk menganalisa file data.txt kita bisa menggunakan command wordcount yakni wc data.txt. File data.txt memiliki setidaknya 98.567 baris, 197.133 kata, 4.184.396 byte, maka kita bisa menggunakan command grep "millionth" data.txt untuk melakukan ekstraksi kredensial level selanjutnya.
Bandit Level 8-9
Melanjutkan dari level sebelumnya, kita masuk ke Level 8–9. Pada tahap ini, fokusnya masih pada pengolahan file dan pencarian informasi penting menggunakan tools Linux yang sudah digunakan sebelumnya. Bedanya pada level ini, kita ditugaskan untuk mencari satu-satunya teks yang hanya muncul sekali.
Kita bisa mengkombinasikan dua command yang berbeda dengan operator Piping (|) di Linux. Sebagaimana dijelaskan oleh MayADevBe. (2022, January 10), Kombinasi dari dua command tersebut adalah sort dan uniq, command sort digunakan untuk mensortir atau mengurutkan data dalam suatu urutan tertentu, sedangkan uniq merupakan command untuk menyaring atau menghapus baris-baris yang serupa.
Dengan demikian, untuk mengakses kredensial tersebut kita bisa menggunakan command sort data.txt | uniq -u
Bandit Level 9-10
Kredensial untuk level 9-10 ini terdapat pada sebuah file yang bernama data.txt. Hanya saja kredensial tersebut dikaburkan dan hanya bisa diolah dengan nilai string berformat human-readable dan didahului dengan beberapa karakter '='.
Untuk memecahkan masalah ini, kita bisa menggunakan command strings data.txt | grep ===. MayADevBe. (2022, January 17) menjelaskan bahwa, command strings digunakan untuk menemukan nilai string yang berformat human-readable, kemudian dikirim melalui operator piping | yang nantinya disambungkan ke command grep untuk mencari sebuah baris yang memiliki pola ==
Bandit Level 10-11
Kredensial terdapat pada sebuah file yang bernama data.txt. Kredensial tersimpan dalam sebuah file bernama data.txt. Pada level ini, kredensial telah menerapkan sistem (character encoding), khusus pada level ini penyandian karakter yang digunakan adalah Base64.
Jika kita baca menggunakan command cat data.txt maka kita bisa melihat bahwa kredensial level selanjutnya sudah disandikan. Kita bisa menggunakan dua cara untuk melakukan decoding character ini. Pertama kita bisa menggunakan command base64 -d atau kita bisa menggunakan platform seperti CyberChef.
Untuk menggunakan command base64, caranya adalah kita salin dulu isi dari data.txt kemudian tulis command echo "masukan kredensial dari data.txt disini" | base64 -d. Command echo digunakan untuk menampilkan nilai string ke output terminal, kemudian nilai dikirim melalui operator piping | ke command base64 -d untuk melakukan decoding.
Bandit Level 11-12
Proses penyandian kredensial masih berlanjut hingga level ini, hanya saja pada level ini teknik penyandian yang digunakan adalah menggunakan algoritma enkripsi rot13. Masuk melalui ssh dengan kredensial yang sebelumnya didapatkan dengan command ssh -p 2220 bandit11@bandit.labs.overthewire.org, kemudian baca file data.txt menggunakan command cat data.txt.
Berbeda dengan level sebelumnya, kita akan menggunakan CyberChef untuk membaca file yang tersandi tersebut. Caranya adalah, pada tab Operations pilih Rot13, kemudian centang opsi rotate lower case chars, dan rotate upper case chars, setelah itu masukan nilai 13 pada nilai ammount, dan isi dari data.txt pada bagian input. Setelah proses ini dilakukan maka kita akan mendapatkan kredensial untuk level selanjutnya.
| Gambar 2. Proses dekripsi terhadap isi file data.txt yang menggunakan algoritma enkripsi ROT13. Sumber: Dokumentasi penulis |
Baca Juga
Overthewire CTF Writeup Bandit Level 0-5
Atribusi Konten
Seluruh materi dan skenario wargame dalam artikel ini merupakan hak cipta dari komunitas