The power of root

Over The Wire - War Games Level 0 - 5

sex 17 abril 2015 wargame / linux / hacker / hacking / seguranca /

Olá galera, já faz algum tempo que não posto nada aqui e como estou de férias e com "tempo sobrando" resolvi distrair um pouco e brincar com aqueles 'War Games', pesquisando um pouco encontrei o Over The Wire , existem vários vídeos no youtube do Hacker GeoHot conseguindo solucionar os vários níveis do jogo.

No Over The Wire temos vários níveis de jogo, mas conforme sugerido pelo mesmo vou tentar do mais fácil, o Bandit :)

  1. Bandit
  2. Leviathan or Natas or Krypton
  3. Narnia
  4. Behemoth
  5. Utumno
  6. Maze

Conforme eu conseguir passar os níveis vou postando aqui o meu progresso mas como as minhas férias já estão acabando pode ser que demore um pouco para postar outros níveis.

O wargame Bandit é o básico do básico, é indicado pra quem está começando no mundo *unix agora, onde aprende-se a listar conteúdo de arquivos, ssh, etc.

Level 0

No primeiro nível temos que conseguir conectar por ssh no host bandit.labs.overthewire.org com o usuário e senha bandit0.

bandit-0-1

No arquivo readme temos a senha para o nível 1.

boJ9jbbUNNfktd78OOpsqOltutMc3MY1

Pronto, agora que já conseguimos a senha vamos logar agora com o usuário bandit1 e colocar a senha que acabamos de encontrar.

Level 1

bandit-1-1

Dentro do arquivo com o nome - isso mesmo o nome do arquivo é um hífen, se tentarmos listar direto com o cat vamos notar que o comando não retornar as informações do arquivo, porque arquivos que começam com hífen no unix tem que ser tratados diferente, com o comando a baixo podemos listar o conteúdo do arquivo e respectivamente a senha para o level 2.

ls -lh
cat ./-

bandit-1-2

Agora temos a seguinte senha para acessar o level 2:

CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9

Level 2

No level 2 temos apenas que listar o arquivo spaces in this filename e quem já trabalhou com o bash deve saber que para tratar os arquivos com espaços devemos usar o antes do espaço ou colocar o nome do arquivo entre "".

bandit2@melinda:~$ ll
total 24
drwxr-xr-x   2 root    root    4096 Nov 14 10:32 ./
drwxr-xr-x 167 root    root    4096 Mar 21 06:46 ../
-rw-r--r--   1 root    root     220 Apr  9  2014 .bash_logout
-rw-r--r--   1 root    root    3637 Apr  9  2014 .bashrc
-rw-r--r--   1 root    root     675 Apr  9  2014 .profile
-rw-r-----   1 bandit3 bandit2   33 Nov 14 10:32 spaces in this filename
bandit2@melinda:~$ cat spaces\ in\ this\ filename
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK
bandit2@melinda:~$ cat "spaces in this filename"
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

Agora que temos a senha vamos partir para o level 3.

Level 3

No level 3 temos que pegar a senha dentro de um arquivo oculto que está dentro do diretório inhere, para ocultar tanto diretório como arquivo bastar colocar um . na frente do nome e para listar todos os arquivos de um diretório podemos usar vários comandos, mas os mais comuns são o ll que é um atalho para o ls -lai. Após conseguirmos encontrar o arquivo chamado .hidden podemos listar o conteúdo dele com os comandos abaixo:

bandit3@melinda:~$ ll
total 24
drwxr-xr-x   3 root root 4096 Nov 14 10:32 ./
drwxr-xr-x 167 root root 4096 Mar 21 06:46 ../
-rw-r--r--   1 root root  220 Apr  9  2014 .bash_logout
-rw-r--r--   1 root root 3637 Apr  9  2014 .bashrc
-rw-r--r--   1 root root  675 Apr  9  2014 .profile
drwxr-xr-x   2 root root 4096 Nov 14 10:32 inhere/
bandit3@melinda:~$ ll inhere/
total 12
drwxr-xr-x 2 root    root    4096 Nov 14 10:32 ./
drwxr-xr-x 3 root    root    4096 Nov 14 10:32 ../
-rw-r----- 1 bandit4 bandit3   33 Nov 14 10:32 .hidden
bandit3@melinda:~$ cat inhere/.hidden
pIwrPrtPN36QITSp3EQaw936yaFoFgAB

Bora para o level 4.

Level 4

No level 4 temos que encontrar o arquivo onde encontra-se a senha em texto puro, nos outros arquivos aparenta estar cifrada, não muda nada doque fizemos até aqui:

bandit-4-1

Pode notar que a senha está dentro do arquivo -file07

koReBOKuIDDepwhWk7jZC0RTdopnAYKh

Go go go level 5.

Level 5

No level 5 temos alguns parametros para encontrar nosso arquivo com a senha dentro, na descrição está dizendo que o arquivo tem 1033 bytes e não é executável, ou seja legível. Podemos efetuar a busca de duas formas:

  1. Listando diretório por diretório com o comando ls -lai e tentando encontrar o arquivo com o tamanho de 1033 bytes

  2. Utilizando o comando find e deixando ele se encarregar de buscar em todos os diretórios. .. code-block:: bash

    bandit5@melinda:~$ find ./* -size 1033c -readable ./inhere/maybehere07/.file2 bandit5@melinda:~$ cat inhere/maybehere07/.file2 DXjZPULLxYr17uwoI01bNLQbtFemEgo7

Pronto, com isso já temos a senha para o próximo level.

Mas neste post vou ficando por aqui, logo mais volto com mais levels pra vocês.

Abraços

on the top

Comments