🌐 ¿Qué es la enumeración web y por qué es crítica?
La enumeración de un servidor web consiste en identificar todas las tecnologías, rutas, directorios y posibles puntos de entrada que expone el servidor. Apache es el servidor web más utilizado del mundo, lo que lo convierte en un objetivo frecuente.
El objetivo es construir un mapa completo de la superficie de ataque antes de intentar explotar ninguna vulnerabilidad.
Herramientas del laboratorio
| Herramienta | Función principal | Capa |
|---|---|---|
| nmap | Escaneo de puertos y fingerprinting con NSE | Red |
| whatweb | Identificar tecnologías, CMS, frameworks y versiones | Aplicación |
| nikto | Escaner de vulnerabilidades y configuraciones inseguras | Aplicación |
| gobuster | Fuerza bruta de directorios y archivos | Contenido |
| dirb | Alternativa de fuerza bruta con diccionarios predefinidos | Contenido |
🔧 Comandos del laboratorio
1. Identificación del objetivo
cat /root/Desktop/target
2. Escaneo inicial con Nmap
Detecta puertos HTTP/HTTPS y versiones de servicios. El flag -sS usa paquetes SYN (más sigiloso que TCP completo).
nmap -sS -sV -p 80,443 <IP>
nmap --script http-enum -p 80 <IP>
nmap --script http-headers -p 80 <IP>
3. Fingerprinting de tecnologías con WhatWeb
WhatWeb identifica el CMS (WordPress, Joomla...), frameworks, versiones de librerías JS, servidor web y otros metadatos sin necesidad de autenticación.
whatweb http://<IP>
whatweb -v http://<IP>
wpscan, droopescan o joomscan para enumeración específica del CMS.4. Escaneo de vulnerabilidades con Nikto
Nikto comprueba más de 6700 archivos/CGIs potencialmente peligrosos, versiones desactualizadas y problemas de configuración como cabeceras de seguridad ausentes.
nikto -h http://<IP>
nikto -h http://<IP> -o nikto_out.txt
5. Fuerza bruta de directorios con Gobuster
Gobuster prueba rutas del diccionario contra el servidor para descubrir directorios y archivos no enlazados en el sitio.
gobuster dir -u http://<IP> -w /usr/share/wordlists/dirb/common.txt
gobuster dir -u http://<IP> -w /usr/share/wordlists/dirb/common.txt -x php,txt,bak,conf
dirb http://<IP>
6. Análisis manual y obtención de la flag
Con las rutas descubiertas, accede manualmente para revisar paneles de administración, backups o archivos de configuración expuestos.
wget http://<IP>/ruta/flag.txt
curl http://<IP>/ruta/flag.txt
🗼 Flujo del ejercicio
🎯 ¿Qué buscar? — Indicadores de éxito
- Directorios
/admin,/backup,/config,/.git— muy frecuentes en CTFs y servidores mal configurados. - Archivos
robots.txtysitemap.xml— pueden revelar rutas ocultas intencionadamente. - Cabeceras HTTP con versión exacta de Apache → buscar CVEs para esa versión.
- WhatWeb detecta WordPress/Joomla → enumeración específica de plugins y usuarios.
- Nikto reporta
X-Frame-OptionsoContent-Security-Policyausentes → posibles vectores XSS/Clickjacking. - Archivos
.bak,.old,.swpcon código fuente expuesto.