root@sparrow:~/writeups$ cat find-the-easy-pass.md
// writeups
Find The Easy Pass
3 Jul 2017
· 8 min read
· user access
A Windows crackme binary that gates a flag behind a hardcoded password check. Static reversing in Ghidra buries the validation logic in decompiler noise, so the fix is to pivot to dynamic analysis: Immunity Debugger's string search points at the check routine, and a single breakpoint right before the comparison exposes the expected password directly in memory.
Challenge overview
| Field | Value |
|---|---|
| Platform | Hack The Box · Challenge |
| Category | Reversing |
| Difficulty | Easy |
| Status | Retired |
| Files delivered | challenge.zip → a single Windows PE executable |
Attack map
[challenge.zip]
│
▼
[.exe] Windows PE binary, password-gated
│
▼
[Ghidra] static decompilation
│ too many auto-generated functions/refs
▼ to pinpoint the check quickly
[Immunity Debugger] search referenced strings
│ → locate the validation routine
▼
[Breakpoint F2] halt right before the comparison
│ → expected password sits in memory
▼
["fortran!"] password recovered, re-run & confirm
│
▼
[FLAG] HTB{fortran!}Un binario Windows tipo crackme que oculta una flag tras una contraseña fija comprobada en el código. El reversing estático en Ghidra entierra la lógica de validación en ruido de descompilación, así que la solución es cambiar a análisis dinámico: la búsqueda de strings de Immunity Debugger señala la rutina de comprobación, y un único breakpoint justo antes de la comparación deja la contraseña esperada visible directamente en memoria.
Ficha del challenge
| Campo | Valor |
|---|---|
| Plataforma | Hack The Box · Challenge |
| Categoría | Reversing |
| Dificultad | Easy |
| Estado | Retirado |
| Archivos entregados | challenge.zip → un único ejecutable Windows PE |
Mapa del ataque
[challenge.zip]
│
▼
[.exe] binario PE Windows, protegido por contraseña
│
▼
[Ghidra] descompilación estática
│ demasiadas funciones/referencias autogeneradas
▼ para localizar rápido el check
[Immunity Debugger] búsqueda de strings referenciadas
│ → localiza la rutina de validación
▼
[Breakpoint F2] detiene justo antes de la comparación
│ → la contraseña esperada queda en memoria
▼
["fortran!"] contraseña recuperada, se reejecuta y confirma
│
▼
[FLAG] HTB{fortran!}
🔒 Free account required
This is USER ACCESS content — free to unlock, no payment. The rest of the write-up (and everything else at this level) opens up once you're signed in.
Create a free account🔒 Registro gratuito requerido
Esto es contenido de nivel USER ACCESS — se desbloquea gratis, sin pago. El resto del writeup (y todo lo demás de este nivel) se abre en cuanto inicies sesión.
Crear una cuenta gratis