miércoles, marzo 07, 2012

Owning bad guys & mafia with Javascript botnets (2 de 5)

**************************************************************************************************
- Owning bad guys & mafia with Javascript botnets (1 de 5)
- Owning bad guys & mafia with Javascript botnets (2 de 5)
- Owning bad guys & mafia with Javascript botnets (3 de 5)
- Owning bad guys & mafia with Javascript botnets (4 de 5)
- Owning bad guys & mafia with Javascript botnets (5 de 5)
**************************************************************************************************

Arquitectura de la solución: Infección de Javascript

Para conseguir el objetivo de poder infectar a clientes con ficheros Javascript maliciosos, lo ideal sería no añadir un nuevo fichero, sino modificar los ficheros Javascript que pasaran por el servidor Proxy malicioso añadiendo un poco de código para cargar un payload cada vez que se ejecutase ese código en una pestaña del navegador. Es decir, una arquitectura más o menos como la que se puede ver en la imagen siguiente:

Figura 4: Arquitectura de Proxy Malicioso

Es decir, que la arquitectura lo que hace es modificar el código de los ficheros Javascript que pasan por el servidor Proxy para que cargue dinámicamente los payloads que se van a configurar más adelante con un panel de control como BeEF.

Montando el servidor Proxy: SQUID

Para conseguir hacer la reescritura de los ficheros Javascript los pasos necesarios son:
1) Descargar el fichero de su ubicación original
2) Guadarlo en una ubicación temporal
3) Añadir el código Javascript de la infección al final del fichero Javascript
4) Hacer que ese fichero tenga una fecha de expiración de 3.000 días
5) Entregar al cliente el nuevo fichero Javascript creado.
Con el objetivo de poder realizar todos estos pasos, lo primero que hay que hacer es activar la opción del servidor SQUID de URL_Rewrite_Program, que permite ejecutar un programa para reescribir los ficheros que cumplan una determinada condición. En este caso, la regla se aplica a todos los ficheros y se utiliza un programa en Perl llamado poison.pl.

Figura 5: squid.conf con activación de url_rewrite_program

El fichero poison.pl realiza los pasos 1 a 5 - con la excepción del paso 4 - del proceso descrito anteriormente. Para ello, primero comprueba que el nombre del fichero termina en .js con una pequeña expresión regular. Una vez que se cumpla que el fichero sea Javacript, el programa lo descarga de la ubicación original, lo copia a una ubicación temporal, le cambia los permisos para poder escribir en él, y le vuelca el contenido del fichero de infección, que en nuestro ejemplo se llama pasarela.js

Figura 6: Módulo poison.pl para realizar la infección de ficheros Javascript

El último paso a configurar consiste en modificar la fecha de expiración de los objetos. Para ello es necesario instalar en Apache el módulo mod_expires y realizar un pequeño cambio en el fichero .htaccess de la ubicación desde la que se van a servir todos los ficheros Javascript infectados.

Figura 7: Fichero .htaccess en la carpeta temporal con fecha de expiración alargada

La infección

Por último, cabe destacar que lo único que es necesario infectar en los ficheros Javascript es algo que se llamó pasarela.js y que lo único que hace es cargar el poison payload.php desde el servidor malicioso y reportar su identidad cargando una imagen con jsonip.php.

Figura 8: pasarela.js que se copia en todos los archivos Javascript que pasan por el Proxy

En el código se puede ver como se comprueba si hay creado un elemento y si no se crea. El objeto es que no se ejecute más de una vez por página el código de la pasarela.

Y ahora... ¿cómo conseguir que alguien se infecte con este Proxy Malicioso?

Saludos Malignos!

**************************************************************************************************
- Owning bad guys & mafia with Javascript botnets (1 de 5)
- Owning bad guys & mafia with Javascript botnets (2 de 5)
- Owning bad guys & mafia with Javascript botnets (3 de 5)
- Owning bad guys & mafia with Javascript botnets (4 de 5)
- Owning bad guys & mafia with Javascript botnets (5 de 5)
**************************************************************************************************

7 comentarios:

Anónimo dijo...

anuncio subliminal:

En el siguiente capitulo, el maligno desplegará sus mejores técnicas: la crema en bandeja de plata, así que si quieres seguirlo, apuntate a todo: a volleyball a tenis y también a informática64. FOCAAAA FOCAAAAAAA FOCAAAAAAAAAAAAAAAAAAAAAA!

Anónimo dijo...

http://www.youtube.com/watch?v=8pYCvM3B9Rw Ey Foca bum buuuummmm!!!!

Anónimo dijo...

La Foca ya hace de todo http://www.youtube.com/watch?v=wwylfKYWb1Y

Anónimo dijo...

Excelnte!!!

Chen dijo...

Deseando leer el resto!!

Aneraka dijo...

La proxima vez buscare que sitios no han sido encontrados por elmaligno y en elos me conectare....

XD buen post maligno

JoanJosep dijo...

Como haces para que es script en perl tenga los permisos para poder escribir en la carpeta temporal?

Saludo y gracias

Entrada destacada

Programa de Especialización "Inteligencia Artificial para Expertos en Ciberseguridad" 2ª Edición.

Hoy, en medio del verano, os traigo información de la 2ª Edición del   Programa de Especialización  de "Inteligencia Artificial para Ex...

Entradas populares