Bandit
Bandit teaches Linux and shell fundamentals across 34 SSH levels, each level hands you the password to the next.
Connecting
Section titled “Connecting”Every level lives on the same host. Log in as bandit0 with the public password bandit0, solve the level to recover the next password, then log in as bandit1, and so on up the chain.
# Level 0 starting credentials (public)ssh bandit0@bandit.labs.overthewire.org -p 2220# password: bandit0Learning path
Section titled “Learning path”The arc runs from basic file handling to network services, privilege tricks, and git internals. Pick up wherever you are. each card opens the first level of that phase, and the sidebar carries you through the rest.
Files and the shell Levels 0 to 4: reading files, awkward dash and space filenames, hidden files, file type detection
Finding and filtering Levels 5 to 9: find by size and owner, grep, sort and uniq, strings on a binary
Encoding and compression Levels 10 to 12: base64, ROT13, layered gzip bzip2 and tar
Keys, sockets and TLS Levels 13 to 17: SSH private keys, raw TCP with nc, TLS with openssl, port and service discovery with nmap
Shells, setuid and cron Levels 18 to 24: bashrc tricks, setuid binaries, cron jobs, brute forcing a pin over a socket
Editor escapes and git Levels 25 to 33: more and vim escapes, git internals, the final shell
Work through every level in the sidebar.