Depois de finalizar o Bandit do notório CTF online OverTheWire, me achei preparado para encarar os outros desafios. Pretendo, talvez, fazer write-up para os challs do Bandit, mas eles são tão simples que caberiam em uma postagem de uma única linha (a maioria deles). Logo achei melhor qualquer dia desses fazer um único grande post com a história de como passei de cada nível.
Se quiser uma descrição completa sobre os challs do Leviathan, dê uma checada nesse link. Mas, de forma resumida, o que disseram é que: para resolver os desafios não será necessário conhecimento em programacao, apenas bom senso e conhecimento sobre alguns comandos básicos *nix.
Era hora de abrir um terminal e começar.
Depois de logar com o user leviathan0 no servidor ssh leviathan.labs.overthewire.org, comecei listando o que havia no meu diretório home:
leviathan0@melinda:~$ ls -a
. .. .backup .bash_logout .bashrc .profile
Se você usasse apenas ls sem o parametro -a, passaria batido pelos arquivos .ocultos e não veria a pasta .backup, a única da lista fora da normalidade.
Já dentro de .backup temos:
leviathan0@melinda:~/.backup$ ls -alh
total 140K
drwxr-x--- 2 leviathan1 leviathan0 4.0K Oct 14 14:27 .
drwxr-xr-x 3 root root 4.0K Nov 14 2014 ..
-rw-r----- 1 leviathan1 leviathan0 131K Nov 14 2014 bookmarks.html
O arquivo bookmarks.html é um arquivo html (duh!) cheio de umas porcarias que nem li. Como ele era a única coisa que existia, a probabilidade do password para o próximo nível estar nele era grande. Daí em diante há várias opções, como por exemplo ler o arquivo inteiro na captura de algo. Mas foi mais fácil fazer assim:
leviathan0@melinda:~/.backup$ cat bookmarks.html | grep password
DTA HREF=http://leviathan.labs.overthewire.org/passwordus.html | This will be fixed later, the password for leviathan1 is T3BzLCBuYWRhIGRlIGZsYWdzIGdyYXR1aXRhcw== ADD_DATE=1155384634 LAST_CHARSET=ISO-8859-1 ID=rdf:#$2wIU71password to leviathan1/A
Esse começou bem fácil ;)
Fato irrelevante: é bem satisfatório jogar e realmente resolver os ctfs do OverTheWire porque há alguns anos atrás (talvez 2011, tô com preguiça de usar a way back machine) eu costumava logar e só apanhar tentanto resolver os challs e colocar meu nome nas páginas html que ficavam liberadas para você escrever a cada desafio resolvido.
Fato um pouco relevante: resolvi de última hora que não postaria write-up do level1 junto do level0 (mesmo o 0 sendo bem simples) só por questão de putaria organização ou preguiça de escrever. Escolha a opção que mais agradar.
tags: Leviathan OverTheWire,