Magic Quadrant™ para la gestión de acceso privilegiado 2025: Netwrix reconocida por cuarto año consecutivo. Descarga el informe.

Plataforma
Glosario de ciberseguridadCatálogo de ataques
Eludir MFA con el ataque Pass-the-Cookie

Eludir MFA con el ataque Pass-the-Cookie

La autenticación multifactor (MFA) es una excelente manera de aumentar la seguridad tanto en las instalaciones locales como en la nube. Con MFA, cuando un usuario inicia sesión, se le requiere no solo su ID de usuario y contraseña, sino también un segundo factor de autenticación, como un código enviado a su teléfono. Este proceso reduce la superficie de ataque al impedir que los adversarios con credenciales de usuario robadas puedan iniciar sesión.

Sin embargo, la MFA no es una panacea de ciberseguridad. En particular, los adversarios pueden utilizar el ataque Pass-the-Cookie para usar las cookies del navegador para eludir la MFA y obtener acceso a los servicios en la nube. En esta publicación, exploraremos cómo funciona este ataque y las mejores prácticas de seguridad para defenderse contra él.

Las cookies del navegador permiten que las aplicaciones web almacenen información de autenticación del usuario, de modo que el usuario pueda permanecer conectado en lugar de tener que proporcionar su nombre de usuario y contraseña cada vez que navega a una nueva página en un sitio web. (Esto es similar a la autenticación Kerberos o NTLM, en la que se almacena localmente un artefacto en el sistema del usuario y se utiliza para futuras autenticaciones.)

Si MFA está habilitado, el usuario debe proporcionar una prueba adicional de su identidad, como aceptar una notificación push en su dispositivo móvil. Una vez que el usuario ha pasado MFA, se crea una cookie de navegador y se almacena para su sesión web.

Aunque las cookies simplifican la experiencia del usuario, conllevan una vulnerabilidad evidente: si alguien pudiera extraer las cookies adecuadas del navegador, podría autenticarse como otro usuario en una sesión de navegador web totalmente separada en otro sistema. En resumen, podrían usar la cookie para eludir la autenticación a través de MFA. (Esto es análogo al ataque de Pass the Hash en Active Directory.)

Cómo un adversario puede extraer cookies del navegador.

Veamos cómo un atacante podría extraer cookies utilizando el ejemplo del navegador Google Chrome. Chrome almacena las cookies en la siguiente ubicación en una base de datos SQLite:

      %localappdata%GoogleChromeUser DataDefaultCookies

The cookies for a given user are encrypted using keys tied to that user via the Microsoft Data Protection API (DPAPI). To access the cookie database and decrypt the cookies, an adversary can use the following mimikatz command:

dpapi::chrome /in:"%localappdata%GoogleChromeUser DataDefaultCookies" /unprotect

Alternatively, they could execute the following from the command line:

mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%googlechromeUSERDA~1defaultcookies /unprotect" exit
      

El uso de cualquiera de estas opciones proporcionará las cookies del navegador:

Image

Veamos cómo funcionaría un ataque Pass-the-Cookie en un escenario real.

Supongamos que el usuario Tobias es un administrador de TI. Una de las aplicaciones web que Tobias utiliza regularmente es el portal de administración de Microsoft Azure. Dado que MFA está habilitado, cuando Tobias inicia sesión en Azure, tiene que proporcionar un código de la aplicación de autenticación en su dispositivo móvil, como se muestra a continuación.

Image

Entonces, mientras nadie robe su iPhone, sus credenciales de Azure deberían estar seguras, ¿verdad? No tan rápido. Supongamos que Tobias ha hecho clic en un correo electrónico de phishing o su sistema ha sido comprometido por algún otro medio, y ahora un atacante puede ejecutar código dentro del contexto de usuario de Tobias. Tobias NO es un administrador en su portátil, así que el daño debería estar contenido, ¿cierto?

Veamos.

Paso 1. Extraiga las Cookies.

Como vimos anteriormente, todo lo que tenemos que hacer para obtener las cookies del navegador de Tobias es ejecutar este comando cuando se ejecute como Tobias:

      mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%googlechromeUSERDA~1defaultcookies /unprotect" exit
      

En este caso, nos preocupamos por las cookies de autenticación de Azure, incluyendo ESTSAUTH, ESTSAUTHPERSISTENT y ESTSAUTHLIGHT. Estas cookies están disponibles porque Tobias ha estado activo en Azure recientemente:

Image

Paso 2. Pasa las Cookies.

Podría parecer que, dado que no conocemos el ID de usuario o la contraseña de Tobias y no tenemos acceso a su dispositivo móvil, no podemos iniciar sesión en aplicaciones web como Azure como Tobias.

Pero ya que tenemos sus cookies, solo necesitamos pasarlas a otra sesión para tomar control de la cuenta de Tobias. Esto es bastante fácil de hacer: Simplemente abrimos Chrome en otro servidor y utilizamos la interfaz “Inspect” para insertar una cookie.

2.1. Primero, inspeccionamos la sesión robada:

Image

2.2. A continuación, navegamos a Application > Cookies. Como puede ver, las cookies actuales no incluyen ESTSAUTH o ESTSAUTHPERSISTENT:

Image

2.3. Agregamos la cookie ESTSAUTH o If ESTSAUTHPERSISTENT. (Si ESTSAUTHPERSISTENT está disponible, se prefiere porque es generada por la opción “Stay Signed In”.)

Image

2.4. Actualizamos la página y ahora hemos iniciado sesión en Azure como Tobias — ¡no se requiere MFA!

Image

Mitigando su riesgo

Los ataques Pass-the-Cookie son una amenaza seria por varias razones. Primero, un ataque Pass-the-Cookie no requiere derechos administrativos; todos los usuarios tienen acceso para leer y descifrar sus propias cookies del navegador, independientemente de si tienen derechos privilegiados en sus estaciones de trabajo. Segundo, el atacante no necesita conocer el ID de usuario o la contraseña de la cuenta comprometida, por lo que este ataque es posible con información mínima. Tercero, incluso fuimos capaces de completar ataques Pass-the-Cookie después de que el navegador se había cerrado.

Una forma de minimizar el riesgo de robo de cookies es borrar las cookies de los usuarios con más frecuencia. Sin embargo, esto obligará a los usuarios a volver a autenticarse cada vez que naveguen a un sitio, lo que les frustrará y hará que eviten cerrar sus navegadores para no perder sus cookies.

Una mejor estrategia es implementar productos de monitoreo de autenticación y detección de amenazas de estos. Netwrix Threat Manager puede detectar rápidamente cuentas que se están utilizando de maneras inesperadas para que pueda cerrar rápidamente la actividad maliciosa.

Preguntas frecuentes

Compartir en

Ver ataques de ciberseguridad relacionados

Abuso de permisos de aplicaciones Entra ID – Cómo funciona y estrategias de defensa

Modificación de AdminSDHolder – Cómo funciona y estrategias de defensa

Ataque AS-REP Roasting - Cómo funciona y estrategias de defensa

Ataque Hafnium - Cómo funciona y estrategias de defensa

Ataques DCSync explicados: Amenaza a la seguridad de Active Directory

Ataque de Pass the Hash

Entendiendo los ataques de Golden Ticket

Ataque de Cuentas de Servicio Administradas por Grupo

Ataque DCShadow – Cómo funciona, ejemplos del mundo real y estrategias de defensa

ChatGPT Prompt Injection: Comprensión de riesgos, ejemplos y prevención

Ataque de extracción de contraseñas de NTDS.dit

Ataque de Kerberoasting – Cómo funciona y estrategias de defensa

Explicación del ataque Pass-the-Ticket: Riesgos, ejemplos y estrategias de defensa

Ataque de Password Spraying

Ataque de extracción de contraseñas en texto plano

Explicación de la vulnerabilidad Zerologon: Riesgos, Explotaciones y Mitigación

Ataques de ransomware a Active Directory

Desbloqueando Active Directory con el ataque Skeleton Key

Movimiento lateral: Qué es, cómo funciona y prevenciones

Ataques de Hombre en el Medio (MITM): Qué son y cómo prevenirlos

Ataque de Silver Ticket

4 ataques a cuentas de servicio y cómo protegerse contra ellos

¿Por qué es PowerShell tan popular entre los atacantes?

Cómo prevenir que los ataques de malware afecten a su negocio

Comprometiendo SQL Server con PowerUpSQL

¿Qué son los ataques de Mousejacking y cómo defenderse de ellos?

Robo de credenciales con un Proveedor de Soporte de Seguridad (SSP)

Ataques de Rainbow Table: Cómo funcionan y cómo defenderse de ellos

Una mirada exhaustiva a los ataques de contraseñas y cómo detenerlos

Reconocimiento LDAP

¿Qué es Credential Stuffing?

Ataque Golden SAML