Secretos dentro de un ejecutable
Una empresa te ha entregado un programa compilado, la caja fuerte, y jura que nadie puede leer sus secretos. Demuestra que se equivoca: extrae el código de servicio que quedó dentro del archivo.
Laboratorio 4 de 6 de la ruta Codificaciones y secretos. Si te atascas tienes 3 pistas, de la más vaga a la más precisa: cuestan 0, 40 y 120 XP.
Qué aprendes
Los objetivos se completan solos mientras trabajas en el terminal; cada uno vale puntos de experiencia:
- Leer el README (50 XP)
- Preguntar a file qué es cassaforte (100 XP)
- Extraer el texto legible con strings (150 XP)
Temas: codici, strings, binari.
Los comandos que usarás
El terminal es simulado y entiende unos cuarenta comandos de Linux. En este laboratorio te servirán sobre todo estos:
cat: muestra el contenido de un archivo: la forma más directa de leer configuraciones, notas y registros.file: reconoce qué tipo de archivo tienes delante (texto, ejecutable, imagen) por su contenido, no por su nombre.strings: extrae el texto legible de un archivo binario: revela contraseñas y direcciones que quedaron dentro de un programa.grep: busca las líneas que contienen una palabra, incluso en carpetas enteras con -r. Es la herramienta principal para analizar texto y registros.|: la barra vertical | encadena comandos: la salida del primero se convierte en la entrada del siguiente, y así pequeñas herramientas forman un análisis completo.
El entorno simulado
Trabajas en una shell de Linux simulada, en la carpeta personal del usuario runner: archivos y carpetas inventados, ningún objetivo en red.
La lección de defensa
Con el laboratorio resuelto, el informe explica qué falló y cómo protegerse:
Compilar un programa no lo convierte en un cajón cerrado: cualquier texto escrito dentro (contraseñas, claves de API, tokens, direcciones internas) se recupera con strings en un segundo, sin siquiera ejecutarlo. Los secretos no van ni en el código ni en los ejecutables: se leen al arrancar desde variables de entorno o un gestor de secretos, se cambian si se filtran y se buscan con herramientas de escaneo de secretos antes de publicar.
Antes y después de este laboratorio
Para abrirlo debes haber resuelto:
- Hexadecimal (Codificaciones y secretos, fácil)
- Buscar en el texto (Fundamentos de Linux, medio)
Después de este laboratorio puedes pasar a:
- El rebus final (Codificaciones y secretos, difícil)
La ruta Codificaciones y secretos
Codificaciones y secretos enseña una distinción que salva muchos datos: codificar no es cifrar. Base64, hexadecimal, ROT13 y texto en espejo cambian el aspecto de la información pero no la protegen, porque cualquiera la devuelve a texto claro sin ninguna clave. En los laboratorios reconoces estos formatos por su aspecto, los quitas capa a capa aunque estén apilados, extraes el texto legible de un programa compilado y entiendes por qué para proteger de verdad un secreto hacen falta cifrado real, hashes con sal y un gestor de secretos.