Saltar al contenido principal

Para la mayoría de la gente, entrar en sitios web o portales es una parte cotidiana del uso de Internet. Cada vez que inicias sesión 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 produzca la comunicación a través de Internet, pero también abre el riesgo de que alguien la secuestre. Sigue leyendo para obtener más información sobre el secuestro de sesiones, cómo funciona y cómo protegerte.

¿Qué es un secuestro de sesión?

El secuestro de sesión, a veces denominado secuestro de cookies, secuestro lateral de cookies o secuestro de sesión TCP, se produce cuando un atacante se apodera de tu sesión de Internet. Esto puede ocurrir cuando realizas compras, pagas una factura o consultas tu saldo bancario en línea. Los secuestradores de sesiones suelen dirigirse a navegadores o aplicaciones web, y su objetivo es tomar el control de tu sesión de navegación para acceder a 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 les 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 contraseña) antes de abrir la línea de comunicación y proporcionarle acceso. Sin embargo, las conexiones HTTP por sí solas están "sin estado", lo que significa que cada acción que realiza un usuario se ve de forma independiente. Como consecuencia, si dependiéramos únicamente de las conexiones HTTP, los usuarios tendrían que volver a autenticarse para cada acción que realizan o página que ven.

Las sesiones resuelven este problema. Una vez que el usuario accede al sistema, se crea una sesión en el servidor que aloja el sitio web o la aplicación, la cual sirve de referencia para la autenticación inicial. Los usuarios pueden permanecer autenticados mientras una sesión esté abierta en el servidor y pueden finalizarla cerrando la sesión en el servicio. Algunos servicios finalizan una sesión después de un período determinado de inactividad.

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

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

Este es un ejemplo hipotético de cómo funciona el secuestro de sesión:

Paso 1: un usuario se conecta a una cuenta de forma normal. 

Puede ser su cuenta bancaria o de tarjeta de crédito en línea, 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. Esta cookie contiene información sobre el usuario que le permite al sitio mantenerlo autenticado y conectado y hacer un seguimiento de 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 automáticamente después de un período determinado de inactividad).

Paso 2: un delincuente accede a la sesión válida del usuario. 

Los ciberdelincuentes utilizan varios métodos para robar sesiones. A menudo, el secuestro de sesión consiste en robar la cookie de sesión del usuario, localizar el ID de sesión dentro de la cookie y utilizar esta información para obtener el control de la misma. El ID de sesión también se conoce como clave de sesión. Cuando el delincuente obtiene el ID de la sesión, puede obtener el control sin ser detectado.

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

Una vez que el usuario original de Internet continua con su recorrido en línea, el secuestrador puede utilizar la sesión en curso para cometer diversos actos maliciosos. Esto puede incluir el robo de dinero de la cuenta bancaria del usuario, la compra de artículos, la apropiación de datos personales para cometer un robo de identidad o el cifrado de 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 con un elevado número de sesiones de comunicación activas. Esto le proporciona al atacante un gran volumen de sesiones para atacar y le da una medida de protección, ya que el número de sesiones activas en el servidor hace que sea menos probable que lo detecten.

Tipos de secuestro de sesión

Scripting entre sitios
Un ataque de scripting entre sitios ocurre cuando los ciberdelincuentes aprovechan los puntos débiles de seguridad de un servidor web o una aplicación. En el scripting entre sitios, un atacante inyecta scripts en las páginas web. Estos hacen que el navegador web revele la clave de sesión al atacante para que pueda tomar el control.

Secuestro lateral de sesión (también conocido como sniffing)
En este tipo de ataque, el delincuente necesita acceder al tráfico de red del usuario. Puede obtener acceso cuando el usuario utiliza una red wifi no segura o mediante ataques de man-in-the-middle. En el secuestro de sesiones, un delincuente utiliza el "sniffing (supervisión) de paquetes" para supervisar 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 ID de sesión y engaña al usuario para que inicie una sesión con él. Esto podría lograrse enviando un correo electrónico al usuario con un vínculo a un formulario de inicio de sesión para el sitio web al que el atacante quiere acceder. El usuario inicia sesión con el ID de sesión falso, lo que le da acceso al atacante.

Ataque man-in-the-browser
Es similar al ataque man-in-the-middle, pero el atacante debe infectar primero el ordenador de la víctima con un troyano. Una vez que se engaña a la víctima para que instale software malicioso en el sistema, este espera a que la víctima visite un sitio objetivo. El software malicioso 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 solicitudes se inician desde el ordenador de la víctima, es muy difícil que el servicio web detecte que son falsas.

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

Una mujer accediendo 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 tienen algunas 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 ha iniciado 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 tiene que estar conectado en ese momento).

Esta distinción significa que los usuarios legítimos experimentan los ataques de forma diferente. Con el secuestro de sesión, un atacante puede hacer que el sitio web o la aplicación se comporte de forma inusual o incluso se bloquee para la víctima. Sin embargo, como el usuario no está conectado activamente durante un ataque de suplantació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. Entre estos peligros se encuentran los siguientes:

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 los confines del sitio web o la aplicación pirateados.

Robo financiero

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

Infección de malware

Si un pirata informático puede robar el ID de sesión de un usuario, también puede infectar su ordenador con software malicioso. Esto puede darle el control del ordenador de la víctima y robar sus datos.

Ataques de denegación de servicio (DoS)

Un pirata informático que obtenga el control de la sesión de un usuario podría lanzar un ataque DoS contra el sitio web o el servidor al que está conectado, lo que interrumpirá el servicio o provocará la caída del sitio.


Acceso a sistemas adicionales mediante SSO

SSO (del inglés "single sign on") significa inicio de sesión único. Los atacantes también pueden obtener acceso no autorizado a sistemas adicionales si el SSO está activado, lo que extiende aún más el riesgo potencial de un ataque de secuestro de sesión. Este riesgo es especialmente importante para las organizaciones, muchas de las cuales ahora utilizan el SSO en los dispositivos de los empleados. En última instancia, esto significa que incluso los sistemas altamente protegidos con protocolos de autenticación más fuertes y cookies de sesión menos predecibles, como los que albergan información financiera o de clientes, solo pueden estar tan protegidos 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 de los secuestradores de sesiones, algo que incluso recibió el apodo de "zoom bombing". Hubo noticias de secuestradores de sesiones que se unieron a sesiones de vídeo privadas, en algunos casos gritando blasfemias y expresiones de odio y compartiendo imágenes pornográficas. En respuesta, Zoom introdujo mayores niveles de protección de la privacidad para minimizar el riesgo de futuros ataques.

Slack
En 2019, un investigador de una plataforma de recompensas de errores identificó una vulnerabilidad en Slack que les permitía a los atacantes redirigir a los usuarios a sesiones falsas para poder robar sus cookies. Esto les daba a los delincuentes acceso a todos los datos compartidos en Slack (que, para muchas organizaciones, puede ser importante). Slack no tardó en responder y parcheó la vulnerabilidad en menos de 24 horas, desde que el investigador la pusiera de manifiesto.

GitLab

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

Cómo evitar un secuestro de sesión

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

Evita las redes wifi 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 wifi públicas. Puede que haya un ciberdelincuente cerca que esté utilizando el sniffing de paquetes para intentar recoger las cookies de sesión y otra información.

Usa una VPN
Si necesitas utilizar una red wifi pública, utiliza una red virtual privada (VPN) para maximizar tu seguridad y mantener a los 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 Internet. Una VPN cifra los datos que envías y recibes.

Presta atención al 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 hacer clic. El vínculo puede instalar software malicioso en tu dispositivo o llevarte 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.

Utilizar software antivirus 
Instala software antivirus de buena reputación que pueda detectar fácilmente virus y protegerte de cualquier tipo de software malicioso (incluido el que los atacantes utilizan para realizar secuestros de sesión). Mantén tus sistemas al día, configurando actualizaciones automáticas en todos los dispositivos.

Productos relacionados:

Más información:

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

En un secuestro de sesión, un atacante se apodera de una sesión de Internet para poder obtener acceso no autorizado a datos o recursos. Obtener más información.
Kaspersky Logo