Robo de sesiones por medio de Cookies
ROBO DE SESIONES POR MEDIO DE COOKIES
(SessionHijacking)
Aclaración:
El siguiente ataque tiene fines académicos, no nos responsabilizamos del uso que se le dé a esta información. Nuestro propósito es dar a conocer esta técnica para que usted se proteja de ataques similares.
Introducción:
Este proyecto consiste en lo siguiente:
Cuando el usuario ingresa a una página web se crea una sesión aleatoria en el servidor web, esta sesión se almacena en una cookie. Esta cookie viaja por la web cada vez que el cliente navega por la aplicación. La cookie contiene un identificador de sesión.
Realizaremos un ataque para conseguir la sesión del usuario:Hombre en el medio (Man in themiddle – MITM).El atacante modifica la cookie e ingresa a la aplicación web con el contenido restringido de la víctima.En este caso usaremos Greasemonkeycon CookieinjectorScript, el cual es un Plugin de Mozilla Firefoxque permite ingresar la cookie capturada mediante MITM.
Objetivos:
Este tutorial tiene como propósito mostrar la utilidad de herramientas con las que cuenta BackTrack (como Wireshark).
Además la técnica explicada en esta presentación tiene por objetivo darnos a conocer uno de los métodos utilizados por los hackers para robar y secuestrar sesiones de aplicaciones web, y así demostrarnos la vulnerabilidad a la cual estamos expuestos y la manera cómo podemos defendernos de la misma, sin necesidad de ser expertos en el área informática, ya que son estos los que están más propensos a este tipo de ataques.
Diagrama del ataque:
Alcance:
Este ataque es posible realizarlo en equipos dentro de una misma red LAN.
Glosario:
Cookie: Es una pequeña pieza de información enviada por un sitio web, las cuales son almacenadas por los servidores Web en el navegador del usuario del sitio, para guardar y recuperar información acerca de sus visitantes.
Sesión: Es la duración de una conexión entre un usuario(el agente) y un servidor, generalmente involucrando el intercambio de múltiples paquetes de datos entre la computadora del usuario y el servidor.
URL: Es una dirección que permite acceder a un recurso disponible en la web como páginas y archivos gif, jpg, etc.
Red LAN: Una red de área local (del inglés local areanetwork) es la interconexión decomputadoras personales y estaciones de trabajo en oficinas, fábricas, etc.
Puerto: Es una zona en la que dos ordenadores (hosts) intercambian información.
Tutorial:
Para empezar realizaremos un análisis con nmap en la red para localizar el objetivo (IP de la máquina a cual haremos el ataque).
nmap-f 192.168.xx.xx/24
Abrimos una nueva terminal e iniciamos un ataque MITM (Hombre en el Medio).
sudo echo 1 >> /proc/sys/net/ipv4/ip_forward
Iniciamos el Arpspoofing para capturar todo el tráfico:
sudoarpspoof -i [su interfaz] -t [IP de su objetivo] [puerta de enlace predeterminada]
sudoarpspoof -i eth0 -t 192.168.13.137 192.168.13.2
Abrimos otra terminal y escribimos el siguiente comando:
sudoarpspoof -i [su interfaz] -t [puerta de enlace predeterminada] [IP de su objetivo]
sudoarpspoof -i eth0 -t 192.168.13.2 192.168.13.137
Abrimos el browser (Mozilla Firefox) en el cualtendremos que tener instalado: Greasemonkey y CookieinjectorScript, que son complementos que usaremos para inyectar la cookie.
Abrimos otra terminal e iniciamos la herramientawireshark para capturar los paquetes.
Abrimos la página a la cual vamos a realizar el ataque, en nuestro caso es: pupe.ameba.jp (página vulnerable), entrarpero sin loguearse.
Ahora seleccionamos nuestra interfaz (eth0).
La víctima debe haber iniciado sesión y estar conectada para poder realizarle el rastreo.
A continuación en wireshark, vamos a establecer un filtro en la parte superior izquierda”http.cookiecontains “datr” “. Esto debería mostrar sólo los paquetes capturados que contengan la cookie que estamos buscando.Buscamos la cookie con el label “GET”. Una vez que hayamos encontrado la cookie adecuada, hacemos clic en la línea de la cookie, y dandoclicderecho elegimosCopy -> Bytes (Printable Text Only).
Ahora regresamos al browser y sobre la página que habíamos abierto anteriormente pulsamos ALT + C para abrir el cuadro de diálogo del cookieinjector, y dentro pegamos la cookie que acabamos de copiar.
Una vez pegada la cookie damos OK y se mostrará este mensaje:
Por último sólo tenemos que dar refresh a la página y listo, ahora estás conectado con la sesión de tu víctima.
Video Explicativo
Recomendaciones:
Para protegerse contra este tipo de ataque es recomendable usar conexiones HTTPS en todas las páginas que lo soporten cada vez que vamos a iniciar una sesión, ya que con esto los datos enviados y recibidos son codificados y los terceros servicios no pueden descifrar estos datos. Esto les da una ventaja en seguridad con respecto a las conexiones HTTP.Sólo se debe colocar “https://” en la URL, por ejemplo: https://www.facebook.com.
Por otro lado, si la víctima cierra su sesión, la sesión del atacante será inválida, por eso se sugiere finalizar correctamente la sesión, y no utilizar la casilla de verificación “recuérdame”.
Conclusiones:
Es muy fácil realizar este ataque, basta con tener las herramientas necesarias y el conocimiento básico para poder llevarlo a cabo. Hoy en día se han desarrollado muchas técnicas de hackeo que están al alcance de todo tipo de usuarios inclusive inexpertos, y son esos mismos inexpertos los que se verán afectados con este tipo de ataque al no estar preparados para prevenirlos.