Um comando, uma senha (bandit0), e você está dentro de um servidor Linux de verdade que só existe para ser desvendado. Isso é o OverTheWire: um conjunto gratuito de wargames em que cada nível esconde a senha do próximo, e o único jeito de avançar é aprender a linha de comando direito.
Este guia explica o que são os wargames do OverTheWire, como se conectar ao nível 0 do Bandit, o que cada etapa do Bandit ensina, em que ordem jogar os outros jogos e como destravar sem ler spoiler. Se o terminal é novidade total para você, o curso de fundamentos do terminal Linux da HackerDNA cobre os comandos que o Bandit exige, um capítulo prático de cada vez.
Resumo: o OverTheWire é uma coleção gratuita de wargames de segurança mantida por voluntários. Comece pelo Bandit rodando ssh [email protected] -p 2220 com a senha bandit0. Os 34 níveis do Bandit (bandit0 a bandit33) ensinam o básico de Linux, e depois você escolhe um caminho: Natas para segurança web, Krypton para criptografia, ou Leviathan e Narnia rumo à exploração de binários. Guarde cada senha que encontrar: o progresso não é salvo.
O que é o OverTheWire?
O OverTheWire é um site gratuito, mantido pela comunidade, que hospeda wargames de segurança. Cada jogo é uma sequência de níveis em um servidor compartilhado: você entra por SSH (ou, no caso do jogo web Natas, abre um site), encontra a senha do próximo nível e entra de novo como o próximo usuário. Sem conta, sem cadastro, sem instalação.
Não tem placar e ninguém pega na sua mão. Cada página de nível traz um objetivo e sugere alguns comandos para estudar; o resto é com você, as páginas de manual e o terminal. É exatamente por isso que o OverTheWire aparece no topo da nossa lista de jogos de hacking que ensinam habilidades reais.
Por que wargames funcionam para aprender
Wargames dão um retorno imediato e honesto. Se a senha funciona, você entendeu o nível. Se não funciona, você testa até funcionar, em uma máquina que você tem permissão explícita para cutucar. Esse ciclo cria o hábito de que todo trabalho em segurança precisa: ler uma saída desconhecida e descobrir o que ela significa.
Como se conectar ao OverTheWire Bandit (nível 0)
O Bandit roda em bandit.labs.overthewire.org, porta SSH 2220 (e não a 22 padrão). O usuário e a senha do nível 0 são os dois bandit0:
ssh [email protected] -p 2220
- Abra um terminal. Linux e macOS já vêm com cliente SSH. No Windows 10 e 11, o cliente OpenSSH vem embutido no PowerShell e no Windows Terminal; o PuTTY também funciona.
- Rode o comando acima e digite
bandit0quando pedir a senha (nada aparece enquanto você digita, e isso é normal). - Leia o banner e depois o objetivo do próximo nível na página oficial do Bandit. A passagem do nível 0 para o 1 pede que você leia um arquivo chamado
readmeno seu diretório home. - Saia e entre como o próximo usuário com
exit(ou Ctrl+D), depoisssh [email protected] -p 2220e a senha que você acabou de encontrar. - Anote a senha. O OverTheWire não salva o progresso, e se você perder uma senha, recomeça do bandit0.
Na prática, o primeiro tropeço raramente é o desafio. É a porta: esqueça o -p 2220 e a conexão simplesmente dá timeout. Se você joga a partir de uma máquina virtual e recebe um erro "broken pipe", a solução indicada na própria página do Bandit é adicionar IPQoS throughput ao /etc/ssh/ssh_config, ou mudar o adaptador de rede da VM para o modo bridge.
ls -la, find e grep para recuperar o segredo que ele escondeu, os mesmos movimentos que os primeiros níveis do Bandit treinam.
Níveis do Bandit: o que cada etapa ensina
O Bandit tem 34 níveis jogáveis, do bandit0 ao bandit33. Chegar ao bandit33 encerra o jogo (a página do nível 34 só diz que ele ainda não existe). Os níveis se agrupam por habilidade, e saber o grupo diz quais páginas de manual abrir:
| Níveis | O que você aprende | Comandos para estudar |
|---|---|---|
| 0 | Entrar por SSH em uma porta fora do padrão | ssh -p |
| 0 a 4 | Ler arquivos chatos: um arquivo chamado -, espaços no nome, arquivos ocultos | ls -a, cat, aspas |
| 4 a 7 | Achar um arquivo pelas propriedades: legível por humanos, tamanho, dono, grupo | file, find, 2>/dev/null |
| 7 a 13 | Processamento de texto e codificações: linhas únicas, strings em dados binários, Base64, ROT13, o hexdump de um arquivo comprimido várias vezes | grep, sort, uniq, strings, base64, tr, xxd, gzip, bzip2, tar |
| 13 a 17 | Chaves SSH e redes: login com chave privada, conversar com portas locais, TLS, achar a porta certa em uma faixa | ssh -i, nc, openssl s_client, nmap |
| 17 a 21 | Comparar arquivos, um login que te expulsa, binários setuid, abrir um listener | diff, ssh com um comando, nc -l |
| 21 a 25 | Cron jobs, ler e escrever pequenos scripts shell, testar em loop um PIN de 4 dígitos | /etc/cron.d, bash |
| 25 a 27 | Escapar de um shell de login restrito | man more, man vi |
| 27 a 32 | Git: clone, histórico, branches, tags, push | git |
| 32 a 33 | Uma última fuga de shell | sh, man |
Procurando as senhas do Bandit? Você não vai encontrá-las aqui. As regras do OverTheWire pedem que quem escreve guias não publique credenciais, e as senhas mudam de tempos em tempos, então as listas vazadas costumam estar desatualizadas. Os objetivos acima e as páginas de manual bastam para resolver cada etapa.
Todos os wargames do OverTheWire na ordem recomendada
A ordem sugerida pelo próprio OverTheWire é Bandit primeiro, depois escolher um entre Natas, Krypton, Leviathan ou Narnia, e então seguir para Behemoth, Utumno e Maze. Cada jogo por SSH usa sua própria porta em <jogo>.labs.overthewire.org:
| Wargame | Foco | Como se conectar | Níveis |
|---|---|---|---|
| Bandit | Linux e fundamentos da linha de comando | SSH, porta 2220 | 0-33 |
| Natas | Segurança web do lado do servidor | Navegador: natas0.natas.labs.overthewire.org | 0-34 |
| Krypton | Criptografia clássica | SSH, porta 2231 | 0-6 |
| Leviathan | Investigar binários setuid, sem precisar programar | SSH, porta 2223 | 0-7 |
| Narnia | Introdução à exploração de binários, com código-fonte | SSH, porta 2226 | 0-9 |
| Behemoth | Buffer overflows, race conditions, escalação de privilégios | SSH, porta 2221 | 0-8 |
| Utumno | Exploração de binários mais difícil | SSH, porta 2227 | 0-8 |
| Maze | Exploração e engenharia reversa no gdb | SSH, porta 2225 | 0-9 |
| Vortex | Trilha longa e variada, de programação de sockets a exploração | SSH, porta 2228 | 0-26 |
| Manpage, Drifter, FormulaOne | Jogos especializados para depois do caminho principal | SSH, portas 2224, 2230, 2232 | varia |
Natas: segurança web
O Natas não usa SSH. Cada nível é um site em http://natasX.natas.labs.overthewire.org, e você começa com usuário e senha natas0. Os primeiros níveis são pura leitura do código-fonte da página; os seguintes cobrem robots.txt, cabeçalhos HTTP e cookies, inclusão de arquivos, injeção de comandos, SQL injection às cegas, IDs de sessão previsíveis, falhas de upload de arquivos e desserialização em PHP. Combine com o curso de ataques web da HackerDNA para a teoria por trás de cada classe de falha.
Krypton: criptografia clássica
O Krypton vai de codificações simples até criptoanálise de verdade: Base64 e ROT13, depois César, cifras de substituição quebradas por análise de frequência, Vigenère e, por fim, uma cifra fraca de chave repetida. São cifras antigas, mas o hábito de atacar a chave em vez da matemática é exatamente o que os desafios de cripto modernos testam.
Leviathan: uma ponte suave
Com nota 1/10 dada pelos autores, os oito níveis do Leviathan pedem "só um pouco de bom senso e algum conhecimento de comandos *nix básicos". Você investiga programas setuid com ferramentas como ltrace e strings, o que faz dele a porta de entrada mais tranquila para a engenharia reversa.
Narnia, Behemoth, Utumno e Maze: exploração de binários
Esta é a escada da exploração, com notas de 2/10 (Narnia) a 5/10 (Maze). O Narnia entrega o código-fonte em C de cada nível para você achar o bug e focar em buffer overflows e format strings. O Behemoth acrescenta race conditions e escalação de privilégios, o Utumno é descrito como "bem mais difícil que o Leviathan e um pouco mais difícil que o Behemoth", e o Maze espera que você praticamente more no gdb.
Vortex e os jogos especializados
O Vortex é uma trilha de 27 níveis que começa com programação de rede e sobe até a exploração. O Manpage trata de armadilhas de programação em C que dá para achar nas páginas de manual, o Drifter segue os passos do Vortex, e o FormulaOne faz você descobrir qual outro jogo hospeda o código-fonte do seu primeiro nível. Deixe esses para depois do caminho principal.
Como destravar sem spoilers
- Leia o manual primeiro.
man findresolve quase tudo dos níveis 4 a 7. Se um comando não tem página de manual, provavelmente é um comando interno do shell: tentehelp cd. - Pense em pipes. Muitos níveis caem com uma única linha encadeada, como
sort data.txt | uniq -c | sort -n. Monte-a um comando por vez e confira a saída em cada etapa. - Trabalhe em um diretório temporário privado. Os servidores são compartilhados, então crie um com
mktemp -dem vez de um nome fácil de adivinhar, e apague-o no final, como pedem as regras. - Quebre a cabeça por 30 minutos, depois pegue uma dica, não um passo a passo. Releia os comandos sugeridos para o nível ou pergunte no chat do OverTheWire, dizendo o jogo e o nível. Uma solução completa pula justamente a parte que ensina.
- Anote mais do que senhas. Uma linha por nível sobre como você o resolveu vira sua cola pessoal para todos os CTFs que vierem depois.
Na prática, os níveis que mais param iniciantes são a cadeia de descompressão do hexdump, por volta do nível 12 (rode file depois de cada etapa e renomeie de acordo), e o nível da faixa de portas, por volta do 16, em que você precisa de um scanner pela primeira vez. Os dois valem o tempo: você vai usar exatamente essas habilidades em CTFs de verdade.
OverTheWire vs PicoCTF, TryHackMe e Hack The Box
O PicoCTF é o painel de desafios gratuito da Carnegie Mellon: desafios curtos e independentes em várias categorias, mais uma competição anual. O OverTheWire é mais estreito e mais profundo, uma progressão contínua em shells reais. Os dois se complementam muito bem, e nosso guia do PicoCTF mostra por onde começar lá.
O TryHackMe guia muito mais, com salas que explicam cada conceito antes de fazer perguntas. O Hack The Box é mais próximo de um pentest real: máquinas inteiras para enumerar e comprometer, com muito menos ajuda. Nossa comparação TryHackMe vs Hack The Box detalha essa escolha.
Uma ordem sensata para a maioria dos iniciantes: Bandit para ganhar fluência na linha de comando, PicoCTF para amplitude, depois labs guiados, depois máquinas completas.
Para onde ir depois do Bandit
- Segurança web: Natas, depois aplicações web vulneráveis realistas.
- Exploração de binários: Leviathan, Narnia, Behemoth, Utumno, nessa ordem. É devagar, mas constrói habilidades raras e bem pagas em pesquisa de vulnerabilidades.
- Criptografia: Krypton, depois desafios de cripto moderna em CTFs.
- Competição: quando você conseguir resolver um nível sem dicas, encare um evento cronometrado. Nosso guia para participar da sua primeira competição CTF cobre o CTFtime, os formatos e as equipes. Professores e alunos que usavam o CyberStart antes de ele fechar encontram uma versão desse caminho pensada para a escola no nosso guia de alternativas ao CyberStart.
Perguntas frequentes
O OverTheWire é seguro?
Sim. Você se conecta aos servidores do OverTheWire com um cliente SSH padrão, e nada é instalado na sua máquina. Trate os servidores como compartilhados e públicos: nunca reutilize uma senha ou chave de verdade ali, guarde seus arquivos em um diretório criado com mktemp -d e não rode nada que você não entenda. Jogar é legal, porque os servidores existem para ser atacados.
O OverTheWire é gratuito?
Sim, totalmente. Não existe conta nem plano pago. O OverTheWire é mantido por uma comunidade de voluntários e depende de doações para manter os servidores no ar.
Quantos níveis tem o Bandit?
34 níveis jogáveis, do bandit0 ao bandit33. A página do nível 34 existe, mas diz que o nível ainda não existe, então entrar como bandit33 significa que você terminou o jogo.
Dá para jogar OverTheWire no Windows?
Dá. O Windows 10 e o 11 incluem um cliente OpenSSH, então o mesmo comando ssh [email protected] -p 2220 funciona no PowerShell ou no Windows Terminal. O WSL oferece um shell Linux completo, se você também quiser ferramentas locais.
Onde encontro as senhas do Bandit?
O OverTheWire pede aos criadores de conteúdo que não as publiquem, e elas mudam de vez em quando. O objetivo e os comandos sugeridos em cada página de nível bastam para você encontrar todas as senhas sozinho, e essa é toda a graça do jogo.
Considerações éticas e legais
O OverTheWire dá permissão para você atacar os servidores dele. Essa permissão termina nos servidores dele. As técnicas que você pratica, de achar arquivos ocultos a explorar buffer overflows, funcionam em sistemas reais também, e usá-las sem autorização é crime em praticamente todos os países.
Lembrete essencial: obtenha sempre autorização explícita por escrito antes de testar qualquer sistema. Se você esbarrar em uma vulnerabilidade real, reporte pelo programa de divulgação ou de bug bounty da organização em vez de continuar explorando.
Seus próximos passos
Os wargames do OverTheWire continuam sendo uma das melhores formas gratuitas de aprender a linha de comando do jeito que atacantes e defensores realmente a usam. Conecte-se ao nível 0 do Bandit hoje, mantenha um arquivo de anotações e mire em alguns níveis por sessão, não em uma maratona.
Quando quiser aulas estruturadas em paralelo, o curso Hacking 101 da HackerDNA explica os conceitos por trás dos níveis, e os desafios da HackerDNA colocam tudo em prática em alvos realistas, no navegador, sem VPN. Comece pelo plano gratuito da HackerDNA, sem cartão de crédito.