Mostrando entradas con la etiqueta WAF. Mostrar todas las entradas
Mostrando entradas con la etiqueta WAF. Mostrar todas las entradas
domingo, 21 de mayo de 2017
domingo, 30 de octubre de 2016
Fundamentals: WAF ( Web Application Firewall )
Autor: @txambe
Hoy vamos a ver un tema muy interesante (por lo menos a mí
me lo parece) y son las distintas técnicas para realizar un fingerprint de los
firewall de aplicaciones web o más conocidos como WAF.
Bueno pues empecemos por el principio ¿Que es un firewall? es un sistema de seguridad que controla el
tráfico de una red, servidor o una aplicación, los puede haber tanto hardware
como software.
Se pueden diferenciar dos tipos de firewall :
·
Los firewalls de capa de red funciona a nivel de red (capa 3 del modelo OSI, capa 2 del
stack de protocolos TCP/IP) como filtro de paquetes IP. A este nivel se pueden
realizar filtros según los distintos campos de los paquetes IP: dirección IP
origen, dirección IP destino. En este tipo de firewall se permiten filtrados
según campos de nivel de transporte (capa 3 TCP/IP, capa 4 Modelo OSI), como el
puerto origen y destino, o a nivel de enlace de datos (no existe en TCP/IP,
capa 2 Modelo OSI) como la dirección MAC.
·
Los firewall de aplicaciones web, trabaja en el nivel de aplicación (capa 7 del modelo OSI),
de manera que los filtrados se pueden adaptar a características propias de los
protocolos de este nivel. Por ejemplo, si se trata de tráfico HTTP, se pueden
realizar filtrados según la URL a la que se está intentando acceder.
Un cortafuegos a nivel 7 de tráfico HTTP suele denominarse proxy, y permite que los pc de una organización entren a Internet de una forma controlada. Un proxy oculta de manera eficaz las verdaderas direcciones de red.
Los WAF funcionan en los siguientes modos::
·
Negative
Model (Blacklist based)
·
Positive
Model (Whitelist based)
·
Mixed/Hybrid
Model (Blacklist & whitelist model)
Las formas en que podemos implementar un WAF son:
·
Reverse
proxy
·
Inline
·
Connected
to a Switch (SPAN>Port Mirroring)
Métodos de identificación de WAF
Los métodos mas conocidos que podemos encontrar, se
encuetrarn:
·
Drop Action
→ Envia un paquete FIN / RST
·
Reglas Pre-Built → Cada WAF tiene sus propias Negative Secutity Signatures
·
Ataques
Side-Channel → Basados en Timing
behavior
Herramientas de Detección de WAF
Hay muchas herramientas y scripts que pueden detectar la
presencia y la huella digital del WAF :
·
imperva
detect.py
Realiza un un primer
test de base y luego realiza otros 5 test adicionales , sus resultados son muy
rápidos.
·
Paradox
WAF detection
·
F5
Cookie Decoder Burp extension
·
FatCat
SQL Injector
NMAP scripts
Los scripts de nmap pueden detectar varios productos
IDS, IPS, y WAF. Como los siguientes , BarracudaWAF,
PHPIDS, dotDefender, Imperva , Web Firewall, Blue
Coat SG 400.
Detectando WAF
usando NMAP
nmap
-p80 --script http-waf-detect
Fingerprinting de WAF usando NMAP
nmap
-p80 --script http-waf-fingerprint
Wafw00f.py
Wafw00f puede
identificar los patrones mas comunes de mas de 25 tipos de WAF
Fingerprinting de WAF usando WAFw00f
wafw00f.py
Un problema que nos podemos encontrar a la
hora de la detección es que los WAF oculten su identidad a
partir de los valores de las cookies y así como las respuestas HTTP de tipo 200 ,
así que será necesario realizar
test adicionales , por ejemplo
con imperva-detect.py.
Un tema importante a tratar , son las reglas que se
implementan , ya que tienen un impacto
en el funcionamiento de la aplicación web que esta detrás del WAF.
Una mala
configuración puede darnos problemas
tales como:
• Bloquear peticiones legitimas (falsos positivos)
• El conjunto de reglas necesita
ser revisado.
Y un conjunto de
reglas muy laxa sin excepciones puede :
·
Pueda
darnos (falsos negativos)
·
El
atacante eluda el WAF y por lo tanto
haga un exploit de la aplicación.
Continuara ….
Happy Hacking.
Suscribirse a:
Entradas (Atom)



