Cómo funcionan los ataques de robo de tokens de sesión y cómo defenderse

Lectura de 12 min aprox.

Existe una forma de tomar el control de cuentas sin descifrar ninguna contraseña: el robo de tokens de sesión. Si un atacante roba los tokens de autenticación (cookies o JWTs) almacenados en el navegador después del inicio de sesión, puede hacerse pasar por la víctima y acceder a los servicios sin necesitar la contraseña ni la autenticación multifactor (MFA). Según el informe de SpyCloud de 2024, las cookies de sesión robadas por malware infostealer aumentaron un 60% interanual, con aproximadamente 22 mil millones de registros de cookies comercializados en la dark web. El equipo de inteligencia de amenazas de Microsoft informó que el robo de tokens de sesión estuvo involucrado en el 39% de los ataques empresariales confirmados en 2024. Este artículo explica los mecanismos técnicos de los ataques de robo de tokens de sesión, revela la realidad de los ataques Pass-the-Cookie que evaden la MFA, y proporciona medidas defensivas específicas tanto para individuos como para organizaciones.

Conclusión - defensa de autenticación en una era donde la MFA sola no es suficiente

El robo de tokens de sesión es un ataque que tiene éxito incluso cuando la MFA está configurada. Hay tres puntos clave de defensa. Primero, prevenir la infección por infostealers (mantener el SO y el navegador actualizados, evitar instalar software sospechoso). Segundo, detectar anomalías de sesión (monitorear cambios repentinos en la dirección IP o el dispositivo). Tercero, actualizar regularmente las contraseñas para que, incluso si los tokens son robados, los atacantes puedan ser bloqueados mediante la invalidación de sesiones y la re-autenticación. Actualice regularmente las contraseñas en Passtsuku.com y evite estrictamente guardar contraseñas en los navegadores.

¿Qué son los tokens de sesión?

Gestión de sesiones basada en cookies

Las aplicaciones web emiten tokens de sesión para identificar a los usuarios después del inicio de sesión, compensando la naturaleza sin estado de HTTP. El método más común es la gestión de sesiones basada en cookies. Cuando un usuario se autentica exitosamente con contraseña y MFA, el servidor envía una cookie que contiene un ID de sesión al navegador. Las solicitudes posteriores incluyen automáticamente esta cookie, y el servidor verifica el ID de sesión para identificar al usuario. En otras palabras, quien posea esta cookie es tratado como un "usuario autenticado". Si un atacante roba esta cookie, puede reproducir el estado de sesión iniciada sin pasar por la contraseña ni la MFA.

Cómo funciona JWT (JSON Web Token)

En aplicaciones web modernas y SPAs (Single Page Applications), JWT se usa cada vez más para la gestión de sesiones. JWT es un token autocontenido que incluye información del usuario y un tiempo de expiración, eliminando la necesidad de mantener el estado de sesión en el servidor. Los JWTs se almacenan típicamente en localStorage, sessionStorage o cookies HttpOnly. El problema con los JWTs es que una vez emitidos, son difíciles de invalidar hasta su expiración. Con la gestión de sesiones basada en cookies donde el servidor gestiona las sesiones, destruir la sesión en el servidor la invalida inmediatamente, pero los JWTs determinan la validez solo mediante verificación de firma, requiriendo un mecanismo de lista negra para revocar inmediatamente tokens robados.

Principales métodos de ataque

Robo masivo mediante infostealers

La amenaza más seria a partir de 2025 es el robo de tokens de sesión por malware infostealer. Infostealers como RedLine, Raccoon y Lumma infectan PCs a través de software pirata, anuncios maliciosos y correos de phishing, y extraen todas las cookies, contraseñas guardadas e información de billeteras de criptomonedas almacenadas en el navegador en segundos. Según el informe de Group-IB de 2024, más de 10 millones de dispositivos fueron infectados por infostealers en un solo año, y los datos robados se venden en la dark web por tan solo $10 por dispositivo. El punto crítico es que los infostealers roban cookies que ya han pasado la autenticación MFA. Sin importar cuán fuerte sea la MFA, una vez que la cookie de sesión post-autenticación es robada, el atacante puede usarla directamente.

Para detalles técnicos sobre el secuestro de sesiones, libros técnicos de defensa contra secuestro de sesiones (Amazon) también pueden ser útiles.

Ataques Pass-the-Cookie - neutralizando la MFA

Los ataques Pass-the-Cookie importan cookies de sesión robadas al navegador del atacante, reproduciendo la sesión iniciada de la víctima tal cual. El flujo del ataque funciona así. Primero, el archivo de base de datos de cookies del navegador de la víctima se roba mediante infostealers o phishing. Luego, el atacante importa las cookies robadas en su propio navegador (o herramienta de automatización). Cuando el navegador accede al servicio objetivo, el servidor recibe una cookie de sesión válida y trata al atacante como un usuario autenticado. Lo que hace peligroso este ataque es que evita completamente el proceso de autenticación. La fortaleza de la contraseña y el tipo de MFA (TOTP, FIDO2, SMS) son irrelevantes. La autenticación ya se ha completado, y el atacante simplemente usa el "resultado". Microsoft reveló en 2024 que el grupo Midnight Blizzard (anteriormente Nobelium) usó esta técnica para obtener acceso no autorizado a cuentas empresariales de Microsoft 365.

Robo mediante XSS (Cross-Site Scripting)

Los ataques XSS inyectan JavaScript malicioso en páginas web para robar tokens de sesión. Si una aplicación web tiene una vulnerabilidad XSS, un atacante puede incrustar código como document.cookie para enviar las cookies de la víctima a un servidor externo. La defensa contra esto es la bandera HttpOnly. Las cookies con el atributo HttpOnly establecido no pueden ser accedidas desde JavaScript, previniendo el robo vía XSS. Sin embargo, incluso con HttpOnly, los tokens almacenados en localStorage o sessionStorage siguen siendo accesibles desde JavaScript y son vulnerables a XSS. Las estadísticas de OWASP de 2024 muestran que las vulnerabilidades XSS aún representan aproximadamente el 18% de todas las vulnerabilidades de aplicaciones web, siendo una amenaza que no puede ignorarse.

Medidas de defensa técnicas

Vinculación de tokens y atestación de dispositivos

La contramedida técnica más efectiva contra el robo de tokens de sesión es la vinculación de tokens, que ata los tokens a los dispositivos. Google implementó un prototipo de Device Bound Session Credentials (DBSC) en el navegador Chrome en 2024. DBSC vincula las cookies de sesión al chip TPM (Trusted Platform Module) del dispositivo, invalidando las cookies cuando se usan en un dispositivo diferente. Esto significa que las cookies robadas no pueden usarse en el dispositivo del atacante. Microsoft también ofrece protección de tokens a través de Acceso Condicional en Azure AD (ahora Entra ID), que puede bloquear el uso de tokens desde dispositivos distintos al que emitió el token. Sin embargo, estas funciones aún están en despliegue limitado a partir de 2025 y no están disponibles en todos los servicios.

Detección de anomalías de sesión

En entornos donde la vinculación de tokens no está disponible, la detección de anomalías de sesión se convierte en una capa de defensa crítica. Específicamente, esto implica detectar cambios repentinos de dirección IP durante una sesión (como cambiar de una IP japonesa a una IP extranjera), cambios en la cadena User-Agent (como cambiar de Chrome a Firefox), y viajes geográficamente imposibles (como acceder desde Nueva York 10 minutos después de Tokio), e invalidar forzosamente la sesión. Los servicios en la nube de Google y Microsoft ya implementan este tipo de detección de anomalías, requiriendo re-autenticación cuando se detecta uso sospechoso de sesión. Para empresas, analizar registros de sesión con herramientas SIEM (Security Information and Event Management) para detectar automáticamente patrones anómalos es efectivo.

Lo que los usuarios individuales pueden hacer

No guarde contraseñas en los navegadores

Los infostealers apuntan a las contraseñas guardadas en navegadores como objetivo principal. Chrome, Firefox y Edge almacenan contraseñas en una base de datos cifrada, pero los infostealers pueden descifrarlas usando el almacén de credenciales del SO. Use un gestor de contraseñas dedicado (1Password, Bitwarden, etc.) en lugar del almacenamiento de contraseñas del navegador. Los gestores de contraseñas dedicados cifran los datos con una contraseña maestra que no se almacena en el almacén de credenciales del SO, haciéndolos resistentes a la extracción por infostealers. Genere contraseñas únicas de 16 caracteres o más para cada servicio en Passtsuku.com y gestiónelas en un gestor de contraseñas.

Verificación regular de sesiones y cierre de sesión

Verifique regularmente la lista de sesiones activas en la configuración de seguridad de los principales servicios. Para cuentas de Google, verifique "Tus dispositivos"; para cuentas de Microsoft, "Actividad reciente"; y para GitHub, la página "Sessions". Si ve sesiones de dispositivos o ubicaciones no reconocidos, invalide inmediatamente esa sesión y cambie su contraseña. Además, después de usar PCs compartidas o computadoras de cafeterías, siempre cierre sesión y elimine las cookies del navegador. Nunca marque la casilla "Mantener sesión iniciada" en ningún dispositivo que no sea el suyo.

Mantenga el SO y el navegador siempre actualizados

Muchos infostealers explotan vulnerabilidades conocidas en el SO o navegador para infectar sistemas. Habilite Windows Update, las actualizaciones de software de macOS y las actualizaciones automáticas de Chrome/Firefox, y aplique los parches de seguridad rápidamente cuando se publiquen. Chrome en particular lanza parches de emergencia dentro de días del descubrimiento de vulnerabilidades de día cero, por lo que es importante no desactivar las actualizaciones automáticas. Además, evite instalar software sospechoso y solo descargue aplicaciones de tiendas oficiales y sitios web oficiales. El software pirata y las versiones crackeadas son los canales de distribución más comunes para los infostealers.

Lo que puede hacer ahora mismo

  1. Verifique las listas de sesiones activas en la configuración de seguridad de Google, Microsoft y GitHub e invalide las sesiones sospechosas
  2. Elimine todas las contraseñas guardadas en navegadores y migre a nuevas contraseñas generadas en Passtsuku.com almacenadas en un gestor de contraseñas
  3. Verifique que su SO y navegador estén en la última versión y habilite las actualizaciones automáticas
  4. Elimine las extensiones de navegador innecesarias y revise los permisos de las extensiones restantes
  5. Desactive "Mantener sesión iniciada" en servicios importantes para acortar la duración de las sesiones

Preguntas frecuentes

¿Puede la MFA prevenir el robo de tokens de sesión?
No, la MFA sola no puede prevenirlo. El robo de tokens de sesión apunta a tokens después de que la autenticación MFA se completa, por lo que el ataque tiene éxito independientemente del tipo de MFA. La MFA es efectiva contra filtraciones de contraseñas, pero el robo de cookies por infostealers requiere contramedidas separadas (no guardar contraseñas en navegadores, mantener el SO actualizado, evitar software sospechoso).
¿Cómo puedo verificar si mis cookies de sesión han sido robadas?
La confirmación directa es difícil, pero hay varias señales: historial de inicio de sesión desde dispositivos o ubicaciones no reconocidos, rastros de acciones que no realizó (envío de correos, cambios de configuración), y notificaciones de "inicio de sesión desde nuevo dispositivo" de los servicios. Verifique las sesiones activas en la configuración de seguridad de Google o Microsoft, y si algo parece sospechoso, cierre todas las sesiones y cambie su contraseña.
¿Es seguro eliminar regularmente las cookies del navegador?
La eliminación regular de cookies tiene el efecto de acortar la duración de las sesiones, pero no es una contramedida fundamental. Los infostealers roban todas las cookies en el momento de la infección, por lo que si la eliminación ocurre después de la infección, es demasiado tarde. Más que la eliminación de cookies, prevenir la infección por infostealers (actualizaciones del SO, evitar software sospechoso) y no guardar contraseñas en navegadores son más importantes.

Términos relacionados