Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: harry_the_blogger en 6 Octubre 2014, 00:08 am



Título: Ayuda con Motor Metamorfico
Publicado por: harry_the_blogger en 6 Octubre 2014, 00:08 am
Hola, estoy desarrollando un motor metamorfico. Sé que es algo dificil, pero si uno no empieza no acaba nunca. XD.

Bueno, el problema es el siguiente: Necesito ayuda sobre como generar las instrucciones equivalentes: Imaginemos que tengo un:

Código
  1. ;En sintaxis FASM
  2. mov [variable], eax
  3.  

Podría ser reemplazado por un:

Código
  1. ;En sintaxis FASM
  2. push eax
  3. pop [variable]
  4.  

¿Como podría lograr eso? Tengo una idea, pero no sé si será la mejor opción:

  • Analizar el source y el destino
  • Aplicar source a un push
  • Aplicar destino a un pop


¿Será que alguien me puede dar una idea de como intercambiar las instrucciones? Ya he leído los manuales de Intel bastantes veces, y por lo menos lo básico lo entiendo. Quisiera una ayudadita, porque el tema de los motores metamorficos está algo díficil de implementar.

Gracias a todos de antemano.


Título: Re: Ayuda con Motor Metamorfico
Publicado por: MCKSys Argentina en 6 Octubre 2014, 03:15 am
Hola!

Revisaste los motores que hay en VXHeavens (http://vxheaven.org/vx.php?id=eidx)?

De los 288 que hay, seguro que hay al menos uno, que haga lo que quieres hacer...  ;)

Saludos!


Título: Re: Ayuda con Motor Metamorfico
Publicado por: harry_the_blogger en 6 Octubre 2014, 03:19 am
Ah, gracias por el link. Solo quería pedir una tercera opinion. Ya los estoy analizando a ver que tal están.

Quisiera que me dieran ideas. Sé que es posible que no me den código (porque si no me equivoco el foro lo prohibe, al menos eso creí ver en las reglas cuando las leí). Pero si alguna idea de como tratar las instrucciones de forma fácil, porque es algo engorroso mantener los datos sobre los prefijos, si es one-byte opcode o two-byte op, etc.

Cuando haya avanzado más, puedo seguir publicando mis dudas aqu. ¿cierto?. XD.


Título: Re: Ayuda con Motor Metamorfico
Publicado por: xv0 en 7 Octubre 2014, 17:27 pm
La duda que tienes es avanzada no creas conseguir mucha ayuda en estos temas, me pasa ami tambien.

No creo que encuentres un motor metamorfico en ese link, si es asi pido disculpas, no me lei los 288 que hay.

Lo que podrias hacer es estudiar algun motor polimorfico de los que te paso @MCKSys Argentina, y de hay sacar ideas para los tuyos y si es posible para algun dia hacer un motor metamorfico, sabras cual es la diferencia entre un motor poli y meta?

Pues sobre como crear las instrucciones equivalentes, tendrias que crear una rutina que interpretara el opcode y lo cambiara por otros registros y opcode no hay otra forma segun lo que se yo, lee los tomos de las intrucciones y mira cual podria ser los equivalente.

Tienes XCHG y opcode como ese, no se que mas decirte creo que con el metodo que estas usando para el disassembler podrias hacer algo con esto, pero eso ya es cosa tuya.

Creo recordar a ver leido por algun sitio dedicado al malware, que se encontro malware con un motor metamorfico de unas 15.000 instrucciones ASM, era mas pesado y avanzado el metamorfismo que el propio virus en si, solamente digo eso.

Un saludo.