Detectar Waf

VulnerabilidadesHerramientasTutoriales7 months ago252 Views

Detectar si un sitio está protegido por un WAF (Web Application Firewall) es una de las primeras tareas que cualquier profesional de seguridad ofensiva debe realizar antes de avanzar con pruebas más profundas. Si bien existen herramientas automáticas como wafw00f, siempre es recomendable realizar también verificaciones manuales para obtener mejores resultados o confirmar falsos positivos/negativos.


Empezando con Wafw00f

Una de las formas más rápidas y sencillas de comenzar es con la herramienta wafw00f. Esta herramienta realiza una serie de peticiones HTTP y analiza las respuestas para determinar si hay un WAF presente.

Ejemplo básico:

Este comando devolverá si el sitio está protegido por un WAF conocido. Sin embargo, si el resultado es “No WAF detected”, no significa que el sitio esté 100% libre de protección. Algunos WAF pueden estar configurados de forma personalizada o no reaccionar ante las pruebas comunes.

Por eso, es importante realizar pruebas manuales.


Verificación manual paso a paso

Vamos a utilizar como ejemplo el sitio http://scanme.nmap.org/, un dominio público provisto por los desarrolladores de Nmap para pruebas de escaneo.

Paso 1: Enviar una petición simple

Primero, comprobamos que el sitio responde normalmente.

curl -I http://scanme.nmap.org/

Esto debería devolver un encabezado HTTP/1.1 200 OK u otro código que nos indique que el servidor está respondiendo.

Paso 2: Enviar un payload sospechoso (XSS)

Los WAF suelen reaccionar ante patrones de ataque comunes. Probemos con un payload de XSS:

curl -I "http://scanme.nmap.org/?q=<script>alert(1)</script>"

Resultado esperado sin WAF: Respuesta 200 OK.

Resultado con WAF: Podría devolver 403 Forbidden, 406 Not Acceptable, o una página de bloqueo personalizada.

Paso 3: Probar con un payload de SQL Injection

curl -I "http://scanme.nmap.org/?id=' OR '1'='1"

Si el servidor responde normalmente, probablemente no hay WAF o no está activado para ese tipo de petición. Si bloquea, redirige o responde con códigos raros, puede ser que haya un WAF activo.

Paso 4: Enviar headers HTTP alterados

Algunos WAFs analizan también los headers. Puedes probar con:

curl -I http://scanme.nmap.org/ -H "User-Agent: sqlmap"

Si el servidor te bloquea solo por usar “sqlmap” como user-agent, es una buena señal de que hay un WAF monitoreando.

Paso 5: Ver cambios en el código de estado HTTP

Muchos WAF responden con errores como:

  • 403 Forbidden
  • 406 Not Acceptable
  • 501 Not Implemented
  • 503 Service Unavailable

Estos son indicadores comunes de que algo está interceptando y filtrando tus peticiones.


Cosas a observar

  • Contenido de la página de error: Algunos WAF muestran su nombre o tecnología (ej. Cloudflare, F5, Imperva).
  • Cabeceras HTTP: Usa curl -I y buscá cabeceras como Server, X-CDN, X-WAF, Set-Cookie, etc.
  • Latencia: Si tras cierto número de peticiones empiezan a aparecer errores o lentitud, podría ser throttling por WAF.

Recomendaciones finales

  • Siempre combiná herramientas automáticas con pruebas manuales.
  • No saques conclusiones solo porque “no se detectó WAF”.
  • Si estás probando sitios reales, hacelo con permisos y responsabilidad.
  • Herramientas como ffuf, sqlmap, burpsuite y nmap también pueden ayudarte a detectar comportamientos sospechosos.

Detectar un WAF no es solo ejecutar una herramienta, sino entender cómo responde un servidor ante diferentes tipos de peticiones. En el ejemplo de http://scanme.nmap.org/, vimos que se puede verificar manualmente si hay o no un sistema de protección delante del servidor. Esto es esencial para definir el enfoque de cualquier pentest o evaluación de seguridad.


#wafdetect ? #cybersecurity ?️ #pentesting ? #linux ? #manualtesting ? #infosec ? #hacking ? #curltips ? #nmap ?️ #kali ?

Previous Post

Next Post

Cargando siguiente publicación...
Síguenos
Sidebar Buscar
Loading

Signing-in 3 seconds...

Signing-up 3 seconds...