Inicio Overthewire - Bandit (0-5)
Entrada
Cancelar

Overthewire - Bandit (0-5)

Con este post se comienza una nueva serie de artículos donde se describirán los pasos a seguir en los denominados wargames de Overthewire.

Para empezar, se realizará la descripción de todos los niveles de Bandit, que según la descripción, es la mejor serie de retos para principiantes (perfecto para mi), contando además que para comenzar los retos, se debe conectar mediante SSH a los diferentes usuarios que harán las veces de niveles.

Un ejemplo, si se accede con el usuario bandit2, el reto de ese nivel es encontrar la contraseña, o bien, una forma de acceder con el usuario bandit3.

Los primeros niveles serán, en la mayoría de los casos, demasiado sencillos, pero a medida que se avance en la serie, se complica bastante.

Nivel 0

El primer nivel es mero trámite, ya que es donde se explica que se debe conectar mediante SSH a bandit.labs.overthewire.org mediante el puerto 2220, usando la palabra bandit0 tanto como usuario como contraseña.

También el enunciado de este nivel comenta que la contraseña se encuentra dentro de un fichero llamado readme que se encuentra en el directorio del usuario.

Dentro de la máquina, se listan los ficheros y directorios de la carpeta home del usuario, encontrando un fichero llamado readme, como decía el enunciado.

1
2
bandit0@bandit:~$ ls
readme

Se muestra el contenido del fichero, obteniendo la contraseña del usuario bandit1.

1
2
bandit0@bandit:~$ cat readme 
boJ9jbbUNNfktd78OOpsqOltutMc3MY1

Nivel 1

En el nivel 1, el enuncuado dice que la contraseña del usuario bandit2 se encuentra alojada en un fichero llamado “-“ en la carpeta home del usuario.

Entonces, conectado con el usuario 1 se listan los ficheros y directorios de la carpeta home, encontrando el fichero que comenta el enunciado.

1
2
3
bandit1@bandit:~$ ls -lrt
total 4
-rw-r----- 1 bandit2 bandit1 33 May  7  2020 -

Se verifica el contenido del fichero - mediante el uso de los caracteres de ejecución de Linux (./).

1
2
bandit1@bandit:~$ cat ./-
CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9

Aunque también se puede hacer mediante el uso de la virgulilla, caracter que representa el directorio home del usuario que ejecuta el comando, o bien, la ruta absoluta de dicho fichero (/home/bandit1/-)

1
2
bandit1@bandit:~$ cat ~/-
CV1DtqXWVFXTvM2F0k09SHz0YwRINYA9

Nivel 2

El enunciado de este nivel dice que la contraseña se encuentra dentro del fichero llamado “spaces in this filename” que se encuentra alojado en el directorio del usuario.

1
2
3
bandit2@bandit:~$ ls -lrt
total 4
-rw-r----- 1 bandit3 bandit2 33 May  7  2020 spaces in this filename

Para ver el contenido, se usan comillas para llamar al fichero con el comando cat, aunque también, se puede usar el caracter de escape para quitar el significado especial al espacio (spaces\ in\ this\ filename).

1
2
bandit2@bandit:~$ cat "spaces in this filename" 
UmHadQclWmgdLOKQ3YNgjWxGoRMb5luK

Nivel 3

El nivel 3 dice tener la contraseña en un directorio oculto en un directorio llamado inhere.

Se lista el contenido del directorio actual, encontrando el directorio que dice el enunciado.

1
2
3
4
5
6
7
8
bandit3@bandit:~$ ls -lrta
total 24
-rw-r--r--  1 root root  675 May 15  2017 .profile
-rw-r--r--  1 root root 3526 May 15  2017 .bashrc
-rw-r--r--  1 root root  220 May 15  2017 .bash_logout
drwxr-xr-x 41 root root 4096 May  7  2020 ..
drwxr-xr-x  3 root root 4096 May  7  2020 .
drwxr-xr-x  2 root root 4096 May  7  2020 inhere

Se listan los dicheros del directorio inhere usando el parámetro -a para mostrar los ficheros ocultos, encontrando un fichero llamado “.hidden”.

1
2
3
4
5
bandit3@bandit:~$ ls -lrta inhere/
total 12
drwxr-xr-x 3 root    root    4096 May  7  2020 ..
-rw-r----- 1 bandit4 bandit3   33 May  7  2020 .hidden
drwxr-xr-x 2 root    root    4096 May  7  2020 .

Entonces se muestra el contenido del fichero .hidden, obteniendo la contraseña del usuario bandit4.

1
2
bandit3@bandit:~$ cat inhere/.hidden 
pIwrPrtPN36QITSp3EQaw936yaFoFgAB

Nivel 4

La contraseña del usuario bandit5 se encuentra dentro del único fichero que es legible por humanos del directorio inhere.

Se mira el contenido del directorio inhere para ver que ficheros se encuentran en él.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
bandit4@bandit:~$ ls -lrta inhere/
total 48
drwxr-xr-x 3 root    root    4096 May  7  2020 ..
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file00
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file01
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file02
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file03
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file04
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file05
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file06
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file07
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file08
-rw-r----- 1 bandit5 bandit4   33 May  7  2020 -file09
drwxr-xr-x 2 root    root    4096 May  7  2020 .

Al lanzar un comando cat a uno de ellos, se puede ver que el contenido no es legible, por lo que se usa el comando file para ver cual de ellos puede ser un fichero de tipo ASCII, caracteres alfanuméricos, obteniendo el fichero -file07.

1
2
3
4
5
6
7
8
9
10
11
bandit4@bandit:~$ for file in `ls -1 inhere`; do file ~/inhere/$file; done
/home/bandit4/inhere/-file00: data
/home/bandit4/inhere/-file01: data
/home/bandit4/inhere/-file02: data
/home/bandit4/inhere/-file03: data
/home/bandit4/inhere/-file04: data
/home/bandit4/inhere/-file05: data
/home/bandit4/inhere/-file06: data
/home/bandit4/inhere/-file07: ASCII text
/home/bandit4/inhere/-file08: data
/home/bandit4/inhere/-file09: data

Se muestra el contenido del fichero usando la misma técnica que en el nivel 1, ya que el nombre empieza por un guión.

1
2
bandit4@bandit:~$ cat /home/bandit4/inhere/-file07 
koReBOKuIDDepwhWk7jZC0RTdopnAYKh

Nivel 5

El enunciado dice que el fichero que contiene la contraseña para el siguiente nivel tiene 3 características:

  • Es human-readable o legible.
  • No es un ejecutable.
  • Tiene un tamaño de 1033 bytes.

Se muestra contenido de carpeta inhere encotrando 20 directorios con sus correspondientes ficheros.

1
2
3
bandit5@bandit:~/inhere$ ls 
maybehere00  maybehere02  maybehere04  maybehere06  maybehere08  maybehere10  maybehere12  maybehere14  maybehere16  maybehere18
maybehere01  maybehere03  maybehere05  maybehere07  maybehere09  maybehere11  maybehere13  maybehere15  maybehere17  maybehere19

Se busca el fichero con las caracteristicas descritas mediante el comando find, encontrando el fichero file2.

1
2
bandit5@bandit:~$ find -type f -readable -size 1033c 
./inhere/maybehere07/.file2

Se muestra contenido con el comando cat, encontrando la contraseña del usuario bandit6.

1
2
bandit5@bandit:~$ cat ./inhere/maybehere07/.file2
DXjZPULLxYr17uwoI01bNLQbtFemEgo7
Esta entrada está licenciada bajo CC BY 4.0 por el autor.