// 01
Reconocimiento
Preignition es una máquina Linux de dificultad Very Easy centrada en la enumeración web básica: fuzzing de directorios para descubrir un panel de administración y el peligro de dejar credenciales por defecto en una aplicación mal configurada. Un recorrido limpio por la metodología inicial de cualquier auditoría web.
Antes de nada confirmamos que llegamos a la máquina (10.129.2.4) con unos paquetes
ICMP. El TTL de la respuesta, de paso, suele delatar el sistema operativo (~64 = Linux).
Escaneamos con detección de versión (-sV). Solo hay un servicio relevante: un servidor web nginx 1.14.2 en el puerto 80.
// UN ÚNICO SERVICIO WEB
Con solo el puerto 80 abierto, toda la superficie de ataque es la aplicación web. El siguiente paso lógico es enumerar lo que esconde: directorios y archivos no enlazados desde la página principal.
// 02
Enumeración web · Dir busting
Usamos gobuster en modo dir para probar nombres de un
diccionario (common.txt) contra el servidor y descubrir rutas ocultas. Con
-x php le pedimos que pruebe también cada nombre con extensión
.php, ya que es una app PHP.
// HALLAZGO: /admin.php
Gobuster descubre /admin.php con código 200 OK: la página existe y es accesible, aunque no esté enlazada en ningún sitio. Un nombre así —un panel de administración— es justo lo que buscábamos.
// 03
Explotación · Credenciales por defecto
Abrimos http://10.129.2.4/admin.php en el navegador y nos recibe un formulario de inicio de sesión: «Admin Console Login». El objetivo de la máquina es demostrar el riesgo de no cambiar la configuración de fábrica, así que —antes de ruido como SQLi o fuerza bruta— probamos las credenciales por defecto más típicas de la industria.
| CAMPO | VALOR PROBADO |
|---|---|
| Username | admin |
| Password | admin |
Las credenciales admin:admin funcionan a la primera. El panel interno nos da la bienvenida y muestra directamente la flag:
// FLAG
6483bee07c1c1d57f14e5b0717503c73 — obtenida sin exploits ni escalada: basta
descubrir /admin.php por fuerza de diccionario y usar las credenciales de fábrica
admin:admin.
// LECCIÓN Y MITIGACIÓN
Dos malas prácticas encadenadas: dejar un panel de administración accesible y no cambiar las credenciales por defecto. La mitigación es inmediata — forzar contraseñas fuertes y únicas en el primer arranque, restringir el acceso a los paneles admin (por IP, VPN o autenticación adicional), no exponerlos a Internet, y añadir límites de intentos y MFA. El dir busting es trivial para un atacante, así que «oculto» nunca es «protegido».
// 04
Referencia de Comandos
- -c3 — envía solo 3 paquetes y termina
- -sV — detección de versión del servicio
- -p- — todos los puertos (si quieres ir más allá de los 1000 comunes)
- -u — URL objetivo
- -w — diccionario (p. ej. dirb/common.txt)
- -x php — prueba también la extensión .php
- -t — número de hilos (velocidad)
- admin:admin — la combinación que abre este panel
- root / password / 12345 — otras típicas a probar
// 05
Glosario
gobuster, ffuf,
dirsearch, feroxbuster.
dir), subdominios (dns)
o vhosts. Rápida y sencilla; con -x prueba extensiones concretas y con -w
carga el diccionario. Devuelve el código de estado de cada acierto.
admin:admin,
root:root…). Si no se cambian en la instalación, son una de las puertas de entrada
más fáciles y comunes. Es una forma de autenticación débil.
301/302 (redirección),
403 (existe pero prohibido) y 401 (requiere autenticación).
/usr/share/wordlists/dirb/common.txt viene en Kali/Parrot y reúne rutas habituales
(admin, login, backup…). SecLists ofrece listas mucho más
completas.