Doubleclickjacking: la nueva amenaza de los ataques con doble clic

Las amenazas a la ciberseguridad siguen diversificándose y las técnicas de ataque evolucionan para burlar las protecciones existentes. Entre estas nuevas formas de ataque, el double-clickjacking destaca por su capacidad para explotar vulnerabilidades en los sistemas de seguridad a través del doble clic del ratón. Si el clickjacking ya era un método formidable, su variante, el doubleclickjacking, descubierta recientemente por Paulos Yibelo, ingeniero de seguridad de Amazon, podría representar un reto aún mayor para desarrolladores y administradores de redes.

Comprender el principio del clickjacking

Inicialmente, el clickjacking se basa en ocultar elementos maliciosos detrás de botones o enlaces inofensivos. Cuando los usuarios hacen clic en lo que creen que es un elemento legítimo, en realidad están activando una acción oculta, a menudo en beneficio de los piratas informáticos. Ya sea para filtrar datos confidenciales o para instalar software malicioso, esta técnica ha sido durante mucho tiempo una herramienta popular entre los ciberdelincuentes.

El clickjacking se aprovecha de la confianza que los internautas depositan en sitios web conocidos. Los atacantes incrustan elementos maliciosos ocultos en páginas web aparentemente inocuas, a menudo utilizando iframes u otras técnicas para disfrazar su verdadera naturaleza. Cuando un usuario interactúa con el contenido legítimo, activa inadvertidamente los elementos fraudulentos ocultos, lo que puede provocar el robo de datos, la instalación de programas no deseados o acciones no autorizadas.

Esta técnica suele consistir en engañar al usuario para que haga clic en algo que parece inocuo, cuando en realidad se trata de un enlace o botón oculto que desencadena la acción perversa. Los ataques clásicos de secuestro de clics suelen mitigarse mediante cabeceras HTTP como X-Frame-Options, que limitan la capacidad de un sitio para enmarcarse dentro de otro, y el atributo SameSite: Lax/Strict para cookies, que limita la transmisión de cookies en contextos entre sitios. Sin embargo, como muestra la investigación de Paulos Yibelo, el doubleclickjacking consigue eludir estas defensas.

Doubleclickjacking: cómo funciona y sus implicaciones

Cómo funciona el doubleclickjacking

El doubleclickjacking aprovecha el retardo entre el primer clic y el segundo en una secuencia de doble clic. Cuando un usuario hace doble clic en un botón aparentemente inocuo, la primera acción desencadena la aparición de una ventana superpuesta. Esta ventana puede mostrar una simple solicitud de autorización, como un CAPTCHA. Lo que ocurre en segundo plano es mucho más siniestro.

Entre los dos clics, el script JavaScript modifica la acción de doble clic para interactuar con un elemento sensible, como un botón de confirmación de autorización OAuth o un enlace a una página de cuentas críticas. El resultado es que el usuario acaba haciendo clic en algo que no había validado intencionadamente, lo que permite a los atacantes explotar esta interacción para sus propios fines.

«Uno de los aspectos sorprendentes de este método es que no importa lo lento o rápido que el objetivo haga doble clic. Centrarse en el manejador del evento mousedown permite explotar esto incluso para los usuarios más rápidos o lentos.»
Paulos Yibelo

Doubleclickjacking en pocas palabras: una amenaza insidiosa

Doubleclickjacking aprovecha un pequeño intervalo de tiempo entre mousedown (inicio del clic) y onclick (fin del clic) para realizar un rápido cambio de ventana. Esta técnica permite a los atacantes sustituir una ventana inocua por otra que contiene elementos sensibles antes de que el usuario complete el doble clic. El usuario piensa que está realizando una acción inofensiva, cuando en realidad está autorizando involuntariamente una acción maliciosa.

¿Cómo funciona?

  1. Ventana inicial: se abre una ventana aparentemente inofensiva (por ejemplo, comprobación CAPTCHA).
  2. Intercambio de ventanas: antes del segundo clic, la ventana inofensiva se sustituye por una ventana de destino, de la misma sesión, que contiene los elementos maliciosos (por ejemplo, autorización OAuth).
  3. Explotación de la sincronización: el primer clic (mousedown) cierra la ventana inofensiva, revelando la ventana de destino.
  4. Segundo clicmalicioso: el segundo clic, realizado por el usuario, activa el elemento sensible en la ventana de destino, sin que el usuario sea consciente de ello. Esta acción puede ir desde autorizar el acceso a una cuenta hasta validar un pago fraudulento.
attaque doubleclicjacking
Secuencia de ataque Doubleclickjacking – Fuente Paulos Yibelo

¿Por qué es peligroso?

Esta técnica es especialmente peligrosa porque permite a los atacantes :

  • Desviar acciones sensibles: los usuarios pueden ser engañados para que autoricen aplicaciones fraudulentas de terceros o realicen otras acciones que comprometan su seguridad sin darse cuenta. A diferencia del phishing, que requiere una interacción más explícita y a menudo un cierto grado de credulidad por parte de la víctima, el double-clickjacking aprovecha una laguna técnica para actuar de forma insidiosa y automática.
  • Eludir las protecciones existentes: incluso los sitios web que utilizan protecciones contra el clickjacking pueden ser vulnerables a estos ataques, ya que el double-clickjacking no se basa en el mismo mecanismo.

El double-clickjacking es una amenaza grave que requiere una vigilancia constante por parte de desarrolladores y usuarios. A diferencia del phishing, que se basa en la ingeniería social, este ataque aprovecha un fallo técnico para causar daños importantes.

Doubleclickjacking frente al clickjacking clásico: las principales diferencias

Aunque el doubleclickjacking es una evolución del clickjacking clásico, existen varias diferencias clave entre ellos.

Clickjacking clásico :

  • Mecanismo: el atacante incluye un elemento invisible o camuflado en una página web legítima. Cuando el usuario hace clic en este elemento, es redirigido sin saberlo a un sitio malicioso.
  • Protección: los navegadores han establecido medidas de protección como X-Frame-Options y SameSite cookies para limitar los riesgos de clickjacking.

Doubleclickjacking :

  • Mecanismo: el atacante aprovecha una secuencia de doble clic para engañar al usuario. Abre una ventana emergente con un botón aparentemente inofensivo. Cuando el usuario hace doble clic en este botón, el atacante sustituye rápidamente la ventana por una página sensible (como una página de inicio de sesión o de pago).
  • Protección: la protección convencional contra el clickjacking no siempre es eficaz contra el doble clickjacking. Se necesitan nuevas medidas de protección, como el uso de scripts del lado del cliente para desactivar por defecto los botones sensibles.

Casos prácticos y demostraciones

Paulos Yibelo ha demostrado con éxito la viabilidad de estos ataques en plataformas populares como Salesforce, Slack y Shopify. Por ejemplo, fue capaz de autorizar indebidamente aplicaciones de terceros para acceder a las cuentas de los usuarios o desactivar ajustes de seguridad críticos.

https://www.youtube.com/watch?v=4rGvRRMrD18&embeds_referring_euri=https%3A%2F%2Fwww.paulosyibelo.com%2F&source_ve_path=OTY3MTQ
Ejemplo de ataque a una cuenta de Salesforce – Fuente Paulos Yibelo

Esta técnica no se limita a las páginas web estándar. También puede dirigirse a las extensiones de los navegadores, lo que abre la puerta a la posibilidad de comprometer monederos criptográficos, aplicaciones web3 e incluso servicios VPN.

Defensas contra el double-clickjacking

Límites de la protección existente

Los métodos tradicionales de protección contra el clickjacking, como las cabeceras HTTP, son ineficaces contra el doble clickjacking. Esto se debe a que estas defensas no están diseñadas para tener en cuenta los matices de la sincronización y el orden de los eventos utilizados en esta nueva forma de ataque.

Sin iframes ni intentos de transferir cookies entre dominios, el doublebleclickjacking elude los mecanismos de detección establecidos, por lo que requiere enfoques de seguridad realmente innovadores y específicos para esta amenaza.

Nuevas soluciones

Para contrarrestar el doublebleclickjacking, es necesario desarrollar nuevos scripts de protección del lado del cliente. Estos scripts de JavaScript podrían desactivar por defecto los botones sensibles o los enlaces críticos hasta que se detecten interacciones de usuario más fiables. He aquí algunos enfoques posibles:

  • Desactivación debotones críticos hasta que se detecte una interacción gestual válida.
  • Verificación reforzada de las acciones del usuario mediante varios pasos de validación
  • Supervisión continua de las interacciones del usuario para detectar patrones sospechosos.
  • A largo plazo, los navegadores podrían adoptar nuevas normas para limitar el cambio rápido de contexto entre ventanas durante una secuencia de doble clic.
  • Buenas prácticas para los desarrolladores: se recomienda integrar scripts de protección en las páginas sensibles (autenticación, pagos, etc.) hasta que los navegadores dispongan de soluciones integradas.

Además de las soluciones técnicas, sigue siendo esencial una mayor vigilancia por parte de los usuarios. Antes de validar un doble clic, tómese una fracción de segundo para examinar atentamente el contenido de la pantalla, comprobar la URL del sitio web y asegurarse de que la operación es legítima. Aunque el doble clic sea un gesto automático, no hay que olvidar que durante este breve instante, una página maliciosa puede sustituir a la legítima. Hay que tener cuidado para contrarrestar esta insidiosa amenaza, porque incluso el doble clic más rápido puede dejarle vulnerable a este tipo de ataque.

En resumen, el doubleclickjacking representa una nueva frontera en los ataques de redirección de la interfaz de usuario. Su capacidad para eludir los mecanismos de seguridad tradicionales aprovechando los dobles clics plantea importantes retos a los profesionales de la ciberseguridad. Es esencial mantenerse alerta y aplicar estrategias de defensa adecuadas para proteger eficazmente a los usuarios contra esta amenaza perniciosa.

Para saber más: DoubleClickjacking: A New Era of UI Redressing (Paulos Yibelo)

Partager cet article

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *