¿Qué son los ataques “browser-in-the-browser (BitB)” y cómo pararlos?

Los investigadores de la empresa de inteligencia de amenazas Group-IB acaban de escribir una interesante historia de la vida real

…sobre un truco de phishing molestamente simple pero sorprendentemente efectivo conocido como BitB, abreviatura de browser-in-the-browser.

Probablemente hayas oído hablar de varios tipos de ataques X-in-the-Y antes, en particular MitM y MitB, abreviatura de manipulador-en-el-medio y manipulador-en-el-navegador.

En un ataque MitM, los atacantes que quieren engañarte se ubican en algún lugar “en el medio” de la red, entre tu ordenador y el servidor al que intentas acceder.

Es posible que no estén literalmente en el medio, ya sea geográficamente o en cuanto a saltos, pero los atacantes de MitM están en algún lugar a lo largo de la ruta, no justo en ninguno de los extremos.

La idea es que, en lugar de tener que entrar en tu ordenador, o en el servidor en el otro extremo, te engañen para que te conectes a ellos (o manipulen deliberadamente tu ruta de red, que no puedes controlar fácilmente una vez que los paquetes salen de tu propio router), y luego pretenden ser el otro extremo, un proxy malévolo, si lo prefieres.

Pasan tus paquetes al destino oficial, fisgándolos y tal vez jugueteando con ellos en el camino, luego reciben las respuestas oficiales, que pueden espiar y modificar por segunda vez, y devolvértelas como una conexión de extremo a extremo tal como esperabas.

Si no estás utilizando el cifrado de extremo a extremo, como HTTPS, para proteger tanto la confidencialidad (¡sin espionaje!) como la integridad (¡sin manipulación!) del tráfico, es poco probable que te des cuenta o incluso que puedas detectar que alguien más ha estado abriendo tus cartas digitales en tránsito y luego las ha vuelto a sellar.

Ataque en un extremo

Un ataque MitB pretende funcionar de forma similar, pero eludiendo el problema causado por HTTPS, lo que hace que un ataque MitM sea mucho más difícil.

Los atacantes MitM no pueden interferir fácilmente en el tráfico cifrado con HTTPS: no pueden espiar tus datos, porque no tienen las claves criptográficas utilizadas por cada extremo para protegerlos; no pueden cambiar los datos cifrados, porque la verificación criptográfica en cada extremo daría la alarma; y no pueden fingir ser el servidor al que te estás conectando porque no tienen la clave criptográfica que el servidor utiliza para demostrar su identidad.

Por lo tanto, un ataque MitB suele basarse en introducir primero un malware en el ordenador.

Esto es generalmente más difícil que simplemente entrar en la red en algún momento, pero da a los atacantes una gran ventaja si pueden lograrlo.

Esto se debe a que, si pueden introducirse dentro de tu navegador, consiguen ver y modificar tu tráfico de red antes de que tu navegador lo cifre para enviarlo, lo que anula cualquier protección HTTPS saliente, y después de que tu navegador lo descifre a la vuelta, anulando así el cifrado aplicado por el servidor para proteger sus respuestas.

¿Qué pasa con un BitB?

¿Pero qué pasa con un ataque BitB?

“Browser-in-the-browser” es un término bastante amplio, y el truco involucrado no da a los cibercriminales ni de lejos tanto poder como un MitM o un MitB, pero el concepto es muy simple, y si tienes demasiada prisa, es  fácil caer en él.

La idea de un ataque BitB es crear lo que parece una ventana emergente del navegador generada de forma segura por el propio navegador, pero que en realidad no es más que una página web renderizada en una ventana existente del navegador.

Se podría pensar que este tipo de truco está condenado al fracaso, simplemente porque cualquier contenido del sitio X que pretenda ser del sitio Y aparecerá en el propio navegador como procedente de una URL del sitio X.

Un vistazo a la barra de direcciones hará evidente que te están mintiendo, y que lo que estás viendo es probablemente un sitio de phishing.

Por ejemplo, esta es una captura de pantalla del sitio web example.com, tomada en Firefox en un Mac:

Ventana auténtica del navegador: captura de pantalla de Firefox para Mac con el sitio web example.com abierto

Si los atacantes te atraen a un sitio falso, puede que caigas en la trampa si el contenido es similar a lo que esperas, pero la barra de direcciones te indicaría que no estás en el sitio que buscas.

Por lo tanto, en una estafa “Browser-in-the-Browser”, el objetivo del atacante es crear una página web normal que se parezca al sitio web y al contenido que esperas, con la decoración de las ventanas y la barra de direcciones, simuladas de la forma más realista posible.

En cierto modo, un ataque BitB tiene más de arte que de ciencia, y tiene más que ver con el diseño web y la gestión de las expectativas que con la piratería de la red.

Por ejemplo, si creamos dos imágenes de esta manera:

Y un código HTML simple como el siguiente:

<html>
   <body>
      <div>
         <div><img src='./fake-top.png'></div>
         <p>
         <div><img src='./fake-bot.png'></div>
      </div>
   </body>
</html>

Creará lo que parece una ventana del navegador dentro de una ventana del navegador existente, como esta:

Esto parece una ventana del navegador de Firefox, y eso es exactamente lo que es: una página web que PARECE una ventana del navegador

En este ejemplo tan básico, los tres botones de macOS (cerrar, minimizar, maximizar) en la parte superior izquierda no harán nada, porque no son botones del sistema operativo, son sólo imágenes de botones, y la barra de direcciones en lo que parece una ventana de Firefox no se puede pulsar ni editar, porque también es sólo una captura de pantalla.

Pero si ahora añadimos un IFRAME en el HTML que mostramos arriba, para absorber contenido falso de un sitio que no tiene nada que ver con ejemplo.com, como este:

<html>
<body>
<div>
<div><img src='./fake-top.png' /></div>
<div>https:/dodgy.test/phish.html</div>
<div><img src='./fake-bot.png' /></div>
</div>
</body>
</html>

Hay que admitir que el contenido visual resultante parece exactamente una ventana de navegador independiente, aunque en realidad es una página web dentro de otra ventana de navegador.

El contenido de texto y el enlace en el que se puede hacer clic que se ve a continuación se descargaron del enlace HTTPS de dodgy.test en el archivo HTML anterior, que contenía este código HTML:

<html>
<body style='font-family:sans-serif'>
<div style='width:530px;margin:2em;padding:0em 1em 1em 1em;'>
<h1>Example Domain</h1>

<p>This window is a simulacrum of the real website,
but it did not come from the URL shown above.
It looks as though it might have, though, doesn't it?

<p><a href='https://dodgy.test/phish.click'>Bogus information...</a>
</div>
</body>
</html>

El contenido gráfico que encabeza el texto HTML hace que parezca que el HTML procede realmente de example.com, gracias a la captura de pantalla de la barra de direcciones en la parte superior:

Arriba. Controles falsos de la ventana y barra de direcciones a través de la imagen.
En medio. Falsificación mediante descarga de IFRAME.
Abajo. La imagen redondea la ventana falsa

El engaño es obvio si ves la ventana falsa en un sistema operativo diferente, como Linux, porque obtienes una ventana de Firefox parecida a la de Linux con una “ventana” parecida a la de Mac dentro de ella.

Los componentes falsos de la “ventana” realmente destacan como las imágenes que realmente son:

La ventana falsa mostrada claramente como página web, con los controles reales de la ventana y la barra de direcciones en la parte superior

¿Caerías en la trampa?

Si alguna vez has hecho capturas de pantalla de aplicaciones, y luego has abierto las capturas en tu visor de fotos, estamos dispuestos a apostar que en algún momento te has equivocado tratando la imagen de la aplicación como si fuera una copia en funcionamiento de la propia aplicación.

Apostamos a que al menos una vez en tu vida has hecho clic o has tocado una imagen de una aplicación dentro de otra aplicación y te has preguntado por qué la aplicación no funcionaba. (Vale, quizá no, pero nosotros sí, hasta el punto de confundirnos).

Por supuesto, si haces clic en una captura de pantalla de una aplicación dentro de un navegador de fotos, corres muy poco riesgo, porque los clics o los toques simplemente no harán lo que esperas; de hecho, puedes acabar editando o garabateando líneas en la imagen.

Pero cuando se trata de un ataque “browser-in-the-browser” de calidad, los clics en una ventana simulada pueden ser peligrosos, porque sigues estando en una ventana activa del navegador, donde JavaScript está en juego, y donde los enlaces siguen funcionando, sólo que no estás en la ventana del navegador que pensabas, y tampoco estás en el sitio web que pensabas.

Peor aún, cualquier JavaScript que se ejecute en la ventana del navegador activa (que proviene del sitio impostor que visitaste) puede simular algunos de los comportamientos esperados de una ventana emergente del navegador genuina para añadir realismo, como arrastrarla, cambiar su tamaño, y más.

Como dijimos al principio, si estás esperando una ventana emergente real, y ves algo que se parece a una ventana emergente, completa con botones de navegador realistas y una barra de direcciones que coincide con lo que esperabas, y tienes un poco de prisa, podemos entender perfectamente que reconozcas erróneamente la ventana falsa como una real.

Los juegos de Steam atacados

En la investigación de Group-IB que mencionamos anteriormente, el ataque BitB que los investigadores encontraron utilizaba Steam Games como señuelo.

Un sitio web de aspecto legítimo, aunque nunca hayas oído hablar de él, te ofrecía la posibilidad de ganar plazas en un próximo torneo de juegos, por ejemplo, y cuando el sitio decía que aparecía una ventana separada del navegador que contenía una página de inicio de sesión de Steam, en realidad presentaba una ventana falsa dentro del navegador.

Los investigadores observaron que los atacantes no sólo utilizaron el truco de BitB para obtener nombres de usuario y contraseñas, sino que también intentaron simular las ventanas emergentes de Steam Guard pidiendo códigos de autenticación de dos factores.

Afortunadamente, las capturas de pantalla presentadas por Group-IB muestran que los delincuentes con los que se toparon en este caso no fueron muy cuidadosos con los aspectos artísticos y de diseño de su estafa, por lo que la mayoría de los usuarios probablemente se dieron cuenta del engaño.

Pero incluso un usuario bien informado y con prisa, o alguien que utilice un navegador o un sistema operativo con el que no esté familiarizado, como en casa de un amigo, podría no haber notado las inexactitudes.

Además, es casi seguro que los delincuentes más quisquillosos idearían contenidos falsos más realistas, del mismo modo que no todos los estafadores de correo electrónico cometen errores ortográficos en sus mensajes, con lo que podrían inducir a más personas a revelar sus credenciales de acceso.

¿Qué hacer?

Aquí tienes tres consejos:

  • Las ventanas “browser-in-the-browser” no son verdaderas ventanas. Aunque parezcan ventanas a nivel del sistema operativo, con botones e iconos que se parecen a las reales, no se comportan como ventanas del sistema operativo. Se comportan como páginas web, porque eso es lo que son. Si sospechas, intenta arrastrar la ventana sospechosa fuera de la ventana principal del navegador que la contiene. Una ventana del navegador real se comportará de forma independiente, por lo que puedes moverla fuera y más allá de la ventana del navegador original. Una ventana de navegador falsa quedará “aprisionada” dentro de la ventana real en la que se muestra, incluso si el atacante ha utilizado JavaScript para intentar simular un comportamiento lo más genuino posible. Esto delatará rápidamente que es parte de una página web, y no una verdadera ventana por derecho propio.
  • Examina cuidadosamente las ventanas sospechosas. Simular de forma realista el aspecto de una ventana del sistema operativo dentro de una página web es fácil de hacer mal, pero difícil de hacer bien. Tómate esos segundos adicionales para buscar signos reveladores de falsedad e incoherencia.
  • En caso de duda, no lo hagas. Desconfía de los sitios de los que nunca has oído hablar, y en los que no tienes motivos para confiar, que de repente quieren que te conectes a través de un sitio de terceros.

No tengas nunca prisa, porque si te tomas tu tiempo será mucho menos probable que veas lo que crees que hay en lugar de lo que realmente hay.

En tres palabras: Para. Piensa. Conéctate.

Escrito por Naked Security

Solicita información gratis

Rellena este formulario o llámanos al 911 92 35 00