¿Qué es el Tabnabbing inverso y qué puede hacer para detenerlo?

Tabnabbing es un método de phishing en el que los atacantes se aprovechan de las pestañas del navegador desatendidas de las víctimas. Después de secuestrar una pestaña inactiva y redirigirla a URL maliciosas, un atacante puede realizar un ataque de phishing y ejecutar scripts.

Con tabnabbing inverso, por otro lado, los atacantes pueden reescribir la página de origen después de que una víctima haga clic en un enlace malicioso. Por lo general, esto significa reemplazar una página de origen con un sitio de phishing antes de que la víctima regrese a esa pestaña original. Aquí, la redirección ocurre a través de enlaces desde el sitio principal al sitio del atacante.

Estos ataques pueden engañar incluso a un usuario atento. Así es como los desarrolladores pueden tomar medidas para prevenirlos.

¿Cómo funciona un ataque tabnabbing inverso?

Un ataque tabnabbing inverso comienza cuando una víctima hace clic en un enlace en un sitio legítimo. Cuando se abre la nueva pestaña, el atacante redirige la página de origen a una página de phishing. Después de navegar de regreso a esa página, la víctima cree que todavía está en la página correcta. Allí, los atacantes pueden recopilar cualquier credencial o información confidencial que la víctima ingrese en el sitio de señuelo.

Los sitios web a menudo contienen enlaces externos, y si se agrega target= “_blank” al elemento en HTML, el enlace se abrirá en una nueva pestaña. La página vinculada a través de href puede ser segura o no segura. No sabemos si el enlace href es una página legítima o maliciosa ya que no tenemos control sobre ella.

Si una página enlazada se abre con target=”_blank” o mediante window.open() en Javascript, la página enlazada tendrá acceso a la misma propiedad window.opener que la página enlazada. Por lo tanto, la página vinculada puede establecer la propiedad window.opener.location en cualquier dominio que desee.

Desplácese para ver la tabla completa

Verifiquemos el siguiente fragmento de código que contiene una implementación en blanco de destino no segura:

Página Vulnerable:

Tabulación inversa Haz click en mi

Código de sitio malicioso:






Ahora digamos que la víctima hace clic en el enlace/botón de la página vulnerable. El sitio malicioso se abrirá en una nueva pestaña y el sitio web de destino en la última pestaña/inactivo será reemplazado por el sitio web de phishing.

El siguiente enlace es vulnerable al tabnabbing inverso porque usa target=”_blank”.

Esto significa que la página que se abre en una nueva pestaña puede acceder a la pestaña inicial y cambiar su ubicación usando la propiedad window.opener.

Tababing en acción

Veamos esto en un escenario de ataque del mundo real.

La víctima ha abierto un sitio web de redes sociales llamado funchat.com en una ventana del navegador. Iniciaron sesión en el sitio y vieron que alguien había publicado una oferta en su muro: ¡una gran oferta con un 30% de descuento en relojes inteligentes de marca!

La víctima hace clic negligentemente en el enlace, que abre el sitio eshop.com con la oferta en una nueva pestaña. Sin embargo, Eshop es un sitio web malicioso que controla el atacante.

El atacante ha escrito el código de su sitio web así:

OFERTA INCREÍBLE EN RELOJES INTELIGENTES!!

. . .

Cuando la víctima revisa la oferta falsa, el sitio malicioso fuerza la redirección de la pestaña abierta funchat.com original de la víctima al sitio web falso (funnchat.com) controlado por el atacante, que se ve exactamente como la página de inicio de sesión del sitio web de funchat.

Aparece la página de inicio de sesión del sitio web falso y le pide a la víctima que vuelva a ingresar las credenciales de inicio de sesión. Pensando que está en el sitio auténtico, la víctima no duda antes de ingresar su nombre de usuario y contraseña.

Luego, el atacante ha robado las credenciales de inicio de sesión de la víctima.

Impacto

Este ataque hace que sea bastante probable que incluso un usuario vigilante sea atraído para revelar información confidencial. El usuario no sospecha que sus credenciales hayan sido robadas, simplemente cree que ingresó su contraseña incorrectamente en la página de phishing de inicio de sesión falso. El atacante puede robar las credenciales de inicio de sesión de la víctima y apoderarse de la cuenta de la víctima.

Cómo prevenir el Tabnabbing inverso

Las siguientes correcciones pueden ayudar a prevenir este ataque:

1. Agregue el atributo rel=“noopener noreferrer” a los enlaces

Agregue rel=”noopener noreferrer” a cada elemento que tenga el objetivo establecido en “_blank”. Noopener asegura que la página enlazada no tenga acceso a window.opener desde la página enlazada. Noreferrer se asegura de que no se envíe el encabezado de referencia de la solicitud. Por lo tanto, el sitio de destino no verá la URL de la que proviene el usuario.

haga clic aquí Si se está utilizando Javascript, se puede lograr lo mismo configurando la propiedad de apertura en nulo. var myNewWindow = window.open(url, name, ‘noopener,noreferrer’) myNewWindow.opener = null Si el contenido generado por el usuario se muestra en la página, desinfecte la entrada y aplique «noopener noreferrer» a cada enlace.

2. Implementar el encabezado de política de apertura de origen cruzado

Hay una nueva característica de seguridad del navegador llamada política de apertura de origen cruzado (COOP). Esta función puede ayudar a prevenir un ataque en el que un sitio web malicioso llama a «window.open» en el sitio web de la víctima y luego redirige a la víctima al sitio del atacante.

Devuelve el siguiente encabezado de respuesta HTTP del servidor web. Los navegadores compatibles con COOP procesarán y aislarán el documento y los atacantes ya no podrán acceder al sitio de la víctima:

Política de apertura de origen cruzado: mismo origen

3. Caja de arena de los marcos

Sandbox los marcos para evitar el ataque tabnabbing de sitios web cargados en un iframe. El sandboxing se puede lograr configurando el atributo «sandbox» como:

El atributo sandbox controla muchas cosas de forma predeterminada. Principalmente, evita que el sitio web enmarcado redirija a su sitio principal.

Tomar medidas ahora

El tabnabbing inverso es una amenaza grave con importantes consecuencias, especialmente cuando los atacantes lo llevan a cabo como un ataque de phishing dirigido. Afortunadamente, puede proteger su sitio web de este tipo de ataque siguiendo los siguientes pasos:

  1. Agregue el atributo rel= “noopener noreferrer” a los enlaces en el sitio web.
  2. Implemente el encabezado de política de apertura de origen cruzado.
  3. Agregue el atributo sandbox a iframes en el sitio web.

Hoy en día, los navegadores admiten múltiples funciones de seguridad para evitar este tipo de ataques. Sin embargo, el desarrollador debe tomar medidas preventivas mediante la implementación de estos controles de seguridad para proteger a los usuarios legítimos.

Fuente del artículo

Deja un comentario