AF. Walkthrough: Bandit Level 32 to Level 33

Objetivo del Nivel

En este nivel, debemos escapar de un entorno de shell restringido, donde la mayoría de los comandos habituales están bloqueados. El objetivo es obtener acceso a una shell normal y extraer la contraseña del siguiente nivel.


Pasos para Resolver el Nivel

1. Acceder al servidor Bandit32

Conéctate al servidor usando SSH:

ssh bandit32@bandit.labs.overthewire.org -p 2220

Introduce la contraseña obtenida en el nivel anterior.


2. Explorar el Entorno Restringido

Después de iniciar sesión, notarás que el shell solo acepta comandos en mayúsculas y bloquea comandos estándar como ls, cat, man y sh. Esto indica que estamos en una "uppercase shell" que restringe la ejecución de comandos en minúsculas.

Intentar los comandos comunes devolverá errores de permiso:

>> ls
sh: 1: LS: Permission denied
>> sh
sh: 1: SH: Permission denied

Debemos encontrar una forma de ejecutar comandos en minúsculas sin ser bloqueados.


3. Escapar de la Restricción

Podemos aprovechar que la shell restringida podría permitir la ejecución de comandos mediante el uso de una variable especial. Ejecuta lo siguiente:

>> $0

Esto nos lleva a una shell normal (bash). Ahora tenemos acceso a todos los comandos sin restricciones.

Verificamos que podemos ejecutar comandos básicos:

ls -la

Esto mostrará un archivo binario llamado uppershell, que pertenece a bandit33 y tiene permisos SUID.


4. Obtener la Contraseña del Siguiente Nivel

Como ahora tenemos una shell normal, simplemente ejecutamos:

cat /etc/bandit_pass/bandit33

Esto mostrará la contraseña para el usuario bandit33:

tQdtbs5D5i2vJwkO8mEyYEyTL8izoeJ0

Conclusión

Este nivel nos enseñó a evadir restricciones impuestas en un shell limitado usando $0 para obtener acceso a una shell sin restricciones. Ahora podemos conectarnos al siguiente nivel usando:

ssh bandit33@bandit.labs.overthewire.org -p 2220

Última actualización