En informática, el secuestro de sesión, a veces también conocido como secuestro de cookie, es la explotación de una sesión informática válida —a veces también denominada clave de sesión— para obtener acceso no autorizado a información o servicios en un sistema informático. En particular, suele referirse al robo de una cookie mágica utilizada para autenticar a un usuario a un servidor remoto. Es particularmente relevante para los desarrolladores web, ya que las cookies de HTTP utilizadas para mantener una sesión en muchos sitios web pueden ser fácilmente robadas por un atacante utilizando un ordenador de intermediario o al acceder a cookies guardadas en el ordenador de la víctima (véase Robo de cookies).
Un método popular utiliza paquetes IP encaminados por origen. Esto permite a un atacante en un punto B de la red que participe en una conversación entre A y C al favorecer que los paquetes IP pasen a través de la máquina B.
Si el encaminamiento basado en origen no es factible, el atacante puede recurrir al secuestro "ciego", por el cual adivina las respuestas de las dos máquinas. Así, el atacante puede enviar una orden, pero nunca puede ver la respuesta. Aun así, una orden común sería poner una contraseña que permita el acceso desde algún lugar más en la red.
Un atacante también puede estar entre A y C utilizando un programa de captura para mirar la conversación. Esto es conocido como ataque de intermediario.
Las versiones 0.8 y 0.9 del protocolo HTTP no tenían cookies y otras características necesarias para secuestros de sesión. La versión 0.9beta de Mosaic Netscape, liberada el 13 de octubre de 1994, permitía cookies.
Las versiones tempranas de HTTP 1.0 tenían algunas debilidades de seguridad relacionandas a secuestros de sesión, pero eran difíciles de explotar debido a las ambigüedades de los servidores y navegadores HTTP 1.0 iniciales. Debido a que HTTP 1.0 ha sido designado como opción retrocompatible para HTTP 1.1 desde principios de los 2000 —y ya que los servidores HTTP 1.0 son todos esencialmente servidores HTTP 1.1 el problema de secuestro de sesión ha evolucionado a un riesgo de seguridad casi permanente.[cita requerida]
La introducción de supercookies y otras características con el HTTP 1.1 modernizado ha permitido que el problema del secuestro se transforme en un problema de seguridad actual. La estandarización de estados de máquina de servidores web y navegadores ha contribuido a este problema de seguridad actual.
Hay cuatro métodos principales utilizados para perpetrar un secuestro de sesión. Estos son:
En octubre de 2010, una extensión de Mozilla Firefox llamada Firesheep fue liberada lo que hizo fácil a secuestradores de sesión que atacaran usuarios de Wi-Fi públicos sin encriptar. Muchos sitios web como Facebook, Twitter, y cualquiera que el usuario añadiera a sus preferencias permitían al usuario de Firesheep a acceder información privada de cookies fácilmente y amenazar la propiedad personal del usuario del Wi-Fi público. Unos meses más tarde, Facebook y Twitter respondieron ofreciendo (y más tarde exigiendo) HTTP Seguro en todos los accesos.
Una aplicación llamada "WhatsApp Sniffer" apareció en Google Play en mayo de 2012, y era capaz de mostrar mensajes de otros usuarios de WhatsApp conectados a la misma red que el usuario de la aplicación. En ese tiempo WhatsApp utilizaba infraestructura XMPP con encriptado, no comunicación de texto plano.
DroidSheep es una herramienta sencilla de Android para secuestro de sesión de web (sidejacking). Escucha paquetes de HTTP enviados vía una conexión de red inalámbrica (802.11) y extrae la id de sesión de estos paquetes para reutilizarla. DroidSheep puede capturar las sesiones utilizando la librería libpcap y permite: redes abiertas (sin encriptar), redes encriptadas con WEP, y redes encriptadas con WPA/WPA2 (solo PSK). Este software utiliza libpcap y arpspoof. El apk fue liberado en Google Play pero fue retirada de ahí por Google.
Cookie Cadger es una herramienta de penetración de seguridad gráfica de código abierto hecha para interceptar y repetir peticiones concretas HTTP GET inseguras a un navegador. Cookie Cadger es una utilidad multiplataforma de código abierto basada en la herramienta Wireshark que se puede utilizar para monitorear redes Ethernet cableadas, Wi-Fi inseguro, o cargar un archivo de información de captura de paquetes para análisis off-line. Cookie Cadger ha sido usado para destacar las debilidades de sitios donde la juventud comparte información como Shutterfly (utilizados por la liga AYSO de fútbol) y TeamSnap.
Los métodos para impedir secuestro de sesión incluyen: