AVILX
REVERSING WRITEUP · CRACKMES.ONE · 2026
really easy
Password en texto claro en .rodata — resuelto con strings
| Autor reto | ezloom |
| Plataforma | crackmes.one |
| Dificultad | 1.0 / 5.0 |
| Arquitectura | x86-64 — Unix/Linux |
| Modo | Normal Mode — Análisis estático |
| Analista | Jesús Ávila (Avilx) |
| Fecha | 07 de Septiembre 2026 |
| Portafolio | avilx.dev |
PASSWORD ENCONTRADO
REVERSING · ASSEMBLY · CRACKME · x86-64
Documentación de aprendizaje en reversing | Entorno controlado
Información del Binario
| Campo | Valor |
|---|---|
| Nombre | simp-password |
| Tipo | ELF 64-bit LSB pie executable |
| Arquitectura | x86-64 |
| Enlazado | dynamically linked |
| Stripped | not stripped |
| Stack Canary | Canary Found |
| NX | Enabled |
| PIE | PIE Enabled |
| RELRO | Full RELRO |
Nota
Este binario tiene Full RELRO y Canary, más protecciones que los anteriores. Sin embargo las mitigaciones del stack no protegen contra la exposición de secretos en texto claro en
Este binario tiene Full RELRO y Canary, más protecciones que los anteriores. Sin embargo las mitigaciones del stack no protegen contra la exposición de secretos en texto claro en
.rodata.Reconocimiento
Análisis inicial
Strings
$ strings -a ./simp-password | grep -v "^_Z\|GLIBC\|\.so\|\."
[Funciones relevantes]
strcmp
printf
scanf
puts
[Strings del programa]
Enter password:
%41s
iloveicecream
I love ice cream too!
Wrong try again.
Hallazgo
El comando
El comando
strings reveló el password iloveicecream en texto completamente claro dentro del binario. También se identificó el mensaje de éxito “I love ice cream too!” y el de fallo “Wrong try again.”. El programa usa strcmp para comparar el input con el password y %41s limita la entrada a 41 caracteres.
Hipótesis
El password es
El password es
iloveicecream. El binario lo almacena en .rodata sin ninguna ofuscación. No es necesario analizar el assembly para resolver este crackme.Ejecución inicial
$ ./simp-password
Enter password: 23
Wrong try again.
Solución
Password encontrado
iloveicecream
PASSWORD ENCONTRADO
PASSWORD ENCONTRADO
$ ./simp-password
Enter password: iloveicecream
I love ice cream too!
Hallazgo
El password
El password
iloveicecream fue verificado exitosamente. El programa respondió: “I love ice cream too!”Reflexión Final
Qué salió bien
El reconocimiento inicial con strings resolvió el crackme de inmediato. Es la primera herramienta a usar y en este caso fue suficiente.
Lecciones aprendidas
Las mitigaciones del stack como Full RELRO, Canary y PIE protegen contra ataques de corrupción de memoria, pero no protegen contra la exposición de secretos en texto claro. Un password hardcodeado en .rodata siempre es visible con strings, independientemente de las protecciones del binario.
En un binario real de producción, los secrets nunca deben estar hardcodeados. Deben cifrarse, derivarse de una clave externa, o verificarse mediante un hash.
Tiempo total
| Fase | Tiempo |
|---|---|
| Reconocimiento con strings | 3 minutos |
| Verificación | 2 minutos |
| Total | 5 minutos |