Nivel 20-25
Nivel 21 🧾📡
🧠 En este nivel tenemos un programa que escucha conexiones en un puerto específico. Nuestra misión es enviarle un mensaje especial.
🔧 Pasos:
- Ve al directorio donde está el ejecutable:
cd /etc/bandit_pass
- Corre el binario con
nc(netcat):
./suconnect 22
Te dirá que espera una clave específica. Esa clave está en el archivo:
cat /etc/bandit_pass/bandit21
📤 Después, debes conectar al puerto correcto y enviar la contraseña.
Nivel 22 🌐🔎
Aquí necesitamos conectarnos a un servidor HTTP que solo acepta conexiones desde localhost.
🔧 Solución: usamos curl para hacer la solicitud desde dentro del servidor:
curl http://localhost:80
🧠 Si ves que responde con HTML, perfecto. Ahora, busca el endpoint secreto:
curl http://localhost:80/index.html
Inspecciona el contenido y sigue los enlaces hasta encontrar la contraseña. Usa comandos como:
curl -s http://localhost:80/secret-directory/
Nivel 23 🧩🔒
🎯 El servidor ahora espera una cookie especial. Si no la mandas, no da acceso.
🍪 ¿Cómo hacerlo?
- Accede primero para ver qué respuesta devuelve:
curl -i http://localhost:80
- Luego usa la cookie que te pide:
curl --cookie "foo=bar" http://localhost:80
Reemplaza "foo=bar" por lo que el servidor espera. Con un poco de prueba y error (o viendo pistas en el HTML), llegas a la contraseña.
Nivel 24 ⚙️🔁
Este reto nos da un binario llamado bandit24 que se comporta como un servidor esperando conexiones.
👣 Lo que tienes que hacer es:
- Crear un script que actúe como cliente y mande una contraseña:
#!/bin/bash
echo "contraseña_de_bandit23"
- Luego conecta usando netcat:
./bandit24 & # Esto lo ejecuta en segundo plano
nc localhost 30002 < script.sh
💥 Te devuelve la contraseña si todo va bien.
Nivel 25 🔂🔐
Este es el nivel final del reto Bandit 🎉
🔍 El binario bandit25 se conecta a un servidor externo remoto.
🧠 ¿El truco? Simular ese servidor externo en tu máquina y hacer que el programa se conecte a ti en vez del original.
⚙️ Pasos:
- Crear un archivo script que imprima la contraseña:
echo "contraseña_de_bandit24" > mensaje.txt
- Levanta un servidor falso:
nc -l -p 30001 < mensaje.txt
- Luego ejecuta el binario para que se conecte a ese puerto:
./bandit25 localhost 30001
🚀 Y con eso deberías obtener la contraseña del último nivel.
🎉 ¡Felicidades hacker! 🧠💻
Si llegaste hasta aquí, dominaste una tonelada de herramientas útiles de Linux y pentesting básico. Prepárate para retos aún más complejos (como Narnia, Leviathan o Krypton 🔐).