Tema destacado: Grupo de acebook de elhacker.net
Autor
|
Tema: Que es un RunPE? (Leído 2,175 veces)
|
RHL
Desconectado
Mensajes: 958
|
buenas tengo esa duda  pensaria que se encuentra facil en google pero busque por una hora y no encontre nada :S es mas encontre codigos y todo eso pero exactamente quiero saber caracteristicas detalles osea lo principal que es lo que hace  gracias espero no haberme equivocado en la sección siempre e visto el tema creo que es de malware no 
|
|
|
|
|
En línea
|
|
|
|
|
el-brujo
|
|
|
|
|
« Última modificación: 29 Septiembre 2011, 20:56 por el-brujo »
|
En línea
|
"elhacker.net es único, por eso no fabrica para otras marcas" - Prohibido prohibir 
|
|
|
|
|
|
|
|
|
The Swash
Desconectado
Mensajes: 83
Programmer
|
Buena tarde,Con respecto a las respuestas, todas están erradas, pero vamos no del todo y no es por desmeritarles. En realidad el RunPE obviamente tiene estrecha relación con el Formato PE, pero no es exactamente eso. El famoso RunPE es una técnica la cual permite ejecutar archivos ("on the fly" - Karcrack), es decir sin necesidad de que el archivo ocupe tamaño físico, esto se hace porque el archivo está plasmado en un buffer en memoria. Esta técnica es usada en malware generalmente en Cifradores, los cuales tienen en su cuerpo el archivo cifrado, luego en memoria lo descifran y lo ejecutan, y esto no llamará mucho la atención. Como funciona un RunPE:- Comprobar que es un ejecutable válido (MZ & PE/x0/x0 Signature).
- Crear un nuevo proceso suspendido (Generalmente con el mismo ejecutable).
- Desasignar la proyección del archivo en ese proceso, ImageBase. (Limpiar el ejecutable del proceso).
- Obtener contextos (Registros).
- Reservar en memoria la dirección del ImageBase del ejecutable con un tamaño del campo SizeOfImage. (ImageBase y SizeOfImage del archivo a ejecutar).
- Escribir la cabecera y las secciones alineadas por el campo SectionAlignment.
- Editar EAX en los registros leídos por la dirección del punto de entrada del archivo a ejecutar.
- Editar EBX + 8 por el ImageBase del ejecutable a cargar (Cambiar base de la imagen del nuevo proceso).
- Editar con el nuevo contexto (Escribir registros).
- Iniciar el proceso suspendido.
Un saludo.
|
|
|
|
|
En línea
|
|
|
|
RHL
Desconectado
Mensajes: 958
|
 interesante sera que es posible cargar solamente trozos de codigos desifrados para que los AVs no los detecten tan facil? y si fuera asi pero en vb no se puede verdad  solo en c++ y asm ?  aunq noce pero e visto varios codigos en vb 
|
|
|
|
|
En línea
|
|
|
|
kisk
Desconectado
Mensajes: 47
|
 interesante sera que es posible cargar solamente trozos de codigos desifrados para que los AVs no los detecten tan facil? y si fuera asi pero en vb no se puede verdad  solo en c++ y asm ?  aunq noce pero e visto varios codigos en vb  Claro que es posible y en vb si se puede verda karcrack ?pero es mucho mas lio es mejor hacerlo en asm o c++ a esta tecnica se le llama inyeccion de codigo en memoria algo complejo para empezar por ahi dejame decirte Mahazar dejo unos tutos espectaculares si lo encuentro te los subo Saludos
|
|
|
|
« Última modificación: 30 Septiembre 2011, 06:20 por kisk »
|
En línea
|
La vieja escuela me da nostalgia la nueva me da naucias dime cual es la escuela si ambas me deprimen (8)
|
|
|
RHL
Desconectado
Mensajes: 958
|
Claro que es posible y en vb si se puede verda karcrack ?pero es mucho mas lio es mejor hacerlo en asm o c++ a esta tecnica se le llama inyeccion de codigo en memoria algo complejo para empezar por ahi dejame decirte Mahazar dejo unos tutos espectaculares si lo encuentro te los subo Saludos
ok se te agradeceria tio  ya veo que es muy buena tecnica esta 
|
|
|
|
|
En línea
|
|
|
|
kisk
Desconectado
Mensajes: 47
|
A claro que es muy buena el Poison Ivy usa esta tecnica y mira uno de los mejores rats que existe Saludos
|
|
|
|
|
En línea
|
La vieja escuela me da nostalgia la nueva me da naucias dime cual es la escuela si ambas me deprimen (8)
|
|
|
|
Karcrack
|
Una gran explicación Swash  Se puede hacer en VB6 lo del cifrado facilmente... pero habría que perder algunas funcionalidades propias del lenguaje... o bien toquetear el linker 
|
|
|
|
« Última modificación: 30 Septiembre 2011, 13:41 por Karcrack »
|
En línea
|
|
|
|
keyser
Desconectado
Mensajes: 8
|
Buena tarde,Con respecto a las respuestas, todas están erradas, pero vamos no del todo y no es por desmeritarles. En realidad el RunPE obviamente tiene estrecha relación con el Formato PE, pero no es exactamente eso. El famoso RunPE es una técnica la cual permite ejecutar archivos ("on the fly" - Karcrack), es decir sin necesidad de que el archivo ocupe tamaño físico, esto se hace porque el archivo está plasmado en un buffer en memoria. Esta técnica es usada en malware generalmente en Cifradores, los cuales tienen en su cuerpo el archivo cifrado, luego en memoria lo descifran y lo ejecutan, y esto no llamará mucho la atención. Como funciona un RunPE:- Comprobar que es un ejecutable válido (MZ & PE/x0/x0 Signature).
- Crear un nuevo proceso suspendido (Generalmente con el mismo ejecutable).
- Desasignar la proyección del archivo en ese proceso, ImageBase. (Limpiar el ejecutable del proceso).
- Obtener contextos (Registros).
- Reservar en memoria la dirección del ImageBase del ejecutable con un tamaño del campo SizeOfImage. (ImageBase y SizeOfImage del archivo a ejecutar).
- Escribir la cabecera y las secciones alineadas por el campo SectionAlignment.
- Editar EAX en los registros leídos por la dirección del punto de entrada del archivo a ejecutar.
- Editar EBX + 8 por el ImageBase del ejecutable a cargar (Cambiar base de la imagen del nuevo proceso).
- Editar con el nuevo contexto (Escribir registros).
- Iniciar el proceso suspendido.
Un saludo. Buenas reabro el tema porque yo tambien tengo dudas sobre el RunPE... Alguien mas puede arrojar algo mas de luz sobre el tema? Alguien puede explicarme que se entiende por obtener los contextos de un proceso? Tampoco entiendo porque hay que editar el ebx+8...
|
|
|
|
|
En línea
|
|
|
|
|
|