18 dic 2011

Método DAF Evolution By 4n0nym0us

Cuando se me ocurrió la idea de crear el Método DAF allá por el 2009, me parecía que referente al mismo, estaba todo terminado y no podría hacerlo evolucionar mucho más lejos con mis medios tercermundistas de programación. Sin embargo, ayer mientras pensaba en crear una nueva entrada a la página, empecé a dar vueltas por internet, reventando todo lo que se ponía a mi paso... y ¡joder! ¿A quién le importa que páginas gubernamentales tengan SQLi junto passwords de administración sin cifrar? Así que me decanté por perfeccionar este método el cual llamé, DAFe, seguro menos agresivo y no cuanto menos porno-informático.

Para los que no conocían el Método DAF, les resumo brevemente el funcionamiento:

El objetivo del método, era el salteo de firmas antivirus, modificando en hexadecimal las dependencias que necesitaba el ejecutable o malware para su correcta ejecución en un sistema, siendo este bindeado a otro ejecutable mediante la herramienta Iexpress, el cual transportaba dichas librerías modificadas con los nombres nuevos a utilizar.

En este nuevo Método DAFe, no saldremos de la programación y el editor hexadecimal, pues el bindeo de ambos ejecutables, lo haremos agregando el malware como recurso del proyecto, con una extensión no ejecutable y mediante el comando copy, copiaremos las dependencias que ya existen en el sistema, con otro nombre, las cuales necesitará el malware para ejecutarse.

Para la prueba de concepto, he preferido utilizar un notepad de XP como supuesto malware ¿Por qué? ¡Por qué sí!

Así que lo primero, he cogido Hex Workshop y arrastré el notepad dentro del editor. Buscando la librería Kernel32.dll, la he reemplazado por 1.sys.

Kernel32.dll (Mayúsculas y minúsculas)
4B45524E454C33322E646C6C
6B65726E656C33322E646C6C

1.sys y espacios vacios
312E73797300000000000000 
Este método lo podemos utilizar con todas las librerías existentes en un malware. En la siguiente imagen, muestro el código en Visual Basic 6 de como funciona la aplicación, que contendrá todo lo necesario para explotar el método. Si alguno se atreve, podría crearlo en otro lenguaje incluso, la parte de modificar en hexadecimal las dependencias, como ya hicieron con otro método que creé anteriormente denominado Método BugDLL.


Este es el resultado de la compilación. El ejecutable ha sido llamado install.exe, pues para sistemas como Windows 7 o Vista, es la forma más simple de hacer correrlo como administrador.


Al ejecutar el proyecto, de forma oculta se crean dos archivos nuevos en la carpeta de sistema, uno que contiene la librería de kernel32.dll con otro nombre, y otro el verdadero malware modificado.


El cual he probado en sistemas de 64 bits como Windows 7, y se ejecuta sin problemas.


Las últimas dos lineas de código, se tratan de un Sleep que duerme la ejecución del ejecutable durante 5000 milisegundos lo que es igual a 5 segundos de espera, para ejecutar por consola el malware como fichero sys.

¡Y ahí tienen mi glorioso notepad funcionando con librerías modificadas!


Si miran los procesos, veran que tienen corriendo 2.sys, ¿Gracioso verdad? 

Para ver si el proceso tan inusual, era detectado por algún antivirus, mandé la copia a Novirusthanks y este es el resultado.



Espero se hayan divertido tanto como yo con la entrada.

Descargar el source y binarios:

Y como siempre...

Saludos 4n4les! ;)