Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Seguridad Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

Siempre es una buena idea que un atacante sepa dónde se utiliza normalmente un WAF en una red antes de empezar a tomar huellas.

Los encargados de las pruebas de penetración deben ser conscientes de la existencia de un WAF antes de comenzar a intervenir en una aplicación web, ya que el resultado de sus asaltos puede verse afectado.

Pero antes…

¿Qué es un WAF?

Los WAF(Web Application Firewall ) desempeñan un papel importante en la seguridad de los sitios web. Filtran y supervisan el tráfico. Los cortafuegos de aplicaciones web proporcionan protección contra fallos importantes. Muchas organizaciones están modernizando su infraestructura para incluir cortafuegos de aplicaciones web. Según los expertos en hacking ético, los cortafuegos de aplicaciones web no pueden solucionar los problemas de seguridad por sí solos; se requiere una configuración adecuada para reconocer y bloquear las amenazas externas.

Un WAF se diferencia de un cortafuegos tradicional en que puede filtrar el contenido de aplicaciones en línea específicas, mientras que los cortafuegos tradicionales actúan como una barrera de seguridad entre servidores.

Una interacción HTTP se somete a un conjunto de reglas. Estas reglas abordan vulnerabilidades típicas como el cross-site scripting y la inyección SQL en general.

Existen muchas herramientas gratuitas y de código abierto en Internet que pueden descubrir los cortafuegos que hay detrás de las aplicaciones web.

Y en este artículo, veremos los enfoques y herramientas que se pueden utilizar para descubrir un WAF.

Nota: En este tutorial, he utilizado mi propio sitio para enumerar los detalles. No realice escaneos ni otras actividades de pirateo en ningún sitio web sin el permiso previo del propietario.

Detección manual

Detección mediante TELNET

Telnet es utilizado principalmente por los administradores de red y los probadores de penetración. Telnet le permite conectarse a hosts remotos a través de cualquier puerto, como se ha indicado anteriormente.

  • Los cortafuegos de aplicaciones web suelen dejar (o insertar) parámetros HTTP en las cabeceras de respuesta.
  • Telnet puede utilizarse para obtener información básica de recopilación, como el servidor y las cookies utilizadas en la toma de huellas dactilares.
  • Escriba Telnet Targetwebsite.com 80
root@escritor: # telnet Targetwebsite.com 80
Probando 18.166.248.208...
Conectado a Targetwebsite.com.
El carácter de escape es '^]'. 

Después de ejecutar el comando anterior, escriba HEAD / HTTP / 1.1 y pulse la tecla intro.

root@escritor: # telnet 18.166.248.208 80 
Probando 18.166.248.208... 
Conectado a 18.166.248.208. 
El carácter de escape es '^]'. 
HEAD / HTTP/1.1 
Host: 18.166.248.208

HTTP/1.1 200 OK 
Date: SUN, 10 Oct 2021 05:08:03 IST 
Servidor: Apache X-Powered-By: PHP/5.3.5 ZendServer/5.0 
Set-Cookie: SESSIONID VULN SITE=t25put8gliicvqf62u3ctgjm21; path=/ 
Expires: Thu, 19 Nov 1981 08:52:00 IST
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma: no-cache 
X-Varnish: 4723782781
Age: 0
Via: 1.1 varnish
Connection: close 
Content-Type: text/html

Connection closed by foreign host.

Indica el servidor en el que está alojado el sitio web y el idioma back-end en el que se creó tras utilizar telnet en el puerto 80 de destino.

Algunos sistemas WAF permiten modificar la cabecera y también pueden hacer que el servidor web envíe respuestas HTTP diferentes de las estándar.

Como se muestra en el resultado anterior, el servidor web respondió a nuestra solicitud y reveló que el cortafuegos/pasarela de borde era Varnish.

Descubrimiento automatizado

#1. Detección mediante NMAP

Nmap, que tiene un script que puede identificar un cortafuegos de aplicaciones web, también puede utilizarse para este propósito.

  • Nmap es una herramienta de evaluación de seguridad que muchos pen-testers y administradores de red utilizan habitualmente.
  • Nmap se utiliza para obtener información sobre el objetivo.
  • El script se ejecutó contra la misma página web que antes
  • Escriba el comando nmap -script=http-waf-fingerprint targetweb.com
root@writer:# nmap --script=http-waf-fingerprint targetwebsite.com
Iniciando Nmap 7.90 ( https://nmap.org ) en 2021-10-10 07:58 IST
Informe de escaneo de Nmap para targetsite.com (18.166.248.208)
 El host está activo (latencia de 0.24s).
No se muestra: 982 puertos filtrados
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
| http-waf-fingerprint:
| WAF detectado
| Citrix Netscaler
443/tcp open https
5432/tcp closed postgresql
8080/tcp closed http-proxy

Nmap realizado: 1 dirección IP (1 host up) escaneada en 25,46 segundos 

Tras utilizar el comando Nmap anterior, se detectó el cortafuegos Citrix Netscaler.

#2. Detección mediante Whatwaf

Whatwaf es una herramienta de seguridad para tomar huellas dactilares de aplicaciones web y detectar la presencia de cualquier WAF. Esta herramienta es útil para determinar si una aplicación web está protegida por un WAF durante las evaluaciones de seguridad.

Si este es el caso, las estrategias de elusión y evasión pueden ser útiles para seguir probando o explotando la aplicación en línea.

La evasión de cortafuegos, la detección de aplicaciones, la huella digital de aplicaciones y la identificación de software son usos frecuentes de WhatWaf. Red
Pen-testers y profesionales de la seguridad son los usuarios previstos de este programa.

¿Cómo instalar WhatWaf?

Instalación en Kali-Linux

sudo apt install python3-pip

git clone https://github.com/ekultek/whatwaf

cd whatwaf

sudo pip3 install -r requirements.txt

En el lanzamiento, sin una versión de Python, podemos especificar fácilmente un archivo ejecutable:

./whatwaf --help  

Sin embargo, debido a que no instalamos las dependencias de Python 2, se aconseja que proporcione específicamente la versión de Python.

python3 ./whatwaf --help

Uso de la herramienta

La herramienta de detección de cortafuegos Whatwaf es muy sencilla de utilizar Sólo tenemos que ejecutar el siguiente comando

./whatwaf -u https://www.targetsite.com

Como puede ver a continuación, esta herramienta ha detectado el cortafuegos para la URL del sitio web proporcionado.

¡Recordatorio! – He utilizado mi propio sitio para el escaneo

┌──(root💀kali)-[/home/escritor/WhatWaf]
└─# ./whatwaf -u https://www.renjith.org

,------.
                                ' .--.  '
,--. .--.   ,--. .--.| | | |
 | | | | | | '--'  | |
 | | | | | | __.  |
 | |.'.| | |.'.| | | .'
       | | | |___|
 | ,'.   |que| ,'.   |af .---.
       '--' '--' '--' '--' '---'
/><script>alert("WhatWaf?<|>v2.0.3($dev)");</script>

[11:12:34][ERROR] debe instalar psutil primero `pip install psutil` para comenzar a minar XMR
[11:12:34][INFO] comprobando actualizaciones
[11:12:34][WARN] se recomienda encarecidamente utilizar un proxy cuando utilice WhatWaf. hágalo pasando la bandera proxy (IE `--proxy http://127.0.0.1:9050`) o pasando la bandera Tor (IE `--tor`)
[11:12:34][INFO] usando User-Agent 'whatwaf/2.0.3 (Language=2.7.18; Platform=Linux)'
[11:12:34][INFO] usando payloads por defecto
[11:12:34][INFO] probando la conexión a la URL objetivo antes de iniciar el ataque 
[11:12:35][SUCCESS] conexión realizada, continuando
[11:12:35][INFO] ejecutando una única aplicación web 'https://www.renjith.org'
[11:12:35][WARN] URL no parece tener una consulta (parámetro), esto puede interferir con los resultados de detección
[11:12:35][INFO] tipo de solicitud: GET
[11:12:35][INFO] recopilando respuestas HTTP
[11:12:42][INFO] recopilando respuesta normal para comparar con
[11:12:42][INFO] cargando scripts de detección de cortafuegos
[11:12:42][INFO] ejecutando comprobaciones de detección de cortafuegos
[11:12:44][FIREWALL] detectada protección de sitio web identificada como 'Apache Generic'
[11:12:44][INFO] iniciando análisis de bypass
[11:12:44][INFO] cargando scripts de manipulación de carga útil
[11:12:45][INFO] ejecutando comprobaciones de bypass de manipulación
[11:19:09][SUCCESS] tampers aparentemente operativos para el objetivo:
------------------------------
(#1) descripción: manipular carga útil cambiando caracteres por un comodín
ejemplo: '/bin/cat /et?/?asswd'
ruta de carga: content.tampers.randomwildcard
------------------------------

Como se muestra en el resultado anterior, el servidor web respondió a nuestra solicitud y reveló que el cortafuegos era Apache. También podemos utilizar el servicio tor para buscar el WAF, pero puede aumentar la latencia.

./whatwaf -u https://www.targetsite.com --tor

La principal ventaja de la herramienta Whatwaf es que intenta automáticamente dar las cargas útiles para eludir el cortafuegos revelado.

#3. Detección mediante Wafw00f

La herramienta más conocida para detectar el cortafuegos de aplicaciones web es Wafw00f. Wafw00f envía una petición HTTP al cortafuegos de aplicaciones web para identificarlo. Si el envío de peticiones HTTP falla, wafw00f realiza una petición HTTP maliciosa. Si la realización de una petición HTTP maliciosa falla, wafw00f examina las peticiones HTTP anteriores y emplea un sencillo algoritmo para determinar si el cortafuegos de aplicaciones web reacciona a nuestros ataques.

Wafw00f no está preinstalado en las distribuciones de Kali Linux.

¿Cómo instalar Wafw00f?

El paquete zip está disponible para su descarga desde la fuente oficial de GitHub.

Descargue la herramienta Wafwoof. También puede utilizar el cliente git para clonar el repositorio. Para obtener el paquete, ejecute los comandos:

$ git clone https://github.com/EnableSecurity/wafw00f.git

Para descargar la herramienta wafw00f en el sistema, navegue hasta la carpeta o directorio wafw00f y ejecute el siguiente comando.

$ python setup.py install

Se procesará el archivo de instalación y wafw00f se instalará en el sistema.

Uso de la herramienta

Para utilizar esta herramienta, ejecute este comando

$ wafw00f <url>

RECORDATORIO – Sólo escanee los sitios web que tiene permiso para probar

┌──(root💀kali)-[/home/writer/wafw00f]
└─# wafw00f https://webhashes.com 

 ______
 / \ 
 ( ¡Woof! ) 
 \ ____/ )      
                  ,, ) (_ 
.-. -    _______ ( |__| 
 ()``; |==|_______) .)|__| 
 / (' /| ( |__| 
 ( / ) / | \ . |__| 
 \(_)_))      / | |__| 

 ~ WAFW00F : v2.1.0 ~
 The Web Application Firewall Fingerprinting Toolkit 
                                                                                                                        
[*] Comprobando https://whatismyip.com
[ ] El sitio https://whatismyip.com está detrás del WAF de Cloudflare (Cloudflare Inc.).
[~] Número de peticiones : 2

Lástima, ¡se ha detectado el cortafuegos!

Vamos a probar un sitio web de destino diferente para el propósito de discusión.

┌──(root💀kali)-[/home/writer/wafw00f]
└─# wafw00f https://renjith.org

 ______
 / \ 
 ( ¡Guau! ) 
 \ ____/ )                                                                       
                  ,, ) (_ 
.-. -    _______ ( |__| 
 ()``; |==|_______) .)|__| 
 / (' /| ( |__| 
 ( / ) / | \ . |__| 
 \(_)_))      / | |__| 

 ~ WAFW00F : v2.1.0 ~
 The Web Application Firewall Fingerprinting Toolkit 
                                                                                                                        
[*] Comprobación https://renjith.org
[ ] Resultados de la detección genérica:
[-] Ningún WAF detectado por la detección genérica
[~] Número de peticiones: 7

Esta vez no se ha detectado ningún cortafuegos.

Y para utilizarlo en modo detallado, ejecute el siguiente comando.

wafw00f <url> -v 

Puede ver algunas capacidades adicionales de esta utilidad ejecutando este comando.

wafw00f <url> --help 

Para terminar 👨‍💻

En este artículo, hemos visto diferentes estrategias y herramientas para detectar cortafuegos de aplicaciones web. Se trata de una actividad importante que debe realizarse durante la fase de recopilación de información de toda prueba de penetración de aplicaciones web.

Además, saber que existe un WAF permite al probador de penetración probar varios enfoques para sortear las defensas y explotar cualquier agujero en la aplicación en línea.

Según un investigador de hacking ético, disponer de un cortafuegos de aplicaciones web (WAF) es cada vez más necesario. Analizar los registros de su aplicación web para detectar nuevos asaltos que se produzcan en el servidor de aplicaciones web back-end es siempre importante. Esto le permitirá personalizar las reglas de su cortafuegos de aplicaciones web para proporcionar el máximo nivel de protección.

Puede que también le interese leer: Vulnerabilidades utilizando Nikto Scanner.

  • Ashlin Jenifa
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre seguridad
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder