SpookyPass
Archivo Analizado:
Nombre:
./pass
Comportamiento: Solicita una contraseña.
Herramientas Utilizadas:
ltrace
strings
radare2
Análisis con Radare2
Cargar el binario en radare2:
r2 ./pass
Ejecutar Análisis Automático:
[0x00001090]> aaaa
Salida relevante:
Análisis de importaciones (
af@@@i
)Identificación del entrypoint (
af@ entry0
)Recuperación de variables locales (
afva@@@F
)Escaneo de strings en código (
/azs
)
Funciones Identificadas:
[0x00001090]> afl
Funciones principales:
main @ 0x00001189
strcmp @ 0x00001080
fgets @ 0x00001070
printf @ 0x00001060
puts @ 0x00001030
Análisis del main
main
[0x00001090]> pdf @main
Secciones relevantes:
Mensaje de bienvenida
Se imprime "Welcome to the SPOOKIEST party of the year."
Luego solicita una contraseña.
Entrada de Usuario
Se almacena en una variable (
s1
) usandofgets()
.Se remueve el
newline
constrchr()
.
Comparación con la Contraseña Correcta
Se compara con
strcmp()
contras3cr3t_p455_f0r_gh05t5_4nd_gh0ul5
.Si es correcta, se imprime "Welcome inside!"
Si es incorrecta, se imprime "You're not a real ghost; clear off!"
Extracción de un Flag
Se observa el uso de
obj.parts @ 0x4060
que contieneHTB{un0bfu5c4t3d_5tr1ng5}
.Un loop reconstruye el flag byte a byte.

Conclusión
La contraseña esperada es:
s3cr3t_p455_f0r_gh05t5_4nd_gh0ul5
.El flag final extraÃdo del binario es:
HTB{un0bfu5c4t3d_5tr1ng5}
.
Last updated