¿Sabía que un pirata informático puede realizar transferencias bancarias o compras en línea en su nombre sin robar su información de registro?
Asociamos las cookies con el rastreo y los molestos anuncios en línea, pero también almacenan las consultas de búsqueda, permitiéndonos visitar sitios web sin introducir un nombre de usuario y una contraseña.

Sin embargo, si alguien intercepta la cookie, puede producirse un ciberataque catastrófico llamado secuestro de sesión, que puede poner en peligro sus datos confidenciales a manos de atacantes, y puede hacer mucho daño antes incluso de que usted sepa lo que ha ocurrido.
Descubramos qué es y cómo puede evitarlo
¿Qué es el secuestro de sesión?
En el secuestro de sesión, un atacante intercepta y se apodera de una sesión establecida entre un usuario y un host, como un servidor web, una sesión Telnet o cualquier otra conexión basada en TCP. Una sesión comienza una vez que usted se conecta a un sitio web o a una aplicación, por ejemplo, un sitio web de una red social.

Continúa mientras está dentro de la cuenta, comprobando su perfil o participando en un hilo de conversación, y termina cuando se desconecta del sistema. Pero, ¿cómo sabe el servidor web que cada solicitud que realiza procede realmente de usted?
Aquí es donde entran en juego las cookies. Tras iniciar sesión, usted envía sus credenciales al servidor web. Éste confirma quién es usted y le da un identificador de sesión mediante una cookie que se le adjuntará mientras dure la sesión. Por eso no cierra la sesión de una aplicación cada vez que visita el perfil de alguien y por eso la tienda en línea recuerda lo que ha puesto en su cesta de la compra aunque actualice la página.
Pero los atacantes pueden secuestrar la sesión si utilizan técnicas especiales de gestión de sesiones o roban su cookie. Así, pueden engañar al servidor web haciéndole creer que las peticiones proceden de usted, el usuario autorizado.
El fenómeno del secuestro de sesión se hizo famoso a principios de la década de 2000, pero sigue siendo uno de los métodos más utilizados por los piratas informáticos.
Un ejemplo reciente es el grupo Lapsus$que este año ha pasado a formar parte de la lista de los más buscados del FBI. Utiliza la infección InfoStealer Maleware para secuestrar la sesión.
Del mismo modo, GenesisStore es una tienda sólo por invitación dirigida por un grupo del mismo nombre que vende datos de cookies comprometidas, y su lista supera los 400.000 bots.
Tipos de secuestro de sesión
El secuestro de la sesión puede dividirse en dos categorías principales, dependiendo de los deseos del perpetrador.
Activo: En un ataque activo, el atacante se apodera de su sesión, tomando así la conexión del cliente legítima al recurso. Dependiendo del sitio de la sesión, el hacker puede realizar compras en línea, cambiar contraseñas o recuperar cuentas. Un ejemplo común de ataque activo es un ataque de fuerza bruta, XSS o incluso DDoS.

Pasivo: En un ataque pasivo, el atacante no se apodera de la sesión ni la altera. En su lugar, vigilan silenciosamente el tráfico de datos entre su dispositivo y el servidor, recopilando toda la información sensible. Por lo general, la suplantación de IP y la inyección de malware se utilizan para llevar a cabo ataques pasivos.

¿Cómo funciona el secuestro de sesión?
HTTP es un protocolo sin estado, lo que significa que el servidor no tiene memoria de la operación del cliente. Cada nueva solicitud HTTP coincide con una nueva unidad de trabajo, o dicho de forma más sencilla, el servidor sirve páginas al cliente sin recordar las solicitudes anteriores de éste.
Sin embargo, cuando navegamos por la web, nos damos cuenta de que lo ideal es que las aplicaciones sepan quién es el cliente (¡incluso demasiado bien!). Gracias a esta "memoria" del servidor, " es posible crear modernas áreas reservadas de sitios web, bancos en línea, servicios de correo web, etc.
Para ello, nació un apéndice que hace que un protocolo sin estado como HTTP tenga estado: las cookies.
Sesiones con estado
Una vez iniciada la sesión, las aplicaciones web que utilizan la sesión con estado dejan caer una cookie de sesión. Esto significa que se basan en esta cookie para rastrear al cliente. Dentro de la cookie se guarda un código único que permite reconocer al cliente, por ejemplo
SESSIONID=ACF3D35F216AAEFC
Cualquiera que tenga el código o identificador de sesión único antes mencionado sería el cliente autenticado para el servidor. Si un atacante pudiera obtener este identificador, como se ve en la imagen inferior, podría explotar la sesión validada inicialmente para su víctima, ya sea husmeando una sesión legítima o incluso apoderándose de la sesión por completo. Este identificador suele estar incrustado en la URL, en el campo oculto de cualquier formulario o en las cookies.
Sesiones sin estado
Con la evolución de la web, han surgido soluciones para gestionar la "memoria" del servidor sin utilizar cookies de sesión. En una aplicación web en la que el frontend y el backend están bien separados y sólo hablan a través de API, la mejor solución podría ser un JWT (JSON Web Token), un token firmado que permite al frontend consumir las API proporcionadas por el backend.
Normalmente, el JWT se guarda en el sessionStorage del navegador, una zona de memoria que el cliente mantiene activa hasta que se cierra la pestaña. En consecuencia, al abrir una nueva pestaña se crea una nueva sesión (a diferencia de lo que ocurre con las cookies).
Robar el token de identificación del cliente permite robar la sesión del usuario y realizar así un ataque de secuestro de sesión. Pero, ¿cómo robar ese token?
Actualmente, los métodos más utilizados por los piratas informáticos son:
#1. Robo de sesión
Este método utiliza redes inseguras para averiguar su identificador de sesión. El atacante utiliza sniffing (un software especial) y suele dirigirse a redes Wi-Fi públicas o a sitios web sin certificado SSL, conocidos por su escasa seguridad.
#2. Fijación de sesión
La víctima utiliza el ID de sesión creado por el atacante. Puede hacerlo con un ataque de phishing (a través de un enlace malicioso) que "fija" su ID de sesión.
#3. Fuerza bruta
El método más lento e ineficaz. Durante este ataque, el hacker no roba sus cookies. En su lugar, intenta todas las combinaciones posibles para adivinar su ID de sesión.
#4. XSS o Secuencias de comandos en sitios cruzados
Un hacker aprovecha vulnerabilidades en sitios web o aplicaciones para inyectar código malicioso. Cuando un usuario visita el sitio, el script se activa, roba las cookies del usuario y las envía al atacante.

#5. Inyección de malware
El software malicioso puede realizar acciones no autorizadas en su dispositivo para robar información personal. También suele utilizarse para interceptar cookies y enviar información al atacante.
#6. Suplantación de IP
Un ciberdelincuente cambia la dirección IP de origen de su paquete para que parezca que procede de usted. Debido a la IP falsa, el servidor web piensa que es usted y la sesión queda secuestrada.
¿Cómo evitar el secuestro de sesión?
La posibilidad de que se produzca un secuestro de sesión suele depender de la seguridad de los sitios web o las aplicaciones que utilice. Sin embargo, hay medidas que puede tomar para protegerse:
- Evite las redes Wi-Fi públicas, ya que los puntos de acceso gratuitos son ideales para los ciberdelincuentes. Suelen tener una seguridad deficiente y pueden ser suplantados fácilmente por los piratas informáticos. Por no mencionar que siempre están llenos de víctimas potenciales cuyo tráfico de datos se ve constantemente comprometido.
- Cualquier sitio que no utilice un certificado SSL le hace vulnerable, ya que no puede cifrar el tráfico. Compruebe si el sitio es seguro buscando un pequeño candado junto a la URL.

- Instale una aplicación antimalware para detectar y proteger su dispositivo de malware y ratas que puedan robar información personal.
- Evite descargar programas maliciosos utilizando las tiendas de aplicaciones o los sitios web oficiales para descargar aplicaciones.
- Si recibe un mensaje pidiéndole que haga clic en un enlace desconocido, no lo haga. Podría tratarse de un ataque de phishing que puede infectar su dispositivo y robar información personal.
El usuario puede hacer poco contra un ataque de secuestro de sesión. Pero, por el contrario, la aplicación puede darse cuenta de que un dispositivo diferente se ha conectado con el mismo identificador de sesión. Y basándose en ello, puede diseñar estrategias de mitigación como:
- Asociar a cada sesión alguna huella técnica o características del dispositivo conectado para detectar cambios en los parámetros registrados. Esta información debe guardarse en la cookie (para sesiones con estado) o en el JWT (para sesiones sin estado), absolutamente cifrada.
- Si la sesión está basada en cookies, elimine la cookie con el atributo HTTPOnly para hacerla inalcanzable en caso de ataque XSS.
- Configure un sistema de detección de intrusiones (IDS), un sistema de prevención de intrusiones (IPS) o una solución de supervisión de redes.
- Algunos servicios realizan comprobaciones secundarias de la identidad del usuario. Por ejemplo, un servidor web podría comprobar con cada solicitud que la dirección IP del usuario coincide con la última utilizada durante esa sesión. Sin embargo, esto no evita los ataques de alguien que comparta la misma dirección IP y podría ser frustrante para los usuarios cuya dirección IP puede cambiar durante una sesión de navegación.
- Otra posibilidad es que algunos servicios cambien el valor de la cookie con cada solicitud. Esto reduce drásticamente la ventana en la que puede operar un atacante y facilita la identificación si se ha producido un ataque, pero puede causar otros problemas técnicos.
- Utilice diferentes soluciones de autenticación multifactor (MFA) para cada sesión de usuario.
- Mantenga todos los sistemas al día con los últimos parches y actualizaciones de seguridad.
PREGUNTAS FRECUENTES
El secuestro de sesión consiste en hacerse pasar por el usuario, mientras que la suplantación de sesión consiste en sustituir al usuario. En los últimos años, algunos analistas de seguridad han empezado a caracterizar este último como un tipo de secuestro de sesión.
Palabras finales
El secuestro de sesión es un método mediante el cual un pirata informático puede comunicarse con un servidor haciéndose pasar por un usuario auténtico, utilizando el testigo de sesión o cookie. La frecuencia de los ataques de secuestro de sesión ha aumentado en los últimos años; por lo tanto, cada vez es más importante comprender dichos ataques y seguir medidas preventivas. Sin embargo, al igual que la tecnología se desarrolla, los ataques también se vuelven más sofisticados; por lo tanto, es esencial crear estrategias activas de mitigación contra el secuestro de sesión.
Puede que también le interese saber cuánto valen sus datos en la web oscura.