← Volver al listado de tecnologías

Bandit Nivel 4→5 - Identificando Tipos de Archivo

Por: SiempreListo
overthewirebanditfiletiposnivel-5

Bandit Nivel 4→5 - Identificando Tipos de Archivo

Objetivo

La contraseña está en el único archivo legible por humanos en el directorio inhere.

El Problema

Hay múltiples archivos y solo uno contiene texto legible. Los demás tienen datos binarios.

Teoría: El Comando file

¿Qué hace file?

El comando file examina el contenido de un archivo y determina su tipo, sin importar su extensión.

file archivo

Tipos Comunes

Salida de fileSignificado
ASCII textTexto plano legible
UTF-8 Unicode textTexto Unicode
dataDatos binarios
ELF 64-bit executablePrograma compilado
gzip compressed dataArchivo comprimido
JPEG image dataImagen JPEG

¿Por qué no confiar en extensiones?

En Linux, las extensiones son solo convenciones. Un archivo llamado foto.jpg podría contener texto, y documento.txt podría ser un ejecutable.

file foto.jpg        # Podría decir "ASCII text"
file documento.txt   # Podría decir "ELF executable"

Solución

Paso 1: Explorar el directorio

cd inhere
ls -la

Verás varios archivos: -file00, -file01, etc.

Paso 2: Verificar tipos de archivo

Opción A - Uno por uno:

file ./-file00
file ./-file01
# etc...

Opción B - Todos a la vez con wildcard:

file ./*

Salida:

./-file00: data
./-file01: data
./-file02: data
./-file03: data
./-file04: data
./-file05: data
./-file06: data
./-file07: ASCII text
./-file08: data
./-file09: data

Paso 3: Leer el archivo de texto

cat ./-file07

Wildcards (Comodines)

WildcardSignificadoEjemplo
*Cualquier cantidad de caracteres*.txt → todos los .txt
?Un solo carácterfile? → file1, file2, etc.
[abc]Uno de los caracteres listadosfile[01] → file0, file1
[0-9]Rango de caracteresfile[0-9] → file0 a file9
# Ejemplos
ls *.md           # Todos los archivos .md
ls file??         # Archivos como file00, file01
ls -file[0-5]     # -file0 a -file5

Comando file en Detalle

file -b archivo    # Solo tipo, sin nombre
file -i archivo    # Muestra MIME type
file -z archivo    # Examina dentro de comprimidos

Comandos Aprendidos

ComandoDescripción
fileDetermina el tipo de archivo
file *Tipo de todos los archivos
*Wildcard - cualquier caracter

Conexión al Siguiente Nivel

ssh [email protected] -p 2220