← Volver al listado de tecnologías
Bandit Nivel 9→10 - Strings en Archivos Binarios
Bandit Nivel 9→10 - Strings en Archivos Binarios
Objetivo
La contraseña está en data.txt entre las pocas cadenas legibles, precedida por varios caracteres =.
El Problema
data.txt es un archivo con datos binarios. Si haces cat data.txt, verás caracteres ilegibles y tu terminal podría comportarse de forma extraña.
Teoría: El Comando strings
¿Qué hace strings?
Extrae secuencias de caracteres imprimibles de archivos binarios. Es útil para:
- Encontrar texto oculto en ejecutables
- Recuperar información de archivos corruptos
- Análisis forense básico
strings archivo_binario
Opciones Útiles
| Opción | Descripción |
|---|---|
-n N | Mínimo N caracteres (default: 4) |
-a | Escanea todo el archivo |
-t x | Muestra offset en hexadecimal |
-e l | Encoding little-endian 16-bit |
strings -n 10 archivo # Solo strings de 10+ caracteres
Solución
Método 1: strings + grep
strings data.txt | grep "=="
Busca líneas que contengan == (múltiples signos igual).
Método 2: strings solo
strings data.txt
Y busca manualmente la línea con varios =.
Resultado
Verás algo como:
========== the password is XXXXXXXX
Uso de strings en Seguridad
Análisis de Ejecutables
strings /usr/bin/programa | grep -i password
strings malware.exe | grep -i "http"
Puede revelar:
- Contraseñas hardcodeadas
- URLs de servidores
- Mensajes de error
- Claves de API
Análisis Forense
strings imagen.jpg | head -50
strings documento.pdf | grep -i "author"
Los archivos multimedia a menudo contienen metadatos en texto plano.
Archivos Binarios vs Texto
| Característica | Texto | Binario |
|---|---|---|
| Contenido | Caracteres ASCII/UTF-8 | Cualquier byte (0-255) |
| Editable con | nano, vim, cat | Editores hexadecimales |
| Ejemplos | .txt, .py, .html | .exe, .jpg, .pdf |
Cómo Identificarlos
file data.txt
# data.txt: data (binario)
file /etc/passwd
# /etc/passwd: ASCII text
Caracteres de Control
Cuando haces cat a un binario, los caracteres de control pueden:
- Cambiar colores del terminal
- Hacer beeps
- Mover el cursor
- Corromper la visualización
Para resetear tu terminal:
reset
# o
tput reset
Comandos Aprendidos
| Comando | Descripción |
|---|---|
strings | Extrae texto de binarios |
strings -n N | Mínimo N caracteres |
reset | Resetea la terminal |
Conexión al Siguiente Nivel
ssh [email protected] -p 2220