http://www.el-palomo.com Session Hijacking: Secuestro y robo de sesiones de aplicaciones web Omar Palomino Abril, 2012 [email protected] Session Hijacking [email protected]
Aug 10, 2015
http://www.el-palomo.com
Session Hijacking: Secuestro y robo de
sesiones de aplicaciones web
Omar Palomino Abril, 2012
Session Hijacking
http://www.el-palomo.com
• 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.el-palomo.com
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
AVISO Y CONSIDERACIONES LEGALES
Las técnicas mostradas en la presentación tienen por objetivo CONOCER las técnicas utilizadas por los hackers para robar y secuestrar sesiones de aplicaciones web.
La presentación NO TIENE POR OBJETIVO enseñar técnicas para realizar ataques contra aplicaciones web que son penados según la legislación de los países.
El autor no se hace responsable del mal uso de las técnicas mostradas en la presentación.
http://www.el-palomo.com
Funcionamiento
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
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.
http://www.el-palomo.com
¿Por qué sucede esto?
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
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. 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.
http://www.el-palomo.com
Vamos a la práctica
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
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.
http://www.el-palomo.com
Cookies de aplicaciones web conocidas
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
¿Cómo averiguo cuál es la COOKIE que me interesa?
Entra a la aplicación web e identifica cookie
por cookie cual es la importante. Google te lo puede decir (ya antes alguien se
ha preguntado lo mismo).
http://www.el-palomo.com
Debemos automatizar el ataque….
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
• 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
http://www.el-palomo.com
¿Cómo evitamos el secuestro de sesiones?
¿Cómo funciona el secuestro de sesiones?
Secuestro de sesiones de
forma manual
Herramientas de secuestro de
sesiones
Conclusiones y contramedidas
Envío de sesiones a través de un canal encriptado (HTTPS)
Generar el identificador de sesión después de un login exitoso
Evitar vulnerabilidades de aplicaciones web: XSS y correcta finalización de sesiones.
http://www.el-palomo.com
Session Hijacking: Secuestro y robo de
sesiones de aplicaciones web
Omar Palomino Abril, 2012
Session Hijacking