root@sparrow:~/writeups$ cat spookypass.md
// writeups
SpookyPass
13 Nov 2024
· 2 min read
A 64-bit ELF that prompts for a password. The secret sits in cleartext among the binary's strings — strings reveals it with no debugging required.Challenge overview
| Field | Value |
|---|---|
| Platform | Hack The Box · Challenge |
| Category | Reversing |
| Difficulty | Very Easy |
| State | Retired |
| Files | pass (ELF 64-bit) |
Attack map
[ELF pass] file → Linux binary
│
▼
[strings] cleartext password
│
▼
[./pass] enter password
│
▼
[FLAG]Binario ELF de 64 bits que pide una contraseña. La clave está en claro entre las cadenas del ejecutable: strings la revela sin necesidad de depurar nada.Ficha del challenge
| Campo | Valor |
|---|---|
| Plataforma | Hack The Box · Challenge |
| Categoría | Reversing |
| Dificultad | Very Easy |
| Estado | Retirado |
| Archivos | pass (ELF 64-bit) |
Mapa del ataque
[ELF pass] file → binario Linux
│
▼
[strings] contraseña en claro
│
▼
[./pass] introducir password
│
▼
[FLAG]
1. Identify the file
Before touching anything, find out what we're dealing with: binary type, architecture and whether it's statically linked.
file passpass: ELF 64-bit LSB executable, x86-64It's a Linux executable — this is basic reversing territory.
2. Check protections
checksec summarises the mitigations (Canary, NX, PIE). Here it's informative only — we won't exploit memory corruption, just read data.checksec --file=pass3. Extract strings (key step)
Many "Very Easy" challenges store the password as a literal string. strings dumps every readable chunk of text in the binary.strings pass | lessBefore we let you in, you'll need to give us the password:
s3cr3t_p455_f0r_gh05t5_4nd_gh0ul5Right among the program's messages, the password appears in plain sight.
4. Run it and enter the password
chmod +x pass
./passWelcome to the SPOOKIEST party of the year.
Before we let you in, you'll need to give us the password: s3cr3t_p455_f0r_gh05t5_4nd_gh0ul55. Flag
HTB{un0bfu5c4t3d_5tr1ng5}Chain summary
| Phase | Technique | Tool | Result |
|---|---|---|---|
| Triage | Binary identification | file | ELF x86-64 |
| Analysis | Embedded strings | strings | Cleartext password |
| Exploitation | Authentication | ./pass | Flag |
Lessons learned
- Never store secrets as literal strings in a binary —
stringsexposes them in seconds. - Reversing starts with the cheap tools (file, strings, checksec) before opening a disassembler.
- The challenge name (unobfuscated strings) is usually the biggest hint.
1. Identificar el archivo
Antes de tocar nada conviene saber qué tenemos entre manos: tipo de binario, arquitectura y si está enlazado estáticamente.
file passpass: ELF 64-bit LSB executable, x86-64Es un ejecutable de Linux: entramos en terreno de reversing básico.
2. Revisar protecciones
checksec resume las mitigaciones (Canary, NX, PIE). Aquí es informativo: no vamos a explotar corrupción de memoria, solo a leer datos.checksec --file=pass3. Extraer cadenas (paso clave)
Muchos challenges "Very Easy" guardan la contraseña como una cadena literal. strings vuelca todo el texto legible del binario.strings pass | lessBefore we let you in, you'll need to give us the password:
s3cr3t_p455_f0r_gh05t5_4nd_gh0ul5Entre los mensajes del programa aparece directamente la contraseña.
4. Ejecutar e introducir la contraseña
chmod +x pass
./passWelcome to the SPOOKIEST party of the year.
Before we let you in, you'll need to give us the password: s3cr3t_p455_f0r_gh05t5_4nd_gh0ul55. Flag
HTB{un0bfu5c4t3d_5tr1ng5}Resumen de la cadena
| Fase | Técnica | Herramienta | Resultado |
|---|---|---|---|
| Triage | Identificación de binario | file | ELF x86-64 |
| Análisis | Cadenas embebidas | strings | Contraseña en claro |
| Explotación | Autenticación | ./pass | Flag |
Lecciones aprendidas
- Nunca guardes secretos como cadenas literales en un binario:
stringslos expone en segundos. - El reversing empieza por lo barato (file, strings, checksec) antes de abrir un desensamblador.
- El nombre del challenge (unobfuscated strings) suele ser la mayor pista.