Loading...

Cómo detectar WAF/IDS

2024-09-29
  • cli
  • comandos
  • redes

Cómo detectar WAF/IDS: Herramientas y métodos

Si estás haciendo un escaneo de puertos con la herramienta nmap y notas que el host tarda demasiado en responder o te devuelve que todos los puertos están abiertos, lo más probable es que te estés topando con un WAF, un firewall o un IDS.

¿Qué es un WAF?

Un WAF (Web Application Firewall) es un firewall de aplicaciones web que se utiliza para proteger los sitios web de ataques malintencionados, como inyección de SQL, XSS, etc. Un WAF puede ser un hardware o un software.

Es importante destacar que un WAF no es una solución de seguridad completa. Debe ser utilizado en conjunto con otras herramientas de seguridad, como firewalls y antivirus.

¿Qué es un IDS?

Un IDS (Intrusion Detection System) es un sistema de detección de intrusiones que se utiliza para detectar y alertar al administrador de sistemas de posibles ataques. Los IDS pueden detectar ataques conocidos y desconocidos y alertar al administrador en tiempo real.

¿Cómo detectarlos?

Para detectar estos sistemas de seguridad, puedes utilizar la herramienta wafw00f. Con ella podrás verificar si estás teniendo problemas de seguridad en tu sitio web o en el de un tercero. Por ejemplo, al ejecutar el siguiente comando:

$ wafw00f -a <http://www.test.com.hk>

Obtendrás como resultado:

[*] Checking <http://www.test.com>
[+] The site <http://www.test.com> is behind WatchGuard (WatchGuard Technologies) WAF.
[+] Generic Detection results:
[*] The site <http://www.test.com> seems to be behind a WAF or some sort of security solution
[~] Reason: The server returns a different response code when an attack string is used.
Normal response code is "200", while the response code to cross-site scripting attack is "403"
[~] Number of requests: 5

En el ejemplo vemos que el host está protegido por WatchGuard (WatchGuard Technologies) WAF

Sin embargo, también puedes utilizar wafw00f junto con nmap para confirmar si el servicio de tus puertos está siendo protegido por un WAF. Para ello, ejecuta:

$ nmap -p 80,443 --script=http-waf-fingerprint test.com

Este comando te devolverá una lista de servicios y puertos, incluyendo si el host está protegido por un WAF. Por ejemplo:

PORT    STATE SERVICE
80/tcp  open  http
| http-waf-fingerprint:
|   Detected WAF
|_    WatchGuard
443/tcp open  https

En este caso, podemos ver que WatchGuard está protegiendo el servicio en el puerto 80.

¿Cómo protegerse contra un WAF/IDS?

Para protegerse contra un WAF/IDS, es importante mantener tus sistemas actualizados y con parches de seguridad. Además, debes utilizar firewalls y otras herramientas de seguridad para proteger tus sistemas de posibles ataques.

Conclusión

Detectar un WAF o un IDS puede ser una tarea complicada, pero con las herramientas adecuadas es posible hacerlo de manera eficiente.

Es importante destacar que estas soluciones de seguridad no son infalibles y deben ser utilizadas en conjunto con otras herramientas de seguridad para garantizar la seguridad de tus sistemas.

Documentación

http-waf-detect NSE script — Nmap Scripting Engine documentation