¿Qué es el tabnabbing inverso y cómo se puede prevenir?

La seguridad de la información es un tema de creciente importancia en los últimos tiempos y hoy es un aspecto necesario y esencial de nuestra vida diaria. Todos los días nos enteramos de nuevos ataques a organizaciones y en medio de la pandemia están ocurriendo con más frecuencia que nunca.

Si bien sabemos que el eslabón más débil en la seguridad de la información es el usuario final, todos somos responsables de prevenir estos incidentes maliciosos. Es por eso que hoy quiero contarles sobre un ataque poco conocido que los desarrolladores pueden prevenir fácilmente: Tabnabbing inverso. Descubriremos aquí en qué consiste, cómo funciona y cómo prevenirlo.

¿Qué es el tabnabbing inverso?

Tabnabbing inverso, o simplemente tabnabbing, es un ataque de phishing en el que un atacante engaña a una víctima para que ingrese sus credenciales en un sitio web falso controlado por el atacante. Sé que eso podría describir muchos ataques en línea diferentes. Y mientras que muchos ataques en línea crean páginas web falsas para robar datos de los usuarios, el tabnabbing inverso logra esto de una manera única e inteligente.

El tabnabbing inverso es una técnica que permite, a través de enlaces, la redirección a un sitio desde un sitio principal.

Es muy fácil de entender: supongamos que tenemos el Sitio A, que es un blog o una red social, y alguien publica un vínculo con una etiqueta target = «_ blank» (a menudo, esta etiqueta se coloca automáticamente en el enlaces en los comentarios sobre este tipo de sitios, ya que en la mayoría de los casos son enlaces a sitios externos), y con un href al Sitio B.

Desde el sitio B, el sitio A podría redirigirse a un sitio C malicioso que tenga, por ejemplo, un cuadro de inicio de sesión idéntico al del sitio A.

Los ataques de tabnabbing inverso pueden tener consecuencias muy graves, según las credenciales que logren comprometer. Afortunadamente, protegerse contra estos ataques es bastante sencillo.

¿Cómo funciona?

Así es como podría funcionar un ataque de tabnabbing inverso:

  • La víctima tiene un sitio web abierto en una pestaña, en su navegador. Supongamos que están en Facebook. Ellos inician sesión en el sitio y ven que alguien ha publicado algo en su muro: una oferta por algo con descuento u otro que pueda interesar a la víctima.
  • La víctima, sin darse cuenta, hace clic en el enlace y se le dirige al sitio web con la oferta en una nueva pestaña. Ese sitio web es en realidad un sitio malicioso controlado por el atacante.
  • Mientras la víctima mira la oferta falsa en el sitio malicioso, el sitio malicioso fuerza una redirección de la pestaña original de Facebook de la víctima a un sitio web clonado falso, controlado por el atacante, que se ve exactamente como la página de inicio de sesión de Facebook.
  • La página falsa de Facebook solicita a la víctima que vuelva a ingresar sus credenciales. Aunque la víctima sabe que ya ha iniciado sesión, es muy probable que simplemente vuelva a ingresar su correo electrónico y contraseña, pensando que debe haber ocurrido un pequeño problema técnico. Estos fallos son relativamente comunes, después de todo.
  • Si la víctima ingresa sus credenciales en el sitio web falso, acaba de entregar sus credenciales al atacante y comprometió su cuenta.

Los ataques de tabnabbing inverso son posibles en sitios web que permiten a los usuarios publicar enlaces que, cuando se hace clic, se abren en una nueva pestaña. El enlace se abre en una nueva pestaña debido a la target=»_blank»propiedad del enlace.

Cuando un usuario hace clic en un enlace creado con target= «_blank», su navegador web inyecta dos variables en la página de destino:

  • window.opener
  • window.referrer

La window.referrer almacena la página web de origen en la que se hizo clic en el enlace (la página web de referencia).

La window.opener devuelve una referencia a la ventana principal (la ventana que abrió la ventana), con la target=»_blank»propiedad. Puede usar la propiedad window.opener de la ventana de destino para obtener detalles y operar cambios en la ventana principal, como redirigir la pestaña abierta original de la víctima a una página falsa pero de apariencia legítima que les solicita sus credenciales. Este es el quid del ataque.

Ataques de tabnabbing inverso en la naturaleza

En abril de 2017, se informó que el grupo de piratería ruso APT28 había montado un ataque contra el entonces candidato presidencial francés Emmanuel Macron. Este es el mismo grupo supuestamente detrás del hackeo de correo electrónico de DNC de 2016.

Se dijo que la técnica utilizada en el ataque de Macron fue tabnabbing por los analistas de seguridad del gobierno danés, que escribieron un informe sobre el incidente, después de acusar a APT28 de ser responsable del pirateo de correo electrónico del Ministerio de Defensa del gobierno danés.

Si bien el ataque descrito aquí difiere ligeramente de nuestro ejemplo de libro de jugadas anterior, hay una redirección adicional desde el sitio web malicioso (que está abierto cuando la víctima hace clic en el enlace del correo web) al sitio web legítimo de la conferencia. Antes de la redirección al sitio legítimo, el sitio malicioso hará su mojo y alterará la pestaña de correo web abierta.

Se ha estado usando una variante de tabnabbing. En este escenario de ataque, el objetivo recibe un correo electrónico que supuestamente proviene de un sitio web en el que podría estar interesado, tal vez de una conferencia que probablemente visite o de un sitio de noticias al que se haya suscrito. El correo electrónico tiene un enlace a una URL que parece muy legítima. Cuando el objetivo lea su correo electrónico y haga clic en el enlace, se abrirá en una nueva pestaña. Esta nueva pestaña mostrará el sitio web legítimo de una conferencia o proveedor de noticias después de ser redirigido desde un sitio bajo el control de los atacantes.

Es probable que el objetivo pase algún tiempo navegando por este sitio legítimo. Distraído, probablemente no se de cuenta de que justo antes de la redirección, se ejecutó un script simple, cambiando la pestaña de correo web original a un sitio de phishing. Cuando el objetivo haya terminado de leer el artículo de noticias o la información de la conferencia en el sitio legítimo, vuelve a la pestaña de su webmail. Se le informa que su sesión ha expirado y el sitio necesita sus credenciales nuevamente. Luego, es probable que vuelva a ingresar su contraseña y les dé sus credenciales a los atacantes.

¿Cómo prevenir los ataques de tabnabbing inverso?

La forma de protegerse de los ataques de tabnabbing inverso depende del lado del ataque en el que se encuentre: del lado del servidor o del lado del usuario. Miraremos a ambos.

Prevención de ataques de tabnabbing inverso desde el lado del servidor

En el lado del servidor, la forma de protegerse contra los ataques de tabnabbing inverso es bastante simple. Sin embargo, esto se aplica de dos formas dependiendo de si tu sitio utiliza HTML o JavaScript para abrir nuevas ventanas. Te mostraremos ambas formas.

HTML

En HTML, debemos asegurarnos de establecer el relatributo HTML con los parámetros noreferrer y nooperner cada vez que el servidor web / aplicación crea enlaces.

noopener asegura que la página vinculada no tenga acceso window.opener desde la página de origen. Mientras noreferrer se asegura de que el encabezado de referencia de la solicitud no se envíe junto con la solicitud. De esta manera, el sitio de destino no ve la URL de origen de la que proviene el usuario.

JavaScript

Usando JavaScript, podemos lograr lo mismo que el anterior estableciendo la opener propiedad en nulo.

Si va a mostrar contenido generado por el usuario, también debes asegurarte de que el servidor desinfecte la entrada del usuario y aplique «nooperner, noreferrer» a cada enlace generado.

Prevención de ataques de tabnabbing inverso desde el lado del usuario

Como usuario, no hay mucho que puedas hacer. La mayor parte se reduce a seguir las precauciones de seguridad básicas que se aplican a prácticamente cualquier actividad en línea.

Pero primero, hay algo concreto que puedes hacer como usuario para protegerte de los ataques de tabnabbing inverso. Sin embargo, debes utilizar Mozilla Firefox como navegador web. Firefox es de código abierto y viene con muchas herramientas para mejorar tu privacidad y seguridad desde el primer momento. Así que recomiendo usarlo de todos modos.

Corrección de Firefox

  • Abre una nueva ventana en Firefox.
  • En la barra de URL, ingresa: about: config y presiona Retorno. Aparece un mensaje de advertencia.
  • Haz clic en Aceptar el riesgo y continuar.
  • En la barra de búsqueda, escribe: dom.targetBlankNoOpener.dom. Se muestra la propiedad dom.targetBlackNoOperner.enabled.
  • Establece su valor en verdadero. Cerrar la ventana.

Esto impide que tu navegador utilice la propiedad window.opener. Por lo tanto, debes estar a salvo de los ataques de tabnabbing inverso si usas Firefox como se configuró anteriormente.

Otras cosas que puedes hacer es aplicar una vigilancia general cuando estés en línea y seguir los consejos a continuación.

  • Utiliza un cortafuegos: todos los principales sistemas operativos tienen un cortafuegos entrante integrado y todos los enrutadores comerciales del mercado tienen un cortafuegos NAT incorporado. Asegúrate de que estén habilitados, ya que pueden protegerte en caso de que hagas clic en un enlace malicioso.
  • Nunca hagas clic en las ventanas emergentes. Nunca se sabe a dónde te llevarán a continuación.
  • Si tu navegador muestra una advertencia sobre un sitio web al que estás intentando acceder, debes prestar atención y obtener la información que necesitas en otro lugar. En un ataque de tabnabbing inverso, si el sitio del atacante utiliza un certificado HTTPS autofirmado o no válido, tu navegador te advertirá al respecto. Y escuchar a tu navegador puede salvarte de un ataque de tabnabbing.
  • No hagas clic en los anuncios. Simplemente no lo hagas. Independientemente de si el anuncio es un banner, una ventana emergente o una publicación de usuario. Si estás interesado en algo, probablemente puedas encontrarlo tu mismo en unos segundos utilizando un motor de búsqueda.
  • Limita la cantidad de información personal que publicas en Internet. Cuanta más información esté disponible públicamente sobre ti, más fácil será manipularla. Internet es un lugar hostil en el que no faltan actores esperando explotarte. Antes de publicar algo revelador, pregúntate si es realmente necesario o no.
  • Siempre verifica la barra de direcciones para https: // y un nombre de dominio legítimo / confiable antes de ingresar una contraseña en una pantalla web
  • Utiliza aplicaciones móviles en lugar de interfaces web móviles. Los sitios como Gmail, Ebay, Amazon, Office365, Paypal y los sitios de banca móvil son los principales objetivos de este tipo de ataque Tabnabbing. Si tienes el hábito de utilizar la aplicación móvil para estos servicios en lugar del sitio web, parecería fuera de lugar que te solicite la autenticación en tu navegador.

Conclusión

Los ataques de tabnabbing inverso pueden tener consecuencias importantes. Pero al menos la vulnerabilidad es fácil de solucionar con un poco de etiqueta de codificación. Y, nuevamente, recuerda que Internet es una red hostil y trátala como tal. No quieres ser el eslabón más débil de tu propia seguridad en línea.