Contenido

El auge de la autenticación de dos factores agregó una nueva capa de seguridad al proceso de autenticación en Internet. Los ataques diseñados para robar las credenciales de los usuarios siguen siendo comunes, pero muchos se quedan cortos porque el acceso a las cuentas de los usuarios no se otorga sin el segundo paso de verificación.

firma falsa de microsoft office en webview2 keylogger

Los usuarios deben ingresar un código, usar un dispositivo de hardware o una aplicación para completar la solicitud de autenticación. Existen diferentes formas de autenticación de dos factores. Al principio, los códigos enviados por correo electrónico o SMS eran comunes, pero este método tiene la desventaja de que la información se envía en texto sin formato.

Los nuevos métodos de autenticación, incluido el uso de aplicaciones y dispositivos de seguridad, han adquirido importancia para mejorar la seguridad. Los inicios de sesión sin contraseña, aquellos que solo usan dispositivos secundarios, se están volviendo más comunes a medida que eliminan la contraseña de la ecuación de autenticación. Los clientes de Microsoft, por ejemplo, pueden hacer que sus cuentas de Microsoft no tengan contraseña.

Los atacantes idearon nuevos ataques para superar las autenticaciones de dos factores. investigador de seguridad mr.dox desarrolló un nuevo ataque que usa la funcionalidad Microsoft Edge WebView2 para robar credenciales de cuenta, omitir la autenticación de dos factores y filtrar cookies. Si bien es necesario que la aplicación se ejecute en el sistema de la víctima, brinda a los atacantes mucha flexibilidad y opciones, especialmente en lo que respecta a los inicios de sesión en los servicios en línea.

Para entender mejor el ataque, es necesario echar un vistazo más de cerca a Microsoft Edge WebView2. En esencia, WebView2 permite a los desarrolladores incorporar contenido web en sus aplicaciones de escritorio de Windows. Microsoft Edge se utiliza para representar el contenido web en las aplicaciones nativas. Los desarrolladores pueden incrustar código HTML, CSS y JavaScript en la aplicación personalizada. Es posible cargar sitios usando WebView, de manera similar a cómo los navegadores web se comunican con los sitios web.

Diseñado para enriquecer las aplicaciones de escritorio nativas, la rica funcionalidad de WebView2 lo convierte en una opción atractiva para los desarrolladores malintencionados. Un atacante podría cargar cualquier página de inicio de sesión, incluidas las que se encuentran en Amazon, Microsoft, Google o Facebook, utilizando WebView.

El ataque de phishing WebView2

Una de las principales características de WebView2 es la capacidad de utilizar JavaScript. Una función integrada permite a los desarrolladores web inyectar JavaScript en los sitios web. Es esta función la que mr.dox usó para inyectar código JavaScript malicioso en sitios web legítimos cargados en una aplicación que usa WebView2.

Para demostrar esto, mr.dox creó una aplicación WebView2 de demostración que carga el sitio web de Microsoft Office y tiene un registrador de teclas de JavaScript incrustado en su código.

Dado que es un sitio legítimo que está cargado, no está bloqueado por el software de seguridad o las protecciones de autenticación de dos factores. Los usuarios no verán ninguna diferencia entre el sitio cargado y el sitio cargado en un navegador web. Los sitios de phishing pueden verse diferentes al sitio web original; esto puede suceder durante el desarrollo, pero también cuando se realizan cambios en el sitio legítimo.

La página del proyecto de GitHub demuestra cómo se usa una aplicación WebView2 personalizada para robar todas las entradas del usuario con la ayuda de un registrador de teclas inyectado. Dado que esto sucede en segundo plano, la mayoría de los usuarios no deben saber que cada clave que activan se registra y se envía al atacante.

Si bien eso puede conducir a compromisos de cuenta exitosos, no brinda acceso a cuentas que están protegidas mediante sistemas de autenticación de dos factores.

Sin embargo, el ataque no se detiene en este punto. WebView2 viene con una función integrada para extraer cookies. El atacante puede robar cookies de autenticación, y es simplemente cuestión de esperar a que se complete el inicio de sesión. Las cookies se proporcionan en formato base64, pero es trivial decodificar los datos para revelar las cookies.

Si eso no fuera lo suficientemente malo, WebView puede usarse para robar todas las cookies del usuario activo. Una de las capacidades de WebView2 es iniciar con «una carpeta de datos de usuario existente» en lugar de crear una nueva. Con esta función, los atacantes podrían robar datos de usuario de Chrome u otros navegadores instalados.

Probado en Chrome, el desarrollador pudo robar contraseñas, datos de sesión, marcadores y otra información. Todo lo que se necesitó fue iniciar WebView2 utilizando la ubicación del perfil de Chrome para extraer todas las cookies de Chrome y transferirlas a un servidor remoto en Internet.

Utilizando la información, el atacante puede acceder a las aplicaciones web, siempre que la sesión siga activa y que no existan otros sistemas defensivos que puedan impedir el acceso desde nuevos dispositivos. La mayoría de las cookies extraídas siguen siendo válidas hasta que expira la sesión.

la advertencia

El principal inconveniente de este ataque basado en WebView2 es que los usuarios necesitan ejecutar la aplicación maliciosa en el dispositivo del usuario. Se requiere iniciar sesión en servicios web legítimos para robar los datos, pero la cookie y el robo de sesión pueden ocurrir sin ellos.

Otros programas maliciosos pueden proporcionar a los atacantes otros medios para obtener acceso a un dispositivo de usuario y sus datos. La ejecución de cualquier programa malicioso conduce al desastre desde el punto de vista del usuario, y muchos usuarios todavía son descuidados cuando se trata de la ejecución de programas y el lanzamiento de archivos adjuntos en sus dispositivos.

¿Por qué pasar por el tiempo de usar el ataque WebView2, cuando otros ataques pueden ser más fáciles de llevar a cabo? Mr.dox sugiere que el ataque WebView2 puede proporcionar a los atacantes opciones adicionales, como ejecutar código JavaScript en los sitios de destino directamente.

Los sistemas defensivos, como las aplicaciones antivirus, pueden impedir el lanzamiento de aplicaciones Webview2 maliciosas. Microsoft Defender no bloqueó la aplicación de demostración, que está disponible en el sitio del proyecto GitHub del investigador. Incluye un keylogger que protocoliza cualquier entrada clave por parte del usuario. Se mostró una advertencia de SmartScreen, pero no se evitó que se iniciara.

Protección contra ataques basados ​​en WebView2

Todo se reduce a prácticas de seguridad de hace una década cuando se trata de protección contra este tipo de ataque. No lanzar aplicaciones que provengan de fuentes desconocidas o que no sean confiables es probablemente la principal opción defensiva. Los archivos adjuntos de correo electrónico y las descargas web deben mencionarse específicamente aquí, ya que todavía es común que los usuarios de computadoras los ejecuten sin considerar las consecuencias.

Otras opciones incluyen escanear el archivo con motores antivirus actualizados o un servicio como virustotal. Virustotal escanea archivos utilizando docenas de motores antivirus y devuelve sus hallazgos al usuario en cuestión de segundos.

Por Deyanira