- Level 0
- challenge
- The goal of this level is for you to log into the game using SSH. The host to which you need to connect is bandit.labs.overthewire.org, on port 2220. The username is bandit0 and the password is bandit0. Once logged in, go to the Level 1 page to find out how to beat Level 1.
- ssh -p 2220 bandit0@bandit.labs.overthewire.org
- flag: bandit0
- challenge
- Level 0 → 1
- challenge
- The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, use SSH (on port 2220) to log into that level and continue the game.
- ssh -p 2220 bandit0@bandit.labs.overthewire.org
- cmds: cat readme
- flag: NH2SXQwcBdpmTEzi3bvBHMM9H66vVXjL
- challenge
- Level 1 → 2
- challenge
- The password for the next level is stored in a file called - located in the home directory
- ssh -p 2220 bandit1@bandit.labs.overthewire.org
- cmds: cat < -
- flag: rRGizSaX8Mk1RTb1CNQoXTcYZWU6lgzi
- challenge
- Level 2 → 3
- challenge
- The password for the next level is stored in a file called spaces in this filename located in the home directory
- ssh -p 2220 bandit2@bandit.labs.overthewire.org
- cmds: cat < “spaces in this filename”
- flag: aBZ0W5EmUfAf7kHTQeOwd8bauFJ2lAiG
- challenge
- Level 3 → 4
- challenge
- The password for the next level is stored in a hidden file in the inhere directory.
- ssh -p 2220 bandit3@bandit.labs.overthewire.org
- cmds:
- cd inhere
- ls -f
- cat < .hidden
- flag: 2EW7BBsr6aMMoJ2HjW067dm8EgX26xNe
- challenge
- Level 4 → 5
- challenge
- The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “reset” command.
- ssh -p 2220 bandit4@bandit.labs.overthewire.org
- cmds:
- cd inhere
- ls -f
- file ./* (looking for “ASCII text” which is human-readable rather than data aka binary)
- cat < -file07
- flag: lrIWWI6bB37kxfiCQZqUdOIYfr6eEeqR
- challenge
- Level 5 → 6
- challenge
- The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties:
- human-readable
- 1033 bytes in size
- not executable
- ssh -p 2220 bandit5@bandit.labs.overthewire.org
- cmds
- cd inhere
- find . -type f ! -executable -size 1033c
- cat < ./maybehere07/.file2
- flag: P4L4vucdmLnm8I7Vl7jG1ApGSfjYKqJU
- challenge
- Level 6 → 7
- challenge
- 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
- The password for the next level is stored somewhere on the server and has all of the following properties:
- ssh -p 2220 bandit6@bandit.labs.overthewire.org
- cmds
- cd /
- ls
- find . -type f -user bandit7 -group bandit6 -size 33c 2>/dev/null
- cat < ./var/lib/dpkg/info/bandit7.password
- flag: z7WtoNQU2XfjmMtWA8u5rN4vzqu4v99S
- challenge
- Level 7 → 8
- challenge
- The password for the next level is stored in the file data.txt next to the word millionth
- ssh -p 2220 bandit7@bandit.labs.overthewire.org
- cmds
- man grep
- grep -F “millionth” data.txt
- flag: TESKZC0XvTetK0S9xNwm25STk5iWrBvP
- challenge
- Level 8 → 9
- challenge
- The password for the next level is stored in the file data.txt and is the only line of text that occurs only once
- ssh -p 2220 bandit8@bandit.labs.overthewire.org
- cmds
- sort data.txt | uniq -u
- flag: EN632PlfYiZbn3PhVK3XOGSlNInNE00t
- challenge
- Level 9 → 10
- challenge
- 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.
- ssh -p 2220 bandit9@bandit.labs.overthewire.org
- cmds
- strings data.txt | grep ===
- flag: G7w8LIi6J3kTb8A7j9LgrywtEUlyyp6s
- challenge
- Level 10 → 11
- challenge
- The password for the next level is stored in the file data.txt, which contains base64 encoded data
- ssh -p 2220 bandit10@bandit.labs.overthewire.org
- cmds
- cat data.txt
- echo VGhlIHBhc3N3b3JkIGlzIDZ6UGV6aUxkUjJSS05kTllGTmI2blZDS3pwaGxYSEJNCg== | base64 —decode
- base64 -d data.txt (this is faster)
- flag: 6zPeziLdR2RKNdNYFNb6nVCKzphlXHBM
- challenge
- Level 11 → 12
- challenge
- The password for the next level is stored in the file data.txt, where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions
- ssh -p 2220 bandit11@bandit.labs.overthewire.org
- cmds
- cat data.txt | tr ‘A-Za-z’ ‘N-ZA-Mn-za-m’
- alias rot13=“tr ‘A-Za-z’ ‘N-ZA-Mn-za-m‘“
- alias rot5=“tr ‘0-9’ ‘5-90-4‘“
- flag: JVNBBFSmZwKKOP0XbFXOoW8chDz5yVRv
- challenge
- Level 12 → 13
- challenge
- The password for the next level is stored in the file data.txt, which is a hexdump of a file that has been repeatedly compressed. For this level it may be useful to create a directory under /tmp in which you can work using mkdir. For example: mkdir /tmp/myname123. Then copy the datafile using cp, and rename it using mv (read the manpages!)
- ssh -p 2220 bandit12@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 13 → 14
- challenge
- x
- ssh -p 2220 bandit13@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 14 → 15
- challenge
- x
- ssh -p 2220 bandit14@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 15 → 16
- challenge
- x
- ssh -p 2220 bandit15@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 16 → 17
- challenge
- x
- ssh -p 2220 bandit16@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 17 → 18
- challenge
- x
- ssh -p 2220 bandit17@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 18 → 19
- challenge
- x
- ssh -p 2220 bandit18@bandit.labs.overthewire.org
- cmds:
- pw for next level:
- challenge
- Level 19 → 20
- challenge
- x
- ssh -p 2220 bandit19@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 20 → 21
- challenge
- x
- ssh -p 2220 bandit20@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 21 → 22
- challenge
- x
- ssh -p 2220 bandit21@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 22 → 23
- challenge
- x
- ssh -p 2220 bandit22@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 23 → 24
- challenge
- x
- ssh -p 2220 bandit23@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 24 → 25
- challenge
- x
- ssh -p 2220 bandit24@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 25 → 26
- challenge
- x
- ssh -p 2220 bandit25@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 26 → 27
- challenge
- x
- ssh -p 2220 bandit26@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 27 → 28
- challenge
- x
- ssh -p 2220 bandit27@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 28 → 29
- challenge
- x
- ssh -p 2220 bandit28@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 29 → 30
- challenge
- x
- ssh -p 2220 bandit29@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 30 → 31
- challenge
- x
- ssh -p 2220 bandit30@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 31 → 32
- challenge
- x
- ssh -p 2220 bandit31@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 32 → 33
- challenge
- x
- ssh -p 2220 bandit32@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge
- Level 33 → 34
- challenge
- x
- ssh -p 2220 bandit33@bandit.labs.overthewire.org
- cmds
- x
- flag:
- challenge