Una de las cosas curiosas que tienen las JavaScript Botnets, es que puedes hacer ataques dirigidos a webs cuando aún está conectada la víctima al payload, para que una vez que se desconecte, la web que visite esté infectada. Esa es una demo de las realizadas en las charlas de BlackHat y Defcon, y éste es el paso a paso de la demo – que lo realicé por si algo iba mal -.

Paso 1: Configurar un nuevo ataque pre-configurado para el banco californiano. Con este panel decidimos qué ficheros vamos a cargar en todos los bots infectados con labotnet.
Figura 1: El panel de la JavaScript Botnet con los preset attacks
Paso 2: Analizamos la web en busca de ficheros javascript cargados de forma estática. Esto se puede hacer con cualquier fichero, incluso htm o html, pero nosotros hemos decidido hacerlo con JavaScript, para no cambiar el formato. En este caso, en la web de este banco de California vamos a seleccionar el ficherogatag.js para ser infectado.
Figura 2: Ficheros JS cargados por la web objetivo
Paso 3: Se configura el payload adecuado para que descargue a la caché este ficheroJavaScript. Como estará utilizado el Proxy, nos garantizamos que el fichero quedará infectado en la caché, una vez se desconecte del servidor.
Figura 3: El fichero se fuerza en cualquier web visitada
Paso 4: La víctima se conecta al servidor Proxy porque así lo ha querido.
Figura 4: La víctima se conecta al Rogue Proxy Server
Paso 5: Visita cualquier página, y el fichero infectado queda descargado e infectado con el payload en la caché del navegador.
Figura 5: El fichero gatag.js con el payload copiado al final del archivo

Paso 6: La víctima se desconecta del servidor Proxy, para continuar con su navegación normal.

Figura 6: La víctima se desconecta
Paso 7: Un tiempo en el futuro, decide conectarse a la web de su banco, para realizar las gestiones pertinentes.
Figura 7: La víctima se conecta al banco un tiempo en el futuro

Paso 8: Con el fichero JavaScript gatag.js es cargado en esa pestaña desde la caché del navegador, y este está infectado, se capturan los datos enviados en el formulario.

Figura 8: Los datos enviados en el formulario quedan grabados en panel
En este caso se ha hecho la demo con un fichero JavaScript, pero se podría realizar el mismo ataque con ficheros HTML o incluso CSS, pudiendo hacerse uso no sólo deJavaScript, sino de side-channel attacks como los contados por Mario Heiderich en Got Your Nose! How attackers steal your precious data without using scripts.

Author

Diseño Páginas Web

Abrir chat 👋
💬 ¿Necesitas ayuda?
Hola 👋
¿En qué podemos ayudarte?