Test Foro de elhacker.net SMF 2.1

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: Bb-7 en 5 Julio 2010, 16:21 PM

Título: Leer ejecutable e inyectar ????
Publicado por: Bb-7 en 5 Julio 2010, 16:21 PM
Hola. Voy al grano. Un amigo y yo estamos creando un cripter, y yo soy el encargado del stub. Por ahora todo va perfecto, ya que mi stub es capaz de leerse a sí mismo, extraer el ejecutable y las opciones, descifrar el ejecutable, escribirlo, y correrlo.
Ahora, he decidido dar un paso más, y en vez de crear un ejecutable temporal, lo que quiero es inyectar el código directamente en memoria tras haberlo descifrado. Teóricamente no me suponía ninguna dificultad, pero al pasar a la práctica, no me funcionaba. Sé inyectar funciones al estilo de void inyectada(DATOS *str_datos), en un proceso ó DLL, pero leer un ejecutable entero e inyectarlo es lo que llevo tiempo intentando hacer sin éxito, y me gustaría que me ayudarais.
No quiero un código, puesto que no soy de esas personas que copian, pegan y no entienden, no voy por el camino lammeril. Lo que quiero es una explicación teórica de cómo hacerlo, y a partir de ahí seré yo quien cree el código.
Lo que hacía hasta ahora era una vez leído y descifrado el código del ejecutable, meterlo en un puntero void, abrir el proceso notepad.exe, reservar memoria, e inyectarlo allí, y después abrir un thread, pero no pasaba nada, salvo que se cerraba el notepad.
Un saludo y gracias de antemano.
Título: Re: Leer ejecutable e inyectar ????
Publicado por: Lewert en 8 Julio 2010, 20:28 PM
Antes que nada mira los posts con chinchetas, puede que ahi esté tu respuesta! :D
http://foro.elhacker.net/analisis_y_diseno_de_malware/ejecucion_de_archivos_desde_memoria_base_relocation-t264564.0.html
Título: Re: Leer ejecutable e inyectar ????
Publicado por: Horricreu en 8 Julio 2010, 21:18 PM
Antes de pasar a hacer todo esto has de tener conocimientos sobre el formato PE (http://www.microsoft.com/whdc/system/platform/firmware/pecoff.mspx) y, luego saber como ofuscar ejecutables (http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_asi_funcionan_los_crypters_cifrando_malware_a_mano-t262806.0.html) mano a mano. Luego todo esto, lo aplicas al código.

Saludos :P
Título: Re: Leer ejecutable e inyectar ????
Publicado por: [Zero] en 9 Julio 2010, 11:07 AM
Si, es fundamental que conozcas el formato PE para trabajar con el ejecutable, ya que para inyectar un exe en memoria tienes que emular el loader de Windows.


Esa es la forma común, hay otras formas, más detectadas o menos detectadas, más complicadas y menos, pero todo se basa en tener clara la estructura de los ejecutables y qué hace windows para arrancarlos cuando el usuario lo desea.

Taller Formato PE by Ferchu (http://foro.elhacker.net/analisis_y_diseno_de_malware/abril_negro_2008_taller_de_formato_pe_by_ferchu-t208278.0.html)

Saludos  ;)