Icono del sitio Una Al Día

El malware ya se aprovecha del HTML5

Hemos detectado una variante de Zbot que aprovecha una funcionalidad de las que implementa HTML5 en el navegador de la víctima a la que infecta. Lo hace para almacenar ciertos datos robados, que le servirán para culminar la estafa. Hasta nuestro conocimiento, es la primera muestra que se aprovecha de esta funcionalidad de la última versión de HTML. Veamos cómo funciona.
Hemos detectado una nueva variante del malware de la «transferencia ficticia«, que está teniendo un importante impacto entre los bancos españoles con doble autenticación (a través de SMS). Recordemos su funcionamiento básico:

El troyano, una vez conseguido su objetivo, sigue activo y modifica la página del banco cada vez que la víctima se presenta, para superponer la cantidad antigua y ocultar así el desfalco del dinero.
Cómo funcionaba
Este malware se apoya normalmente en cookies para recordar ciertos datos. Esto es normal en esta familia. Por ejemplo, si el usuario ha sido ya infectado, en qué fase de la infección se encuentra, o para almacenar los datos robados temporalmente. Las cookies son la manera más popular de poder almacenar datos en el protocolo HTTP, que no conoce estados. Sin embargo, cuentan con un inconveniente: el dominio legítimo puede «ver» esas cookies, puesto que por defecto, el navegador envía automáticamente las cookies almacenadas para un dominio cuando se visita. Los atacantes han solventado esta situación con HTML5.
Cómo funciona
La versión que hemos detectado, utiliza la función de almacenamiento nativa de HTML5. Web Storage está ya en todos los navegadores modernos, y permite almacenar datos en el contexto del navegador y que sean manipulados a través de JavaScript. Por ejemplo, con los comandos:
localStorage.setItem(«key», «value»);
localStorage.getItem(«key»);
Se puede almacenar un valor. Esto es posible verlo por ejemplo con Chrome y su herramienta para diseñadores:
La diferencia con las cookies, es que:
a) permiten almacenar mucha más información. Hasta 5 megas frente a los 4k de las cookies.
b) no son automáticamente enviados al servidor (y aquí reside la ventaja para los atacantes). El servidor no tiene acceso a esos datosa no ser que el cliente los envíe expresamente a través de JavaScript.
Así, sin levantar sospechas y sin salir de «navegador de la víctima«, el malware aprovecha una nueva funcionalidad para sus propósitos.
En el caso concreto que hemos estudiado, existen además otras curiosidades. El atacante tiene en cuenta el soporte HTML5 del navegador, y opera de diferente manera, combinando otros métodos de almacenamiento, como el userData, un sistema nativo de Internet Explorer (a partir del 8). Todo para evitar el uso de cookies. Incluso, esta versión utiliza una librería legítima que permite cómodamente, elegir el método más interesante según el navegador en que se encuentre y que cuenta con sus propias funciones. Aquí un pequeño extracto del código inyectado en la web legítima, en concreto la parte que superpone el valor falso de la cuenta robada y cómo las toma de la base de datos:
Sergio de los Santos
Twitter: @ssantosv

Acerca de Hispasec

Hispasec Ha escrito 7093 publicaciones.

Salir de la versión móvil