Articulo de referencia

Clickjacking

In a clickjacking attack, the user is presented with a false interface, where their input is applied to something they cannot see. Clickjacking (classified as a user interface r...

In a clickjacking attack, the user is presented with a false interface, where their input is applied to something they cannot see.

Clickjacking (classified as a user interface redress attack or UI redressing) is a malicious technique of tricking a user into clicking on something different from what the user perceives, thus potentially revealing confidential information or allowing others to take control of their computer while clicking on seemingly innocuous objects, including web pages.[1][2][3][4][5]

Clickjacking is an instance of the confused deputy problem, wherein a computer is tricked into misusing its authority.[6]

History

In 2002, it had been noted that it was possible to load a transparent layer over a web page and have the user's input affect the transparent layer without the user noticing.[7] However, fixes only started to trickle in around 2004,[8] and the general problem was mostly ignored as a major issue until 2008.[7]

In 2008, Jeremiah Grossman and Robert Hansen (of SecTheory) had discovered that Adobe Flash Player was able to be clickjacked, allowing an attacker to gain access to a user's computer without the user's knowledge.[7] Grossman and Hansen coined the term "clickjacking",[9][10] a portmanteau of the words "click" and "hijacking".[7]

As more attacks of a similar nature were discovered, the focus of the term "UI redressing" was changed to describe the category of these attacks, rather than just clickjacking itself.[7]

Description

One form of clickjacking takes advantage of vulnerabilities that are present in applications or web pages to allow the attacker to manipulate the user's computer for their own advantage.

Por ejemplo, una página web con clickjacking engaña al usuario para que realice acciones no deseadas haciendo clic en enlaces ocultos. En este tipo de páginas, los atacantes cargan otra página superpuesta a la original en una capa transparente para inducir al usuario a realizar acciones cuyos resultados no serán los esperados. Los usuarios, sin sospechar nada, creen que están haciendo clic en botones visibles, cuando en realidad están realizando acciones en la página oculta, haciendo clic en los botones de la página que se encuentra debajo de la capa. Esta página oculta puede ser una página de autenticación; por lo tanto, los atacantes pueden engañar a los usuarios para que realicen acciones que nunca pretendieron. No hay forma de rastrear estas acciones hasta los atacantes posteriormente, ya que los usuarios se habrían autenticado legítimamente en la página oculta.

Categorías de Clickjacking

  • Clásico: funciona principalmente a través de un navegador web [ 7 ]
  • Likejacking: utilizalas capacidades de redes sociales de Facebook [ 11 ] [ 12 ]
  • Anidado: clickjacking adaptado para afectar a Google+ [ 13 ]
  • Cursorjacking: manipula la apariencia y la ubicación del cursor [ 7 ]
  • MouseJacking : inyectar entrada de teclado o ratón a través de un enlace RF remoto [ 14 ]
  • Sin navegador: no utiliza un navegador [ 7 ]
  • Cookiejacking : adquiere cookies de los navegadores [ 7 ] [ 15 ]
  • Filejacking: capaz de configurar el dispositivo afectado como un servidor de archivos [ 7 ] [ 16 ] [ 17 ]
  • Ataque al administrador de contraseñas: clickjacking que utiliza una vulnerabilidad en la función de autocompletar de los navegadores [ 7 ].

Clásico

El clickjacking clásico se refiere a una situación en la que un atacante utiliza capas ocultas en las páginas web para manipular las acciones que realiza el cursor del usuario, lo que resulta en engañar al usuario sobre en qué se está haciendo clic realmente. [ 18 ]

Un usuario podría recibir un correo electrónico con un enlace a un vídeo sobre una noticia, pero otra página web, por ejemplo, la página de un producto en Amazon , puede estar oculta encima o debajo del botón de reproducción del vídeo. El usuario intenta reproducir el vídeo, pero en realidad compra el producto en Amazon. El atacante solo puede enviar un clic, por lo que se basa en que el visitante haya iniciado sesión en Amazon y tenga activada la compra con un clic.

Si bien la implementación técnica de estos ataques puede ser compleja debido a las incompatibilidades entre navegadores, varias herramientas como BeEF o Metasploit Project ofrecen una explotación casi totalmente automatizada de clientes en sitios web vulnerables. El clickjacking puede verse facilitado por otros ataques web, como el XSS , o bien puede facilitarlos . [ 19 ] [ 20 ]

Me gusta el secuestro

El likejacking es una técnica maliciosa que consiste en engañar a los usuarios que visitan un sitio web para que le den " Me gusta " a una página de Facebook u otras publicaciones/cuentas de redes sociales que no tenían intención de darles "Me gusta". [ 21 ] El término "likejacking" surgió de un comentario publicado por Corey Ballou en el artículo Cómo darle "Me gusta" a cualquier cosa en la web (de forma segura) , [ 22 ] que es una de las primeras publicaciones documentadas que explica la posibilidad de actividad maliciosa relacionada con el botón "Me gusta" de Facebook. [ 23 ]

Según un artículo de IEEE Spectrum , se desarrolló una solución para el secuestro de likes en uno de los hackatones de Facebook . [ 24 ] Existe un bookmarklet "Me gusta" que evita la posibilidad de secuestro de likes presente en el botón "Me gusta" de Facebook . [ 25 ]

Anidado

El clickjacking anidado, a diferencia del clickjacking clásico, funciona insertando un marco web malicioso entre dos marcos de la página web original e inofensiva : el de la página enmarcada y el que se muestra en la ventana superior. Esto se debe a una vulnerabilidad en el encabezado HTTP X-Frame-Options, donde, cuando este elemento tiene el valor SAMEORIGIN, el navegador web solo verifica las dos capas mencionadas. El hecho de que se puedan agregar marcos adicionales entre estos dos sin ser detectados significa que los atacantes pueden aprovechar esta vulnerabilidad.

En el pasado, con Google+ y la versión defectuosa de X-Frame-Options, los atacantes podían insertar marcos a su elección utilizando la vulnerabilidad presente en el motor de búsqueda de imágenes de Google . Entre los marcos de visualización de imágenes, que también estaban presentes en Google+, estos marcos controlados por el atacante podían cargarse sin restricciones, lo que permitía a los atacantes engañar a cualquier persona que accediera a la página de visualización de imágenes. [ 13 ]

secuestro de cursor

CursorJacking es una técnica de modificación de la interfaz de usuario para cambiar la posición del cursor respecto a la que percibe el usuario, descubierta en 2010 por Eddy Bordi, investigador de vulnerability.fr. [ 26 ] Marcus Niemietz lo demostró con un icono de cursor personalizado, y en 2012 Mario Heiderich lo hizo ocultando el cursor. [ 27 ]

Jordi Chancel, investigador de Alternativ-Testing.fr, descubrió una vulnerabilidad de CursorJacking que utiliza código Flash, HTML y JavaScript en Mozilla Firefox para sistemas Mac OS X (corregida en Firefox 30.0) y que puede conducir a la ejecución de código arbitrario y al espionaje de la cámara web. [ 28 ]

Jordi Chancel descubrió una segunda vulnerabilidad de CursorJacking en Mozilla Firefox para sistemas Mac OS X (corregida en Firefox 37.0), que utiliza nuevamente código Flash , HTML y JavaScript , lo que puede conducir al espionaje a través de una cámara web y a la ejecución de un complemento malicioso, permitiendo la ejecución de malware en el ordenador del usuario afectado. [ 29 ]

MouseJack

A diferencia de otras técnicas de clickjacking que manipulan la interfaz de usuario, MouseJack es una vulnerabilidad de interfaz de usuario basada en hardware inalámbrico reportada por primera vez por Marc Newlin de Bastille.net en 2016 que permite inyectar la entrada de teclado externo en dongles vulnerables. [ 30 ] Logitech proporcionó parches de firmware, pero otros fabricantes no respondieron a esta vulnerabilidad. [ 31 ]

Sin navegador

En el clickjacking sin navegador, los atacantes aprovechan las vulnerabilidades de los programas para replicar el clickjacking clásico en ellos, sin necesidad de utilizar un navegador web.

Este método de clickjacking es frecuente principalmente en dispositivos móviles, sobre todo en dispositivos Android , debido al funcionamiento de las notificaciones emergentes . Dado que estas notificaciones presentan un pequeño retraso entre el momento en que se solicitan y el momento en que se muestran en pantalla, los atacantes pueden aprovechar ese lapso para crear un botón ficticio oculto bajo la notificación que aún puede pulsarse. [ 7 ]

CookieJacking

El CookieJacking es una forma de clickjacking en la que se roban cookies de los navegadores web de la víctima . Esto se logra engañando al usuario para que arrastre un objeto que parece inofensivo, pero que en realidad le hace seleccionar todo el contenido de la cookie objetivo. A partir de ahí, el atacante puede obtener la cookie y todos los datos que contiene. [ 15 ]

FileJacking

En el ataque de secuestro de archivos (fileJacking), los atacantes utilizan la capacidad del navegador web para navegar por el ordenador y acceder a sus archivos con el fin de obtener datos personales. Lo hacen engañando al usuario para que establezca un servidor de archivos activo (a través de la ventana de selección de archivos y carpetas que utilizan los navegadores). De esta forma, los atacantes pueden acceder a los archivos de los ordenadores de sus víctimas y sustraerlos. [ 16 ]

Ataque al gestor de contraseñas

Un estudio de 2014 realizado por investigadores de la Universidad Carnegie Mellon reveló que, si bien los navegadores se niegan a autocompletar si el protocolo de la página de inicio de sesión actual difiere del protocolo utilizado al guardar la contraseña, algunos gestores de contraseñas completan de forma insegura las contraseñas guardadas con HTTPS para la versión HTTP. La mayoría de los gestores no ofrecen protección contra ataques basados ​​en iFrame y redirecciones , y exponen contraseñas adicionales cuando se ha utilizado la sincronización de contraseñas entre varios dispositivos. [ 17 ]

Prevención

Lado del cliente

NoScript

La protección contra clickjacking (incluido likejacking) se puede agregar a las versiones de escritorio y móviles de Mozilla Firefox [ 32 ] instalando el complemento NoScript : su función ClearClick, lanzada el 8 de octubre de 2008, impide que los usuarios hagan clic en elementos de página invisibles o "rediseñados" de documentos o applets incrustados. [ 33 ] Según el "Manual de seguridad del navegador" de Google de 2008, ClearClick de NoScript es un "producto disponible gratuitamente que ofrece un grado razonable de protección" contra Clickjacking. [ 34 ] La protección contra el ataque más reciente de cursorjacking se agregó a NoScript 2.2.8 RC1. [ 27 ]

NoClickjack

El complemento para navegador web "NoClickjack" ( extensión ) añade protección contra clickjacking del lado del cliente para usuarios de Google Chrome , Mozilla Firefox , Opera y Microsoft Edge, sin interferir con el funcionamiento de los iFrames legítimos. NoClickjack se basa en tecnología desarrollada para GuardedID. El complemento NoClickjack es gratuito.

Identificación protegida

GuardedID (un producto comercial) incluye protección contra clickjacking del lado del cliente para usuarios de Internet Explorer sin interferir con el funcionamiento de los iFrames legítimos. [ 35 ] La protección contra clickjacking de GuardedID obliga a que todos los marcos se vuelvan visibles. GuardedID se asocia con el complemento NoClickjack para agregar protección para Google Chrome , Mozilla Firefox , Opera y Microsoft Edge .

Gacela

Gazelle es un navegador web seguro del proyecto de Microsoft Research basado en IE, que utiliza un modelo de seguridad similar al de un sistema operativo y tiene sus propias defensas limitadas contra el clickjacking. [ 36 ] En Gazelle, una ventana de origen diferente solo puede dibujar contenido dinámico sobre el espacio de pantalla de otra ventana si el contenido que dibuja es opaco.

Observador de intersecciones v2

La API Intersection Observer v2 [ 37 ] introduce el concepto de rastrear la "visibilidad" real de un elemento objetivo tal como la definiría un ser humano. [ 38 ] Esto permite que un widget con marco detecte cuándo está siendo cubierto. Esta función está habilitada de forma predeterminada desde Google Chrome 74, lanzado en abril de 2019. [ 39 ] La API también está implementada por otros navegadores basados ​​en Chromium , como Microsoft Edge y Opera.

Lado del servidor

Framekiller

Los propietarios de sitios web pueden proteger a sus usuarios contra la manipulación de la interfaz de usuario (clickjacking basado en marcos) en el lado del servidor incluyendo un fragmento de JavaScript framekiller en aquellas páginas que no desean que se incluyan dentro de marcos de diferentes fuentes. [ 34 ]

Este tipo de protección basada en JavaScript no siempre es fiable. Esto es especialmente cierto en Internet Explorer, [ 34 ] donde este tipo de contramedida puede eludirse "por diseño" al incluir la página objetivo dentro de un elemento. [ 40 ]<IFRAMESECURITY=restricted>

Opciones de marco X

Introducido en 2009 en Internet Explorer 8 fue un nuevo encabezado HTTP X-Frame-Optionsque ofrecía una protección parcial contra clickjacking [ 41 ] [ 42 ] y fue adoptado por otros navegadores ( Safari , [ 43 ] Firefox , [ 44 ] Chrome , [ 45 ] y Opera [ 46 ] ) poco después. El encabezado, cuando lo establece el propietario del sitio web, declara su política de enmarcado preferida: los valores de DENY, , o impedirán cualquier enmarcado, enmarcado por sitios externos o permitirán el enmarcado solo por el sitio especificado, respectivamente. Además de eso, algunos sitios publicitarios devuelven un valor no estándar con la intención de permitir enmarcar su contenido en cualquier página (equivalente a no establecer X-Frame-Options en absoluto).ALLOW-FROM originSAMEORIGINALLOWALL

En 2013, el encabezado X-Frame-Options se publicó oficialmente como RFC 7034, [ 47 ] pero no es un estándar de Internet. El documento se proporciona únicamente con fines informativos. La Recomendación de Nivel 2 de la Política de Seguridad de Contenido del W3C proporciona una directiva de seguridad alternativa, frame-ancestors, que pretende reemplazar el encabezado X-Frame-Options. [ 48 ]

Un encabezado de seguridad como X-Frame-Options no protegerá a los usuarios contra ataques de clickjacking que no utilicen un marco. [ 49 ]

Política de seguridad de contenido

La frame-ancestorsdirectiva de Política de Seguridad de Contenido (introducida en la versión 1.1) permite o prohíbe la incrustación de contenido de páginas potencialmente maliciosas mediante iframe, object, etc. Esta directiva reemplaza a la directiva X-Frame-Options. Si una página se sirve con ambas cabeceras, el navegador debería priorizar la política frame-ancestors, [ 50 ] aunque este requisito fue ignorado por versiones anteriores de algunos navegadores. [ 51 ]

Ejemplos frame-ancestorsde políticas:

# No se permite la incrustación. Todos los iframes, etc., estarán en blanco o contendrán una página de error específica del navegador. Política de seguridad de contenido: frame-ancestors 'ninguno'
# Permitir únicamente la inserción de contenido propio . Política de seguridad de contenido: ancestros de marco 'self'
# Permitir que orígenes específicos incrusten este contenido Política de seguridad de contenido: ancestros de marcos www.example.com www.wikipedia.org

Véase también

Referencias

  1. Robert McMillan (17 de septiembre de 2008). "A petición de Adobe, los hackers descartan hablar de 'clickjacking'" . PC World. Archivado del original el 17 de julio de 2015. Consultado el 8 de octubre de 2008 .
  2. Megha Dhawan (29 de septiembre de 2008). "Cuidado, los secuestradores de clics andan al acecho" . The Times of India . Archivado del original el 24 de julio de 2009. Consultado el 8 de octubre de 2008 .
  3. Dan Goodin (7 de octubre de 2008). "Un juego en línea convierte a la PC en un zombi de vigilancia encubierta" . The Register . Consultado el 8 de octubre de 2008 .
  4. Fredrick Lane (8 de octubre de 2008). "Los internautas se enfrentan a una nueva y peligrosa amenaza: el 'clickjacking'"." . newsfactor.com. Archivado del original el 13 de octubre de 2008. Consultado el 8 de octubre de 2008 .
  5. Shahriar, Hossain; Devendran, Vamshee Krishna (4 de julio de 2014). "Clasificación de ataques de clickjacking y técnicas de detección" . Information Security Journal: A Global Perspective . 23 ( 4–6 ): 137–147 . doi : 10.1080/19393555.2014.931489 . ISSN 1939-3555 . S2CID 43912852 .  
  6. ↑ ¡ El ayudante del sheriff confundido vuelve a la carga!, Tyler Close, octubre de 2008
  7. 1 2 3 4 5 6 7 8 9 10 11 12 Niemietz, Marcus (2012). "Ataques de reparación de interfaz de usuario en dispositivos Android" (PDF) . Black Hat .
  8. "162020 - Ventana emergente de diálogo XPInstall/seguridad cuando el usuario está a punto de hacer clic (comentario 44)" . Rastreador de errores de Mozilla/Firefox .
  9. No conoces (click)jack Robert Lemos, octubre de 2008
  10. JAstine, Berry. "Número de ayuda de Facebook 1-888-996-3777" . Consultado el 7 de junio de 2016 .
  11. "Un gusano viral de clickjacking 'Me gusta' afecta a usuarios de Facebook" . Naked Security . 31 de mayo de 2010. Consultado el 23 de octubre de 2018 . 
  12. "Gusano de Facebook – "Likejacking" " . Naked Security . 31 de mayo de 2010 . Consultado el 23 de octubre de 2018 .
  13. 1 2 Lekies, Sebastian (2012). "Sobre la fragilidad y las limitaciones de los esquemas de protección contra el clickjacking proporcionados por los navegadores actuales" (PDF) . USENIX .
  14. "Trucos para ratones inalámbricos y protección de seguridad de red" . MOUSEJACK . Consultado el 3 de enero de 2020 .
  15. 1 2 Valotta, Rosario (2011). "Cookiejacking" . tentacoloViola – sites.google.com . Archivado del original el 7 de agosto de 2019. Recuperado el 23 de octubre de 2018 .
  16. 1 2 "Filejacking: Cómo crear un servidor de archivos desde tu navegador (con HTML5, por supuesto)" . blog.kotowicz.net . Consultado el 23 de octubre de 2018 .
  17. 1 2 "Administradores de contraseñas: ataques y defensas" (PDF) . Consultado el 26 de julio de 2015 .
  18. Sahani, Rishabh; Randhawa, Sukhchandan (1 de diciembre de 2021). "Clickjacking: Cuidado con los clics" . Wireless Personal Communications . 121 (4): 2845– 2855. doi : 10.1007/s11277-021-08852-y . ISSN 0929-6212 . S2CID 239691334 .  
  19. "El clickjacking se encuentra con el XSS: un estado del arte" . Exploit DB. 26 de diciembre de 2008. Recuperado el 31 de marzo de 2015 .
  20. Krzysztof Kotowicz. "Explotando el XSS inexplotable con clickjacking" . Consultado el 31 de marzo de 2015 .
  21. Cohen, Richard (31 de mayo de 2010). "Facebook Work – "Likejacking"" . Sophos . Archivado del original el 4 de junio de 2010 . Consultado el 5 de junio de 2010 .
  22. Ballou, Corey (2 de junio de 2010) .El término "Likejacking" se populariza . jqueryin.com. Archivado del original el 5 de junio de 2010. Consultado el 8 de junio de 2010 .
  23. ^ Pérez, Sarah (2 de junio de 2010). "El fenómeno del "likejacking" se populariza en Facebook . ReadWriteWeb. Archivado del original el 16 de agosto de 2011. Consultado el 5 de junio de 2010 .
  24. Kushner, David (junio de 2011). "Filosofía de Facebook: Muévete rápido y rompe cosas" . IEEE . Archivado del original el 7 de junio de 2011. Recuperado el 15 de julio de 2011 .
  25. Pérez, Sarah (23 de abril de 2010). "Cómo dar 'Me gusta' a cualquier cosa en la web (de forma segura)" . ReadWriteWeb . Archivado del original el 30 de abril de 2013. Recuperado el 24 de agosto de 2011 .
  26. Podlipensky, Paul. "Suplantación de cursor y secuestro de cursor" . Podlipensky.com . Paul Podlipensky. Archivado del original el 22 de noviembre de 2017. Consultado el 22 de noviembre de 2017 .
  27. 1 2 Krzysztof Kotowicz (18 de enero de 2012). "Cursorjacking de nuevo" . Recuperado el 31 de enero de 2012 .
  28. "Aviso de seguridad de la Fundación Mozilla 2014-50" . Mozilla . Consultado el 17 de agosto de 2014 .
  29. "Aviso de seguridad de la Fundación Mozilla 2015-35" . Mozilla . Consultado el 25 de octubre de 2015 .
  30. "¿Qué es MouseJack!" . Bastille . Consultado el 3 de enero de 2020 .
  31. "CERT VU#981271 Varios dispositivos inalámbricos de teclado/ratón utilizan un protocolo inalámbrico propietario inseguro" . kb.cert.org . Consultado el 3 de enero de 2020 .
  32. Giorgio Maone (24 de junio de 2011). "NoScript Anywhere" . hackademix.net . Consultado el 30 de junio de 2011 .
  33. Giorgio Maone (8 de octubre de 2008). "Hola ClearClick, adiós Clickjacking" . hackademix.net . Consultado el 27 de octubre de 2008 .
  34. 1 2 3 Michal Zalevski (10 de diciembre de 2008). "Manual de seguridad del navegador, parte 2, corrección de la interfaz de usuario" . Google Inc. Recuperado el 27 de octubre de 2008 .
  35. Robert Hansen (4 de febrero de 2009). "Clickjacking y GuardedID ha.ckers.org web application security lab" . Recuperado el 30 de noviembre de 2011 .{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  36. Wang, Helen J .; Grier, Chris; Moschchuk, Alexander; King, Samuel T.; Choudhury, Piali; Venter, Herman (agosto de 2009). "La construcción del sistema operativo multiprincipal del navegador web Gazelle" (PDF) . 18.º Simposio de Seguridad de Usenix, Montreal, Canadá . Consultado el 26 de enero de 2010 .
  37. "Intersection Observer – Borrador del editor del W3C" .
  38. "La confianza es buena, la observación es mejor" .
  39. "Desanonimización mediante Clickjacking en 2019" .
  40. Giorgio Maone (27 de octubre de 2008). "Hey IE8, I Can Has Some Clickjacking Protection" . hackademix.net . Consultado el 27 de octubre de 2008 .
  41. Eric Lawrence (27 de enero de 2009). "Seguridad de IE8 Parte VII: Defensas contra ClickJacking" . Recuperado el 30 de diciembre de 2010 .
  42. Eric Lawrence (30 de marzo de 2010). "Combatiendo el ClickJacking con X-Frame-Options" . Recuperado el 30 de diciembre de 2010 .
  43. Ryan Naraine (8 de junio de 2009). "Parche jumbo de Apple Safari: más de 50 vulnerabilidades corregidas" . Archivado del original el 12 de junio de 2009. Consultado el 10 de junio de 2009 .
  44. https://developer.mozilla.org/en/The_X-FRAME-OPTIONS_response_header Archivado el 7 de octubre de 2010 en Wayback Machine El encabezado de respuesta X-Frame-Options — MDC
  45. Adam Barth (26 de enero de 2010). "Seguridad en profundidad: nuevas características de seguridad" . Consultado el 26 de enero de 2010 .
  46. "Soporte para especificaciones web en Opera Presto 2.6" . 12 de octubre de 2010. Archivado del original el 14 de enero de 2012. Consultado el 22 de enero de 2012 .
  47. "HTTP Header Field X-Frame-Options" . IETF. 2013.
  48. "Política de seguridad de contenido de nivel 2" . W3C. 2016.
  49. "Blog de lcamtuf: Opciones de X-Frame, o resolver el problema equivocado" . 10 de diciembre de 2011.
  50. "Política de seguridad de contenido de nivel 2" . w3.org . 2 de julio de 2014. Archivado del original el 18 de mayo de 2025. Consultado el 29 de enero de 2015 .
  51. "Guía rápida de defensa contra el clickjacking" . Archivado del original el 28 de junio de 2025. Consultado el 11 de julio de 2025 .