Level 0 –> Level 1

Logueamos mediante ssh:

ssh leviathan1@leviathan.labs.overthewire.org -p 2223
Password: rioGegei8m

Observamos en el directorio un fichero ejecutable llamado check, cuando lo vamos a ejecutar nos pide contraseña.

leviathan1@leviathan:~$ ./check
password:

Utilizamos ltrace, para ver las librerias dinamicas que utiliza paso a paso:

leviathan1@leviathan:~$ ltrace ./check

__libc_start_main(0x804853b, 1, 0xffffd784, 0x8048610 <unfinished …>
printf(«password: «) = 10
getchar(1, 0, 0x65766f6c, 0x646f6700password:
) = 10
getchar(1, 0, 0x65766f6c, 0x646f6700
) = 10
getchar(1, 0, 0x65766f6c, 0x646f6700
) = 10
strcmp(«\n\n\n», «sex«) = -1
puts(«Wrong password, Good Bye …»Wrong password, Good Bye …
) = 29
+++ exited (status 0) +++

Vemos como con el comando strcmp, compara que el pass sea igual a sex, por lo tanto deducimos que el password del reto es “sex».

leviathan1@leviathan:~$ ./check
password: sex

$ whoami
leviathan2

Por último, nos dirigimos al directorio de leviathan2 y imprimimos el password por pantalla:
$ cd leviathan_pass
$ cat leviathan2
ougahZi8Ta