Curiosidades De Hackers
OWASP TOP 10

Clickjacking(«secuestro de clics»); Explicación y PoC


🖱️ ¿Qué es el Clickjacking y por qué es peligroso?

El clickjacking (también llamado “secuestro de clics”) es una técnica de ataque que juega con algo muy simple: tu atención y tu confianza.

Consiste en engañar al usuario para que pulse un botón o enlace que parece inofensivo, cuando en realidad está activando una acción completamente distinta y, normalmente, peligrosa.

Imagina que ves en una web un gran botón que dice “Dale like para ganar un premio”, pero en realidad, oculto detrás, hay otro botón invisible que está confirmando una transacción bancaria o borrando tu cuenta. Desde el punto de vista del usuario, nunca llega a ver lo que realmente está haciendo.


🔎 ¿Cómo funciona el clickjacking?

La técnica suele basarse en superponer capas dentro de una página web, de modo que lo que el usuario ve no es lo que está pasando en segundo plano.

Los elementos clave son:

  1. La página legítima (la víctima)
    Es la aplicación o servicio de confianza: un banco, una red social, un correo electrónico… en definitiva, un lugar donde tenemos acciones sensibles.
  2. Una capa oculta o transparente
    El atacante coloca encima de esa página un iframe invisible o un contenido visualmente camuflado. A ojos del usuario, parece que está pulsando sobre un botón inocente.
  3. El redireccionamiento del clic
    Cuando el usuario pulsa, en realidad está ejecutando la acción que el atacante quería: transferir dinero, instalar software, compartir información privada, etc.
  4. El engaño visual
    A veces, además de la capa invisible, se crean falsos botones o mensajes atractivos (“Haz clic aquí para un premio”) para incitar al usuario a interactuar.

🧩 Ejemplos y variantes

El clickjacking puede tomar distintas formas:

  • Likejacking
    Convencer al usuario de dar “Me gusta” a una publicación o página, cuando en realidad el clic va a otra acción oculta.
  • Permisos falsos
    El botón que parece un simple “Aceptar” puede ser en realidad un permiso para instalar una app, activar la cámara o compartir información sensible.
  • Transacciones encubiertas
    En entornos financieros, se puede utilizar para inducir a una persona a confirmar pagos o transferencias que no quería realizar.
  • Instalación de software malicioso
    El clic puede descargar e instalar programas no deseados.
  • Superposiciones en móviles
    Algunas aplicaciones maliciosas aprovechan overlays en Android u otros sistemas para engañar al usuario, mostrando pantallas falsas encima de las legítimas.
  • Publicidad engañosa
    Banners con capas invisibles que redirigen a sitios fraudulentos aunque parezca que estás pulsando en un anuncio legítimo.

⚠️ Riesgos y consecuencias

Los impactos de un clickjacking pueden ser graves:

  • Robo de credenciales.
  • Autorización involuntaria de pagos o transferencias.
  • Instalación de aplicaciones no deseadas.
  • Acceso a datos personales como mensajes, fotos o contactos.
  • Acciones automáticas en redes sociales: seguir cuentas, publicar contenido, dar “me gusta” sin consentimiento.
  • Concesión de privilegios al atacante sin que el usuario lo note.

En resumen: el usuario cree que hace algo trivial, pero en segundo plano está comprometiendo su seguridad.


🛡️ Cómo protegerse del clickjacking

La defensa es cosa tanto de usuarios como de desarrolladores.

Para usuarios

  • Evita hacer clic en enlaces, anuncios o botones que parezcan demasiado buenos para ser verdad.
  • Descarga aplicaciones solo desde tiendas oficiales y evita instaladores sospechosos.
  • Mantén tu sistema y aplicaciones actualizados, ya que muchas vulnerabilidades se corrigen con parches.
  • Usa extensiones de seguridad en el navegador (bloqueadores de iframes o de scripts pueden ayudar).
  • Si notas comportamientos extraños en una app (pantallas que aparecen encima, botones que no responden como deberían), sospecha.

Para desarrolladores y administradores

  • Encabezados de seguridad: usar X-Frame-Options o Content-Security-Policy (frame-ancestors) para evitar que tu sitio se cargue dentro de un iframe malicioso.
  • Confirmaciones adicionales: en acciones críticas (borrar cuenta, transferir dinero), pedir contraseñas, tokens o autenticación de dos factores.
  • Diseño consciente: no permitir que una sola pulsación ejecute una acción destructiva.
  • Monitoreo y detección: vigilar actividad inusual, como múltiples clics en la misma posición exacta.
  • Reducir superficie de ataque: deshabilitar funciones embebidas innecesarias y validar orígenes en peticiones sensibles.

🧪 PoC: prueba de concept

En este laboratorio aprenderemos a explotar una vulnerabilidad de clickjacking mediante un ataque con iframe superpuesto. El objetivo es engañar al usuario para que haga clic en un botón sensible (en este caso «Delete account») creyendo que interactúa con un contenido inofensivo.

🔹 Paso 1: Antes de nada, iniciar sesión

Lo primero que hago es entrar con mi usuario de prueba en la aplicación del laboratorio. Quiero confirmar dónde está la sección “Mi cuenta” y ubicar visualmente el botón sensible (en el lab suele ser “Eliminar cuenta”). No toco nada; solo observo la interfaz para entender qué tendría que “tapar” un atacante.

🔹 Paso 2: Abre el Exploit Server

  • Dirígete al servidor de exploits proporcionado por el laboratorio.
  • En la sección Body, pega la siguiente plantilla HTML, que seria la definitiva, pero vamos a ir pasa a paso:

🔹 Paso 3: Personaliza la plantilla

Ahora ajustamos las variables de estilo para alinear correctamente el contenido engañoso con el botón objetivo:

  1. Creamos el iframe
    Ejemplo: <iframe src="https://0ad700bc03c8f2e180353aaf00c500d8.web-security-academy.net/my-account"></iframe>

  1. Sustituye los valores de tamaño del iframe: width: 500px; height: 700px;
  1. Ajusta las coordenadas para alinear el botón:
    top: 300px;
    left: 60px;
  1. Configura la opacidad para hacerlo semitransparente (de momento, para alinear): opacity: 0.1;

🔹 Paso 4: Prueba la alineación

  • Haz clic en Store y luego en View exploit.
  • Pasa el ratón sobre el texto «Test me».
  • El cursor debe cambiar a la mano, lo que indica que el div está colocado encima del botón Delete account.

🔹 Paso 5: Ajusta detalles

  • Si no está bien alineado, modifica los valores de top y left en los estilos CSS hasta que encaje perfectamente.
  • Una vez alineado, cambia el texto del div a:
  • Cambia también la opacidad a un valor casi invisible:

🔹 Paso 6: Ejecuta el ataque

  1. Haz clic en Store.
  2. Luego selecciona Deliver exploit to victim.
  3. Si todo está bien configurado, el laboratorio se marcará como solved ✅.

📌 Conclusión

El clickjacking es una técnica que aprovecha algo muy simple: la confianza de los usuarios en lo que ven en pantalla. Con un poco de superposición y engaño visual, es posible manipular clics para realizar acciones no deseadas.

La buena noticia es que también es fácil de mitigar si se aplican buenas prácticas de seguridad en el desarrollo y si los usuarios navegan con cautela.

En definitiva: no todo lo que ves en la pantalla es lo que parece. Por eso, la seguridad no depende solo de la tecnología, sino también de nuestra atención.


Deja una respuesta

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