M. Bandit Level 12 → Level 13 - Walkthrough
Objetivo del Nivel
El objetivo de este nivel es encontrar la contraseña para el siguiente nivel, que está almacenada en el archivo data.txt
. Este archivo es un volcado hexadecimal (hexdump
) de un archivo que ha sido repetidamente comprimido. Debemos revertir estas transformaciones para obtener el contenido original.
Información de Conexión
Host:
bandit.labs.overthewire.org
Puerto:
2220
Usuario:
bandit12
Contraseña:
7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4
Comandos Útiles
Para resolver este nivel, puedes necesitar los siguientes comandos:
ls
- Lista archivos en un directorio.cd
- Cambia de directorio.cat
- Muestra el contenido de un archivo.xxd -r
- Reconvierte un volcado hexadecimal a su archivo original.file
- Identifica el tipo de un archivo.cp
- Copia archivos.mv
- Renombra archivos.tar
,gzip
,bzip2
,gunzip
- Descomprime archivos.mktemp -d
- Crea un directorio temporal con un nombre aleatorio.
Resolución Paso a Paso
1. Iniciar sesión en el servidor
Ejecutamos el siguiente comando en la terminal:
ssh bandit12@bandit.labs.overthewire.org -p 2220
Cuando se solicite, ingresamos la contraseña: 7x16WNeHIi5YkIhWsfFIqoognUTyj9Q4
.
2. Crear un directorio temporal en /tmp
/tmp
Para evitar problemas con permisos, creamos un directorio de trabajo en /tmp
:
mktemp -d
Salida esperada:
/tmp/tmp.xxxxxx
Accedemos al directorio generado:
cd /tmp/tmp.xxxxxx
3. Copiar y reconvertir el archivo data.txt
data.txt
Copiamos el archivo data.txt
a nuestro directorio temporal:
cp ~/data.txt .
Luego, reconvertimos el volcado hexadecimal a su archivo original:
xxd -r data.txt compress
Verificamos el tipo de archivo:
file compress
4. Extraer el contenido del archivo paso a paso
El archivo ha sido comprimido varias veces, por lo que iteramos los siguientes pasos según el tipo de archivo detectado:
a) Si es un archivo gzip
gzip
mv compress compress.gz
gunzip compress.gz
b) Si es un archivo bzip2
bzip2
mv compress compress.bz2
bzip2 -d compress.bz2
c) Si es un archivo tar
tar
tar -xf compress
d) Verificar el archivo extraído y repetir el proceso
Continuamos inspeccionando y descomprimiendo hasta obtener un archivo de texto:
file descompress.out
gunzip -c descompress.out > descompress
file descompress
tar -xf descompress
ls
file data5.bin
tar -xf data5.bin
ls
file data6.bin
bzip2 -dk data6.bin
file data6.bin.out
tar -xf data6.bin.out
ls
file data8.bin
gunzip -c data8.bin > data9
file data9
Una vez que file data9
indica que es un ASCII text
, podemos leer el contenido:
cat data9
Salida esperada:
The password is FO5dwFsc0cbaIiH0h8J2eUks2vdTDwAn
Esta es la contraseña para el siguiente nivel.
5. Acceder al Nivel 13
Usamos esta contraseña para iniciar sesión en el siguiente nivel:
ssh bandit13@bandit.labs.overthewire.org -p 2220
Cuando se solicite, ingresamos la nueva contraseña obtenida: FO5dwFsc0cbaIiH0h8J2eUks2vdTDwAn
.
Notas Adicionales
xxd -r
reconvierte un volcado hexadecimal a su archivo original.file
nos ayuda a determinar el tipo de archivo antes de descomprimirlo.mktemp -d
es útil para trabajar con archivos temporales sin modificar archivos del sistema.La descompresión debe repetirse en varias etapas hasta obtener el archivo de texto final.
¡Felicidades! Has completado el Nivel 12 y estás listo para continuar con el Nivel 13.
Última actualización