Bandit Nivel 20->21

Nov 10, 2024 · 1 min read

Objetivo: Hay un binario setuid en el directorio de inicio que hace lo siguiente: establece una conexión con el host local en el puerto que especifique como argumento de línea de comandos. Luego lee una línea de texto de la conexión y la compara con la contraseña del nivel anterior (bandit20). Si la contraseña es correcta, transmitirá la contraseña para el siguiente nivel (bandit21).

Nos conectamos a la máquina:

ssh bandit20@bandit.labs.overthewire.org -p 2220
#Password bandit20

Listamos el contenido:

ls

Efectivamente vemos el binario con SUID. ¿Que debemos hacer ? Tal cual nos indica el ejercicio, debemos establecer una conexión con la propia máquina para poder maniobrar con el binario. Lo hacemos de la siguiente manera.

Nos conectamos a la máquina nuevamente en una 2da terminal:

ssh bandit20@bandit.labs.overthewire.org -p 2220
#Password bandit20

Y en esta 2da terminal hacemos un servidor en escucha en el puerto que deseemos.

nc -l -p 1212 

Y ahí se va a quedar esperando. Luego vamos a la 1ra terminal y ejecutamos el binario especificamos el mismo puerto para establecer la conexión.

./suconnect 1212

Perfecto ahi tenemos el binario en escucha y el servidor listo para enviar la contraseña del nivel anterior. Simplemente pegamos la contraseña del nivel anterior en la 2da terminal Y al enviarla (Enter) recibimos el password del siguiente nivel.

En la primera terminal nos indica que se ha leído correctamente la cadena y matchea con el password del nivel anterior, por lo que nos envía la contraseña:

Todo general

Dando la contraseña para el siguiente nivel: EeoULMCra2q0dSkYj561DX7s1CpBuOBt

Escríbeme por cualquiera de las vías