Saltar al contenido principal

¿Qué es el secuestro de sesión y cómo funciona?

Una mujer trabajando en una computadora portátil

Para la mayoría de las personas, acceder a sitios web o portales es una parte cotidiana del uso de Internet. Cada vez que entras en un sitio web, se crea una sesión. Una sesión es la comunicación entre dos sistemas, que permanece activa hasta que el usuario finaliza la comunicación. Iniciar una sesión es esencial para que se establezca la comunicación por medio de Internet, pero también acarrea el riesgo de que se secuestre la sesión. Sigue leyendo para saber más sobre el secuestro de sesión, cómo funciona y cómo protegerte.

¿Qué es el secuestro de sesión?

El secuestro de sesión (a veces llamado secuestro de cookies, secuestro lateral de cookies o secuestro de sesión en TCP) ocurre cuando un atacante se apodera de tu sesión de Internet. Esto puede ocurrir cuando compras en Internet, pagas una factura o consultas tu saldo bancario. Los secuestradores de sesiones suelen tener como objetivo navegadores o aplicaciones web, y su propósito es tomar el control de tu sesión de navegación para acceder a tu información personal y contraseñas.

Los secuestradores de sesiones engañan a los sitios web haciéndoles creer que eres tú. Este tipo de ataque puede tener graves consecuencias para la seguridad de las aplicaciones, ya que permite a los atacantes obtener acceso no autorizado a cuentas protegidas (y a los datos que contienen) haciéndose pasar por un usuario legítimo.

¿Qué es una sesión?

Cada vez que un usuario accede a un sitio web o a una aplicación a través de una conexión HTTP, el servicio autentica al usuario (por ejemplo, mediante un nombre de usuario y una contraseña) antes de abrir la línea de comunicación y brindarle acceso. Sin embargo, las conexiones HTTP por sí solas son "sin estado", lo que significa que cada acción que realiza un usuario se ve de forma independiente. Como consecuencia, si solo dependiéramos del HTTP, los usuarios tendrían que volver a autenticarse en cada acción que realicen o por cada página que vean.

Las sesiones solucionan este problema. Una vez que el usuario se conecta, se crea una sesión en el servidor que aloja el sitio web o la aplicación y sirve de referencia para la autenticación inicial. Los usuarios pueden permanecer autenticados mientras permanezca abierta una sesión en el servidor y pueden finalizar la sesión cerrando la sesión en el servicio. Algunos servicios finalizan una sesión tras un período determinado de inactividad.

Muchos servicios crean estas sesiones emitiendo un identificador de sesión, una cadena de números y letras que se almacena en cookies de sesión temporales, una URL o los campos ocultos del sitio web. En algunos casos, pero no en todos, estos identificadores de sesión están cifrados. A menudo, los identificadores de sesión se basan en información predecible, como la dirección IP del usuario.

¿Cómo funciona el secuestro de sesión?

A continuación, mostramos un ejemplo hipotético de cómo podría funcionar el secuestro de sesión:

Paso 1: Un usuario de Internet se conecta a una cuenta como lo suele hacer. 

Puede ser su cuenta bancaria o de tarjeta de crédito, una tienda en línea, una aplicación o un portal. La aplicación o el sitio web instala una cookie de sesión temporal en el navegador del usuario. Esa cookie contiene información sobre el usuario que permite que el sitio mantenga la autenticación y conexión del usuario, y rastree su actividad durante la sesión. La cookie de sesión permanece en el navegador hasta que el usuario cierra la sesión (o se desconecta de forma automática tras un período determinado de inactividad).

Paso 2: Un delincuente obtiene acceso a la sesión válida del usuario de Internet. 

Los ciberdelincuentes utilizan varios métodos para robar sesiones. A menudo, el secuestro de sesión implica robar la cookie de sesión del usuario, localizar el identificador de la sesión en la cookie y usar esa información para apoderarse de la sesión. El identificador de sesión también se conoce como clave de sesión. Cuando el delincuente obtiene el identificador de sesión, puede hacerse con el control de la sesión sin que se detecte.

Paso 3: El secuestrador de sesión recibe un pago por robar la sesión.

Una vez que el usuario de Internet original sigue con su recorrido en línea, el secuestrador puede utilizar la sesión en curso para cometer diversos actos maliciosos. Esto puede incluir robar dinero de la cuenta bancaria del usuario, comprar artículos, apropiarse de datos personales para cometer un robo de identidad o cifrar datos importantes para luego exigir un rescate por su devolución.

Los ataques de secuestro de sesión suelen llevarse a cabo contra redes ocupadas que tienen muchas sesiones de comunicación activas. Esto le ofrece al atacante un gran volumen de sesiones de las cuales podrá abusar y le da una medida de protección, ya que la cantidad de sesiones activas en el servidor hace que sea menos probable su detección.

Tipos de secuestro de sesión

Scripting entre sitios
Un ataque de scripting entre sitios implica que los ciberdelincuentes abusan de los puntos débiles de seguridad en un servidor web o una aplicación. Mediante el scripting entre sitios, un atacante inyecta scripts en páginas web, lo que provoca que tu navegador revele tu clave de sesión al atacante para que pueda tomar el control de la sesión.

Secuestro lateral de sesiones (también conocido como "session sniffing")
En este tipo de ataque, un delincuente necesita acceder al tráfico de red de un usuario. Puede obtener acceso cuando el usuario utiliza una red Wi-Fi no segura o mediante los llamados ataques de intermediario. En el secuestro lateral de sesiones, un delincuente utiliza el "analizador de paquetes" para vigilar el tráfico de red de un usuario de Internet en busca de sesiones. Esto le permite al atacante obtener una cookie de sesión y utilizarla para apoderarse de ella.

Fijación de sesión 
En un ataque de fijación de sesión, el delincuente crea un identificador de sesión y engaña al usuario para que inicie una sesión con dicho identificador. Esto podría lograrse enviando un correo electrónico al usuario con un vínculo a un formulario de inicio de sesión del sitio web al que el atacante desea acceder. El usuario inicia sesión con el identificador de sesión falso, lo que le permite al atacante acceder al sistema.

Ataque man-in-the-browser
Es similar al ataque de intermediario, pero el atacante debe infectar primero la computadora de la víctima con un troyano. Una vez que se engaña a la víctima para que instale el malware en el sistema, el malware espera a que la víctima visite el sitio objetivo. El malware man-in-the-browser puede modificar de forma invisible la información de las transacciones y también puede crear transacciones adicionales sin que el usuario lo sepa. Como las peticiones se inician desde la computadora de la víctima, es muy difícil que el servicio web detecte que estas peticiones son falsas.

Identificador de token de sesión predecible
Muchos servidores web utilizan un algoritmo personalizado o un patrón predefinido para generar identificadores de sesión. Cuanto más predecible sea un token de sesión, más débil será. Si los atacantes pueden obtener varios identificadores y analizar el patrón, pueden ser capaces de predecir un identificador de sesión válido. Este enfoque puede compararse con un ataque de fuerza bruta.

Una mujer se conecta a un sitio de banca en línea

¿En qué se diferencia el secuestro de sesión de la suplantación de sesión?

El secuestro de sesión y la suplantación de sesión comparten similitudes, pero no son el mismo tipo de ataque. La principal diferencia entre ambos es que el secuestro de sesión se produce cuando un usuario legítimo ya inició una sesión web. Por el contrario, la suplantación de sesión se produce cuando los atacantes se hacen pasar por un usuario para iniciar una nueva sesión web (lo que significa que el usuario no debe tener una conexión activa en ese momento).

Esta distinción significa que los usuarios legítimos experimentan los ataques de forma diferente. En un secuestro de sesión, el atacante que interrumpe la sesión puede hacer que el sitio web o la aplicación se comporte de forma inusual o incluso que se bloquee para la víctima. Sin embargo, como el usuario no tiene una conexión activa durante un ataque de suplantación de sesión, no experimentará ninguna interrupción durante su próxima sesión.

Impacto de los ataques de secuestro de sesión

Existen muchos riesgos asociados a no tomar medidas para evitar el secuestro de sesión. Estos son algunos de los peligros:

Robo de identidad 

Al obtener acceso no autorizado a la información personal confidencial guardada en las cuentas, los atacantes pueden robar la identidad de la víctima más allá de lo que abarca el sitio web o la aplicación hackeados.

Robo financiero

Mediante un secuestro de sesión, los atacantes pueden obtener la capacidad de hacer transacciones financieras en nombre del usuario. Esto podría implicar transferir dinero de una cuenta bancaria o realizar compras con la información de pago guardada.

Infección de malware

Si un hacker puede robar el identificador de sesión de un usuario, también puede infectar su computadora con malware. Esto puede permitirles hacerse con el control del equipo del objetivo y robar sus datos.

Ataques de denegación de servicio (DoS)

Un hacker que obtenga el control de la sesión de un usuario podría lanzar un ataque DoS contra el sitio web o el servidor que tiene la conexión abierta, lo que interrumpirá el servicio o provocará la caída del sitio.


Acceso a sistemas adicionales mediante SSO

La sigla SSO proviene de "single sign on", que significa inicio de sesión único. Los atacantes también pueden obtener acceso no autorizado a sistemas adicionales si el SSO está habilitado, lo que aumenta aún más el riesgo potencial de un ataque de secuestro de sesión. En especial, este riesgo es importante para las organizaciones, ya que muchas ahora habilitaron el SSO para sus empleados. En última instancia, esto significa que incluso los sistemas con fuertes protecciones mediante protocolos de autenticación más sólidos y cookies de sesión menos predecibles (como las que almacenan información financiera o de clientes), solo pueden estar tan protegidos tanto como el eslabón más débil de todo el sistema.

Ejemplos de ataques de secuestro de sesión

Zoom bombing
Durante la pandemia de COVID-19, el mundo recurrió a aplicaciones de videoconferencia como Zoom. Estas aplicaciones se convirtieron en un objetivo popular para los secuestradores de sesiones, e incluso se ganaron el apodo de "zoom bombing". Aparecieron noticias de secuestradores de sesiones que se unieron a sesiones de video privadas, en algunos casos gritando blasfemias, expresiones de odio y compartiendo imágenes pornográficas. Como respuesta a ello, Zoom introdujo mayores protecciones de la privacidad para minimizar el riesgo.

Slack
En 2019, un investigador de una plataforma de recompensas de errores identificó una vulnerabilidad en Slack que les permitía a los atacantes forzar a los usuarios a sufrir redirecciones de sesiones falsas para poder robar sus cookies de sesión. Esto les dio a los atacantes acceso a todos los datos compartidos en Slack (que, para muchas organizaciones, puede ser muy significativo). Slack no tardó en responder y aplicó parches a la vulnerabilidad en las 24 horas siguientes a que el investigador las notificara.

GitLab

En 2017, un investigador de seguridad identificó una vulnerabilidad en GitLab mediante la cual los tókenes de sesión de los usuarios estaban disponibles en la URL. Investigaciones posteriores revelaron que GitLab también utilizaba tókenes de sesión persistentes que nunca caducaban, lo que significaba que una vez que un atacante obtenía un token de sesión, podía utilizarlo sin preocuparse de su caducidad. Tanto la exposición abierta como los tókenes persistentes suponían un grave riesgo, ya que exponían a los usuarios a varios ataques graves mediante el secuestro de la sesión a través de un ataque de fuerza bruta. GitLab corrigió la vulnerabilidad cambiando la forma en que utilizaba y almacenaba esos tókenes.

Cómo evitar un secuestro de sesión

Sigue estos consejos para prevenir los secuestros de sesión y aumentar tu seguridad en línea:

Evita las redes Wi-Fi públicas
Evita realizar transacciones importantes como operaciones bancarias, compras en línea o iniciar sesión en tu correo electrónico o cuentas de redes sociales en redes Wi-Fi públicas. Puede que haya un ciberdelincuente cerca que esté utilizando un analizador de paquetes para intentar recoger las cookies de sesión y otra información.

Usa una VPN
Si necesitas utilizar una red Wi-Fi pública, utiliza una red privada virtual (VPN) para maximizar tu seguridad y mantener a estos secuestradores fuera de tus sesiones. Una VPN enmascara tu dirección IP y mantiene la privacidad de tus actividades en línea mediante la creación de un túnel privado a través del cual viaja toda tu actividad en línea. Una VPN cifra los datos que envías y recibes.

Presta atención a la suplantación de identidad (phishing) y otras estafas en línea
Evita hacer clic en los vínculos de un correo electrónico a menos que sepas que procede de un remitente legítimo. Los secuestradores de sesiones pueden enviarte un correo electrónico con un vínculo para que hagas clic en él. El vínculo puede instalar malware en tu dispositivo o redirigirte a una página de inicio de sesión que te registrará en un sitio utilizando un identificador de sesión preparado por el atacante.

Presta atención a la seguridad de los sitios
Los bancos, los proveedores de correo electrónico, los comercios en línea y las redes sociales de confianza disponen de medidas de seguridad para evitar el secuestro de sesiones. Busca sitios web cuya URL empiece con "https": la "s" significa "seguro". Utilizar tiendas en línea dudosas u otros proveedores que no dispongan de una seguridad robusta puede dejarte vulnerable ante un ataque de secuestro de sesión.

Utiliza software antivirus 
Instala un software antivirus de buena reputación que pueda detectar con facilidad virus y te proteja de cualquier tipo de malware (incluido el malware que los atacantes utilizan para realizar el secuestro de sesión). Mantén tus sistemas al día configurando actualizaciones automáticas en todos tus dispositivos.

Productos relacionados:

Más información:

¿Qué es el secuestro de sesión y cómo funciona?

El secuestro de sesión implica que un atacante se apodera de tu sesión de Internet para obtener acceso no autorizado a tus datos o recursos. Más información.
Kaspersky logo

Artículos relacionados