Autor
|
Tema: Injectar codigo en PE (Portable Ejecutable) (Leído 5,900 veces)
|
70N1
Desconectado
Mensajes: 355
|
Buenas a todos.... Busco un ejemplo de infeccion de ejecutables, que sea facil de entender. O almenos guiarme.
Gracias por vuestro tiempo.
|
|
|
En línea
|
70N1
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Hola amigo, yo hace un par de semanas pase por lo mismo.. y el resultado: BOOL InjectDLL(DWORD ProcessID, char *Dll_Name) { HANDLE Proc; HANDLE RemoteThread; LPVOID RemoteString, LoadLibAddres; int Retorno;
Proc = OpenProcess(CREATE_THREAD_ACCESS, FALSE, ProcessID); cout << " " << "OpenProcess: " << Proc << endl;
LoadLibAddres = (LPVOID)GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA"); cout << " " << "Base Address of LoadLibraryA: " << LoadLibAddres << endl;
RemoteString = (LPVOID)VirtualAllocEx(Proc, NULL, strlen(Dll_Name)+1, MEM_RESERVE|MEM_COMMIT, PAGE_READWRITE); cout << " " << "VirtualAllocEx: " << RemoteString << endl; Retorno = WriteProcessMemory(Proc, (LPVOID)RemoteString, Dll_Name, strlen(Dll_Name)+1, NULL); cout << " " << "WriteProcessMemory: " << Retorno << endl;
RemoteThread = CreateRemoteThread(Proc, NULL, NULL, (LPTHREAD_START_ROUTINE)LoadLibAddres, (LPVOID)RemoteString, NULL, NULL); cout << " " << "CreateRemoteThread: " << RemoteThread << endl;
CloseHandle(Proc); cout << " " << "Closing Handle" << endl;
return 0; } Con esta función, podes cargar una dll dentro del espacio de memoria de un PE, le tendrías que pasar a esta función como primer parámetro el ID del proceso a inyectar (se puede obtener con GetProcessID(NombreDelProceso) ) y como segundo la ruta completa de la dll (a menos que esta misma se encuentre en la misma carpeta que el inyector) en fin.. espero te sirva de algo,, al menos poder deducir que apis se utilizan..
|
|
|
En línea
|
|
|
|
70N1
Desconectado
Mensajes: 355
|
Disculpa...
Pero es que no quiero injectar en memoria. Lo que quiero es introducir codigo dentro del exe para que se ejecute mi codigo y luego siga con el del programa.
|
|
|
En línea
|
70N1
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Modificando el binario? Y bueno, ahi es distinto.. jaja calculo que lo tendrás que abrir como escritura con fopen, de forma binaria.. y ahí hacer algunas modificaciones.. pero según tengo entendido, no es cuestion de cambiar el tamaño de un archivo y esperar que siga funcionando.. deberías cambiar algunos valores en la IMAGE OPTIONAL HEADER, y quizás, alguna otra cosa,, pero, por favor, que alguien me corrija si estoy diciendo cualquier cosa.. yo creo que algo asi es la cosa.. No se cuanto conoces del formato PE, pero creo que hay que tener un buen conocimiento del mismo, al menos para entender lo que se esta haciendo Saludos!!
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Te recomiendo darte una vuelta por este lado: http://vxheaven.org/vl.phpPD: OJO! con lo que haces con esos codigos! Si tienes una AV en la maquina, lo mas probable es que te los borre, asi que toma las medidas necesarias... Saludos!
|
|
« Última modificación: 8 Octubre 2013, 21:26 pm por MCKSys Argentina »
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
|
Mad Antrax
|
Ooooo ese ejemplo me suena
|
|
|
En línea
|
No hago hacks/cheats para juegos Online. Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Interesante... y por lo que veo, no es necesario andar metiéndose en el PEB ni nada de eso...
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
Interesante... y por lo que veo, no es necesario andar metiéndose en el PEB ni nada de eso...
La PEB la usarias si estuvieras inyectandote (en realidad es util para hacer shellcodes), pero para infectar, debes conocer el formato PE.
|
|
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
Vaagish
Desconectado
Mensajes: 875
|
Si, después de escribir, me imagine que en realidad el PEB se carga cuando se carga el PE,, asi que no seria necesario modificarlo, porque lo que se modifica en este caso, es el codigo..
Saludos!
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Inyectar codigo a un ejecutable
Ingeniería Inversa
|
darklaiser
|
1
|
2,986
|
29 Septiembre 2007, 19:17 pm
por Shaddy
|
|
|
formato portable ejecutable
Programación Visual Basic
|
malektaus27A
|
1
|
2,075
|
31 Enero 2008, 18:12 pm
por ~~
|
|
|
Dos preguntas sobre el PE ( Portable Ejecutable )
Programación Visual Basic
|
ricardovinzo
|
1
|
1,864
|
1 Marzo 2009, 00:06 am
por ~~
|
|
|
(eBook) Formato portable ejecutable bajo windows
Ingeniería Inversa
|
m0rf
|
2
|
3,089
|
5 Agosto 2011, 17:56 pm
por .:UND3R:.
|
|
|
Forma de hacer app en php portable (ejecutable).
PHP
|
Graphixx
|
1
|
7,118
|
24 Diciembre 2011, 12:41 pm
por #!drvy
|
|