Bandit Nivel 24->25

Nov 6, 2024 · 1 min read

Objetivo: Un servicio está escuchando en el puerto 30002 y te dará la contraseña de bandit25 si le das la contraseña de bandit24 y un código PIN secreto de 4 dígitos. No hay forma de recuperar el código PIN excepto si se recorren las 10 000 combinaciones, lo que se denomina fuerza bruta. No necesitas crear nuevas conexiones cada vez

Nos conectamos a la máquina:

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

Vamos a echarle un vistazo al servicio:

nc localhost 30002

Vemos que nos dice que le pasemos el password de bandit 24, seguido de un espacio y luego un pincode. Que en el enunciado del ejercicio dice que va desde 0 a 9999. Y que debemos aplicar fuerza bruta. Cuando le paso el password de bandit 24 y un pin cualquiera me responde esto y se queda esperand le pases nuevamente otra petición.

Con lo cual procedemos con este formato a abarcar todas las posibilidades, nos creamos un directorio de trabajo temporal

mktemp -d
cd /tmp/tmp.I9jP7NN4Ob 

Luego hacemos una cadena con el formato anteriormente definido pass_bandit24 pincode y lo guardamos en un archivito.txt

for i in {0..9999}; do echo "gb8KRRCsshuZXI0tUuR6ypOFjiZbf3G8 $i"; done > data.txt

Luego ya con todas las combinaciones en la mano se las pasamos al servicio:

cat data.txt | nc localhost 30002

Se puede mejorar filtrando el output pero bueno ya tenemos el password.

Dando la contraseña para el siguiente nivel: iCi86ttT4KSNe1armKiwbQNmB3YJP3q4

Escríbeme por cualquiera de las vías