Test Foro de elhacker.net SMF 2.1

Seguridad Informática => Bugs y Exploits => Hacking => Nivel Web => Mensaje iniciado por: WHK en 12 Marzo 2016, 20:41 PM

Título: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: WHK en 12 Marzo 2016, 20:41 PM
El arte del Bypassing


Índice



Introducción

Antes de comenzar hay que entender que no existe ningún software o hardware que te pueda proteger de manera 100% efectiva, una maquina funciona en su mayoría en base a reglas y listas negras pero una persona no funciona con listas sino con conocimiento e ingenio, por lo cual un hardware jamás podrá detener cualquier tipo de ataque que se realice a un sistema.

En este tutorial vamos a aprender sobre el arte del bypass, o sea, como evadir sistemas de prevención de intrusión tales como firewalls físicos, softwares de protección, IDS, Web Aplication Firewall, reglas por defecto en servidores web y posibles reglas personalizadas. Claro, todo orientado a un ataque WEB vía HTTP, no hablaremos de un DDOS, MITM o similar.

Vamos a entrar en el fascinante mundo de la penetración WEB, así que pónganse sus lentes 3D y a sentarse cómodos.


Entendiendo la implementación de seguridad básica de un sitio WEB

Primeramente vamos a entender como funciona un sistema de protección, muchos saben que se conectan a un sitio web a través de su navegador de internet pero no saben que otras cosas hay entre ellos.

Para esto vamos a crear un diagrama sobre la implementación de seguridad básica de un sitio WEB:

(http://41.media.tumblr.com/9c2ecc727ca37f7fb5967618689359aa/tumblr_o3yicudZ2I1uzz9lco1_1280.jpg)

Los círculos rojos son las barreras que necesitaremos evadir para llegar a los datos del servidor y realizar el ataque. Cuando la conexión llega a la infraestructura física donde está alojado el sitio WEB el atacante se encontrará con múltiples barreras las cuales son:


A todo esto podemos agregar también la protección básica que otorgan algunos servicios cloud tales como el conocido servicio DNS Cloud de CloudFlare o la seguridad interna de Rackspace o Amazon Web Services como WAF.

A continuación veremos alguna de las maneras para poder evadir estas capas de seguridad.


Bypaseando CloudFlare

Para poder vulnerar un sistema primeramente necesitamos saber:


Digamos que nuestro sitio WEB está alojado en el servidor IP 100.100.100.100, entonces tu tienes un dominio ejemplo.com que cuando configuras su DNS le dices que ese dominio debe apuntar a esa ip, pero en ves de eso apuntará a la ip de cloudflare que es 200.200.200.200, entonces cuando la gente acceda a 200.200.200.200 este de manera interna se comunica con 100.100.100.100.


Ahora que entendemos un poco mejor el concepto vamos a la práctica encontrando la IP real del servidor WEB:



Bypaseando el Firewall físico

El Firewall físico monitoréa la red, contiene filtros y reglas para prevenir intrusiones.

Algunos de los firewalls corporativos más conocidos son: Cisco ASA, SonicWall (de Dell), Juniper, Fortinet, Palo Alto y Check Point. Cada uno tiene un costo de muchos cientos de miles de dolares (he visto que se venden en esos precios y aun mas, de hecho yo tengo en mi oficina un SonicWall que me prestó un amigo que sabe mucho del tema).

Acá un firewall de ejemplo:
(https://40.media.tumblr.com/2e89eb82ece9ad28f8ed7612e9033627/tumblr_o3ykfwlQuT1uzz9lco1_1280.jpg)

Por lo general son de 1 o 2 U (1U quiere decir que ocupa un solo espacio en el rack físico), este de la imagen es un CheckPoint 4800 de 1U.

En este punto el Firewall es el encargado de detectar y/o detener ataques de tipo de red como por ejemplo un ataque SMURF, DDOS, que alguien dentro de tu misma red ponga su tarjeta de red en modo monitor, MITM, DNS Poisoning, etc, finalmente tienes un IPS (Intrusion Prevention System) y no un WAF (Web Aplication Firewall) a pesar de que algunos firewalls vienen con un WAF incorporado no terminan siendo su especialidad.

Por lo cual si queremos lanzar un ataque WEB podremos quedarnos tranquilos que ese firewall no nos va a molestar en lo mas mínimo ya que su trabajo no consiste en detener ataques vía HTTP.

Vamos, URLs como estas no son detectadas ni detenidas por un Firewall común (que no contenga un WAF):

http://host.com/?product_id=1' union all select 1,user(),2,3 --
http://host.com/?product_id="><script>alert(document.cookie)</script>
http://host.com/?product_id=1%0cLocation:http://atacante.com/
http://host.com/?product_id=999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
http://host.com/?product_id=10E1
http://host.com/?product_id=~

Lo único que hay que tener cuidado para no ser detectados por el firewall es no enviar un paquete inconsistente o extraño, por ejemplo: cuando vas a penetrar un sistema jamás le corras un nmap y si es muy necesario hacerlo hazlo desde otra ip para que no seas incluido dentro del log de detección de ataques.

Por lo general lo primero que hace una persona al intentar buscar vulnerabilidades es hacer correr algún software automatizado de tipo nmap, nstalker, sss, acunetix, nikto, etc que en algunos casos lanzan paquetes especiales destinados a engañar al firewall para entregar información importante del sistema, pero en muchas ocasiones terminan bloqueados por el firewall y no tienes toda la información de manera real, luego de esto el firewall deja tu ip en una lista negra la cual te comenzará a monitorear y puede traer problemas al momento de lanzar el ataque final.

Por este motivocuando se va a lanzar el ataque hay que tener cuidado de usar estos tipos de softwares para poder pasar limpiamente sobre el Firewall si que te de ninguna alerta.


Bypaseando el WAF físico

El WAF (Web Aplication Firewall) físico monitoréa las solicitudes HTTP, contiene filtros y reglas para prevenir intrusiones tipo IDS.

(https://40.media.tumblr.com/0187d944f140e3fbafaeff4fa4a9d1c6/tumblr_o3zzm4CBLQ1uzz9lco1_1280.jpg)

Algunos de los WAF corporativos más conocidos son: Imperva, Dell SonicWall, Fortinet, Cisco ACE. Cada uno tiene un costo de muchos cientos de miles de dolares.

Acá un WAF de ejemplo:
(https://36.media.tumblr.com/68e334cd0b20d914647f43854271e6ad/tumblr_o3zz44gcUC1uzz9lco1_1280.png)

Por lo general son de 2 U (2U quiere decir que ocupa dos espacios en el rack físico), este de la imagen es un Imperva X1000 de 1U.



Bypaseando reglas de Apache (mod security)

...






En construcción :) ...[/list][/list]
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: TapIt en 7 Julio 2016, 16:37 PM
Buenísimo WHK! Hacia un muchísimo tiempo que no pasaba por este foro y me ha dado mucha pena ver algunas cosas. Me sorprende que este post no tenga ningun comentario.

Buenísimo de verdad.

Saludos! ;)
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: WHK en 7 Julio 2016, 18:11 PM
Lo que pasa es que aun no lo he terminado por falta de tiempo xD
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: WIитX en 8 Julio 2016, 03:30 AM
Como todo lo que aportas increíble, a favoritos

Muchas gracias
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: moikano→@ en 8 Julio 2016, 10:05 AM
Muy buen aporte. Gracias!
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: quiAnar en 23 Julio 2016, 09:10 AM
Muy bueno
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: berz3k en 12 Agosto 2016, 03:14 AM
Hola

Re-abriendo topic de @WHK posteo esta ultima presentacion de BH para poder trastear con este tema de nueva cuenta, @WHK are u there?

:https://www.blackhat.com/docs/us-16/materials/us-16-Ivanov-Web-Application-Firewalls-Analysis-Of-Detection-Logic.pdf

comentarios? trastare con ello esta semana

-berzek.

Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: quiAnar en 27 Agosto 2016, 09:03 AM
No me canso de releer este gran tutorial, bueno siendo sincero no lo comprendo muy bien es como si estuviera escrito en inglés partes entiendo y partes no.  :rolleyes:
Pero no es su culpa, yo no soy muy avispado.
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: .:UND3R:. en 7 Septiembre 2016, 02:48 AM
Excelente POST WHK, me surge una duda a ver si me la puedes aclarar:

CitarPOST / HTTP/1.1
Host: host.com
Connection: close
Content-Type: multipart/form-data; boundary=---------------------------0000000000000000000000000000
Content-Length: nnn

-----------------------------0000000000000000000000000000
Content-Disposition: form-data; name="overflow"

AAAAAAAAAAAAAAAA ..... 11MB de carácteres ... AAAAAAAAA
-----------------------------0000000000000000000000000000
Content-Disposition: form-data; name="input-vulnerable";

VALOR DEL INPUT QUE IRONÍA EL MISMO WAF DEL FORO LO BLOQUEA

-----------------------------0000000000000000000000000000--

1) Las nnn, deberían tener algún valor específico? es decir el tamaño total del contenido?

Por las pruebas que hice debe tener el tamaño correcto, corrígeme si me equivoco.

2) Luego de la doble comilla azul, debería ir un ;? Pregunto por que abajo si hay uno:
name="input-vulnerable";

3) En la inyección SQL que se está enviando, por qué pones -- - ? Los dos primeros guiones finales, deberían ir a causa del RFC pero el siguiente guión?

Gracias por el tutorial, espero que sigas aportando sobre este tema que es muy interesante. Nunca había tenido la oportunidad de toparme con un sistema con este tipo de mecanismos de seguridad (IDS, IPS, WAF, etc.) o más bien, creo que me los he topado pero como no conocía de su existencia, me han bloqueado y siempre he pensado que la web no era "vulnerable".

Saludos  ;-)
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: WHK en 7 Septiembre 2016, 21:33 PM
Hola, te pego acá la respuesta: http://pastebin.com/LrgsS3fA porque el firewall de cloudflare no me deja postearlo.

Saludos.
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: Ethicalsk en 3 Diciembre 2017, 01:07 AM
Buenas! Me interesó mucho la técnica para bypassear WAF enviando paquetes grandes. Quise hacer unas pruebas locales con mod security sobre Apache, configurándolo con éstos parámetros:

SecRuleEngine On
SecRequestBodyLimitAction ProcessPartial
SecRequestBodyLimit 25000
SecRequestBodyNoFilesLimit 8000
SecRequestBodyInMemoryLimit 8000

Y envío una petición con curl de la siguiente forma:

curl -F "junk=`python -c 'print "A" * 9000'`" -F "vuln=aaaaa" 192.168.0.110/xss/web2.php -v -H "Expect:" -H "User-Agent:" -H "Connection: close" -H "Accept:"

No muestro una imagen del paquete que se envía ya que es idéntico al que mencionás... Todas las cabeceras, todo... Pero no está funcionando como me imaginaba, ya que el servidor me devuelve un 200 con las respectivas cabeceras pero con el body vacío. En éste caso la aplicación lo único que hace es reflejar el parámetro vuln. Si le mando un request con 7000 "A" por ejemplo, lo que mando en vuln se refleja perfectamente, pero cuando supera los 8000 bytes, la respuesta me la manda vacía... Alguna idea de qué condiciones o cosas puedo estar olvidando para que ésto funcione?

Versiones de mod security:

ModSecurity: APR compiled version="1.6.2"; loaded version="1.6.3"
ModSecurity: PCRE compiled version="8.39 "; loaded version="8.39 2016-06-14
ModSecurity: LUA compiled version="Lua 5.1"
ModSecurity: YAJL compiled version="2.1.0"
ModSecurity: LIBXML compiled version="2.9.4"

Gracias!
Título: Re: Tutotial - Bypaseando un Firewall, WAF, Mod Security de Apache y Filtros de IIS
Publicado por: .Vharimatras. en 1 Febrero 2019, 22:54 PM
Muchas gracias por tan excelente tutorial, me ha sido muy útil.