OverTheWire : Bandit Level 6 – 10 (Bahasa Indonesia)

Level 6 → Level 7

The password for the next level is stored somewhere on the server and has all of the following properties:
owned by user bandit7
owned by group bandit6
33 bytes in size

Untuk mencari file dengan user dan group tertentu, serta ukuran tertentu dapat menggunakan perintah find -user [username] -group [groupname] -size [sizevalue]. Adapun untuk menghindari error karena permission denied dapat mengalihkan stderr ke /dev/null dengan perintah 2>/dev/null

bandit6@bandit:~$ find / -user bandit7 -group bandit6 -size 33c 2>/dev/null │
/var/lib/dpkg/info/bandit7.password │
bandit6@bandit:~$ cat /var/lib/dpkg/info/bandit7.password │
HKBPTKQnIay4Fw76bEy8PVxKEDQRKTzs

Level 7 → Level 8

The password for the next level is stored in the file data.txt next to the word millionth

Untuk mencari baris spesifik dengan kata atau string tertentu, dapat dengan menggunakan perintah grep. adapaun dalam praktiknya, kita harus membaca isi file data.txt dengan cat, dan melakukan piping ke perintah grep

cat data.txt  | grep millionth
millionth       cvX2JJa4CFALtqS87jk27qwqGhBM9plV

Level 8 → Level 9

The password for the next level is stored in the file data.txt and is the only line of text that occurs only once

Dari level goal diatas, bisa diketahui password adalah sebuah string pada suatu baris yang muncul tepat 1 kali. Pada level ini, diperlukan teknik piping atas beberapa perintah. Jika kita langsung mencoba membaca file data.txt dengan perintah cat, nampak akan ada beberapa string acak yang ketika diteliti string tersebut akan muncul beberapa kali.

Ide penyelesaian level ini adalah dengan mengurutkan string acak tersebut, sehingga string yang sama akan muncul berurutan, dan kita bisa menghitung berapa banyak masing-masing string tersebut. String yang hanya muncul 1x adalah password untuk user bandit9.

Untuk mengurutkan string dapat dilakukan dengan perintah sort. dan untuk menghitung tiap string dengan perintah uniq -c. Selanjutnya kita cukup menampilkan string yang muncul 1x dengan perintah grep -w 1. Dari sini mungkin ada pertanyaan, kenapa kita perlu melakukan pengurutan string terlebih dahulu?, karena perintah uniq -c ini menghitung secara sekuens / greedy, dalam artian, bila string yang sama muncul beberapa kali namun tidak berurutan, masing masing akan dihitung sebagai string yang unik, sehingga kita tidak dapat menghitung string yang unik secara keseluruhan dengan tepat jika tidak melakukan sorting terlebih dahulu

bandit8@bandit:~$ cat data.txt | sort | uniq -c | grep -w 1
1 UsvVyFSfZZWbi6wgC7dAFyFuR6jQQUhR

Level 9 → Level 10

The password for the next level is stored in the file data.txt in one of the few human-readable strings, preceded by several ‘=’ characters.

Untuk membaca karakter yang bersifat “human-readable“, kita bisa menggunakan perintah strings. Selanjutnya kombinasikan dengan perintah grep untuk melakukan filter atas output yang diingkan

bandit9@bandit:~$ strings data.txt | grep ===
========== the*2i"4
========== password
Z)========== is
&========== truKLdjsbJ5g7yyJ2X2R0o3a5HQJFuLk
bandit9@bandit:~$

Level 10 → Level 11

The password for the next level is stored in the file data.txt, which contains base64 encoded data

Untuk melakukan dekripsi sebuah string / file yang tereknripsi dengan algoritma base64, dapat menggunakan perintah base64 -d

bandit10@bandit:~$ cat data.txt
VGhlIHBhc3N3b3JkIGlzIElGdWt3S0dzRlc4TU9xM0lSRnFyeEUxaHhUTkViVVBSCg==
bandit10@bandit:~$ cat data.txt | base64 -d
The password is IFukwKGsFW8MOq3IRFqrxE1hxTNEbUPR

Terima kasih, writeup selanjutnya : OverTheWire : Bandit Level 11 – 15 (Bahasa Indonesia)

One thought on “OverTheWire : Bandit Level 6 – 10 (Bahasa Indonesia)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.