[PROYECTO]Desarrollo de un cifrador indetectable

Iniciado por ErOzE, 3 Marzo 2011, 16:02 PM

0 Miembros y 1 Visitante están viendo este tema.

Karcrack

Cita de: ErOzE en  4 Marzo 2011, 17:01 PM
por cierto como funciona un crypter runtime, descrifra todo el codigo a ejecutar y luego lo ejecuta ¿no?, con lo que una vez terminado el descifrado, el codigo en abierto del troyano estaria en memoria y seria detectado con muchisima facilidad por los antivirus. ¿si ó no?, te pregunto porque no se realmente como funciona el crypter runtime de que hablas.
Actualmente se pueden diferenciar los Crypters (Cifradores) en dos ramas. Los scantime, que cuando son ejecutados sencillamente descifran en el ejecutable,lo guardan en el disco duro y lo ejecutan... O runtime, que descifran el ejecutable y lo ejecutan desde la memoria...
El scantime seria detectado ya que esta dejando en el disco duro el ejecutable descifrado, por lo que el antivirus lo detectara sin problema, en cambio el runtime no sera detectado, porque ningun AV analiza todo la memoria de todos los procesos en busca de codigo malicioso. Los runtime a veces son detectados por la defensa proactiva o heuristica.

Quitando el polimorfismo, cual seria la ventaja de ejecutar instruccion por instruccion? Me da la sensacion de que seria realmente inestable... ya que es muy dificil abarcar todas las posibles acciones que podria hacer el ejecutable...

ErOzE

Pues si, tienes toda la razon seria bastante inestable, pero el hecho de hacerlo instruccion por instruccion es para que "nunca" el codigo del troyano este en abierto. Aunque la inestabilidad será inversamente proporcional a la calidad del analizador que determinaria que parte o partes son los que hay que descifrar para procesar correctamente, que desde luego para nada seria facil ni sencillo.

[Zero]

Cita de: Karcrack en  4 Marzo 2011, 18:53 PM
Actualmente se pueden diferenciar los Crypters (Cifradores) en dos ramas. Los scantime, que cuando son ejecutados sencillamente descifran en el ejecutable,lo guardan en el disco duro y lo ejecutan... O runtime, que descifran el ejecutable y lo ejecutan desde la memoria...
El scantime seria detectado ya que esta dejando en el disco duro el ejecutable descifrado, por lo que el antivirus lo detectara sin problema, en cambio el runtime no sera detectado, porque ningun AV analiza todo la memoria de todos los procesos en busca de codigo malicioso. Los runtime a veces son detectados por la defensa proactiva o heuristica.

Quitando el polimorfismo, cual seria la ventaja de ejecutar instruccion por instruccion? Me da la sensacion de que seria realmente inestable... ya que es muy dificil abarcar todas las posibles acciones que podria hacer el ejecutable...

Supongo que la heurística hace precisamente eso, ejecuta el archivo "en su mundo", para que le de tiempo a desencriptarse, y luego analiza el archivo descifrado en memoria. Osea, si el antivirus echa un ojo a la memoria lo detectaría, de esta forma no, o le costaría mucho más. El caso es que es tremendamente complicado hacerlo, pero para eso tenemos tiempo libre xD.

Saludos

"El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche

Karcrack

Ningun AV analiza la memoria de los procesos... sencillamente porque eso haria que el usuario notase una ralentizacion asombrosa... Pero bueno, esto puedes probarlo facilmente haciendole un StrReverse() al EICAR test file y descifrarlo en memoria... veras como ningun AV dice nada :P

ErOzE

#14
Cita de: Karcrack en  5 Marzo 2011, 19:06 PM
Ningun AV analiza la memoria de los procesos... sencillamente porque eso haria que el usuario notase una ralentizacion asombrosa... Pero bueno, esto puedes probarlo facilmente haciendole un StrReverse() al EICAR test file y descifrarlo en memoria... veras como ningun AV dice nada :P

Si ningun AV analiza la memoria de los procesos como dices, sin hacer nada especial simplemente inviertes un troyano o virus, lo descifras en memoria, y una vez asi, podrias ejecutarlo directamente. ¿no?, porque la intencion no solamente será tener un troyano en memoria, sino que el mismo este activo.

Karcrack

Exactamente, pero no sirve únicamente con darle la vuelta... hace falta un cifrado un poco más complejo, solo dándole la vuelta el AV lo detecta ;)

ErOzE

#16
Cita de: Karcrack en  5 Marzo 2011, 20:25 PM
Exactamente, pero no sirve únicamente con darle la vuelta... hace falta un cifrado un poco más complejo, solo dándole la vuelta el AV lo detecta ;)

ok vamos por partes, cogemos el archivo de test, lo invertimos por ejemplo, lo ciframos con xor 170 y si quieres podemos añadir un SHR a la derecha y el acarreo que provoque lo colocamos como primer bit de cada byte, ya no tiene la forma original ni de lejos, ahora nos vamos a un programa que lo lee por ejemplo de un archivo donde lo tenemos ya transformado, o no, mejor no lo lee de ningun sitio, el archivo lo tenemos integrado en modo binario dentro del propio programa, y este programa coge el codigo del archivo de test cifrado y dentro de una variable o de una zona de la memoria lo desciframos, para despues ejecutarlo y lo ejecutamos desde este mismo programa, y los AV no lo detectan. ¿estas realmente seguro?, me da la impresion que los AV BUENOS, lo detectaran. ¿no crees? :rolleyes:

[Zero]

Cita de: ErOzE en  5 Marzo 2011, 21:02 PM
ok vamos por partes, cogemos el archivo de test, lo invertimos por ejemplo, lo ciframos con xor 170 y si quieres podemos añadir un SHR a la derecha y el acarreo que provoque lo colocamos como primer bit de cada byte, ya no tiene la forma original ni de lejos, ahora nos vamos a un programa que lo lee por ejemplo de un archivo donde lo tenemos ya transformado, o no, mejor no lo lee de ningun sitio, el archivo lo tenemos integrado en modo binario dentro del propio programa, y este programa coge el codigo del archivo de test cifrado y dentro de una variable o de una zona de la memoria lo desciframos, para despues ejecutarlo y lo ejecutamos desde este mismo programa, y los AV no lo detectan. ¿estas realmente seguro?, me da la impresion que los AV BUENOS, lo detectaran. ¿no crees? :rolleyes:


Si lo haces bien no lo detectan xD. En este caso si lo detectarían, porque un xor y un shr sigue sin ser suficiente para la heurística, pero metes una cifrado mejor y el AV no debería chillar.

Saludos

"El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche

ErOzE

Entonces no me he explicado bien, el hecho de cifrar de una forma o con un procedimiento AES o de cualquier otra forma no creo que sea lo importante, lo que ocurre es que de la forma que sea, siempre al final tendras el virus o troyano en la memoria en abierto una vez descifrado y cualquier AV decente lo detectará.

Saludos

[Zero]

Cita de: ErOzE en  5 Marzo 2011, 22:08 PM
siempre al final tendras el virus o troyano en la memoria en abierto una vez descifrado y cualquier AV decente lo detectará.

Falso, aunque parezca increíble  ;D. Lo detectarán a la hora de hacer el proceso de inyectarse, o cuando lo inyectado haga algo raro, pero por tener las firmas en memoria no pasa nada :).

Saludos

"El Hombre, en su orgullo, creó a Dios a su imagen y semejanza.”
Nietzsche