elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Injectar codigo en PE (Portable Ejecutable)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Injectar codigo en PE (Portable Ejecutable)  (Leído 5,319 veces)
70N1


Desconectado Desconectado

Mensajes: 355


Ver Perfil
Injectar codigo en PE (Portable Ejecutable)
« en: 7 Octubre 2013, 12:54 pm »

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 Desconectado

Mensajes: 875



Ver Perfil
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #1 en: 7 Octubre 2013, 19:25 pm »

Hola amigo, yo hace un par de semanas pase por lo mismo.. y el resultado:

Código:
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 Desconectado

Mensajes: 355


Ver Perfil
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #2 en: 8 Octubre 2013, 13:16 pm »

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 Desconectado

Mensajes: 875



Ver Perfil
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #3 en: 8 Octubre 2013, 20:34 pm »

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
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #4 en: 8 Octubre 2013, 21:23 pm »

Te recomiendo darte una vuelta por este lado: http://vxheaven.org/vl.php

PD: 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."

Cromatico

Desconectado Desconectado

Mensajes: 110


Ver Perfil
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #5 en: 8 Octubre 2013, 21:53 pm »

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.

Aca hay un ejemplo en VB6:
http://foro.elhacker.net/analisis_y_diseno_de_malware/infeccion_de_ejecutables_en_visualbasic_6-t131243.0.html

Muy facil para adaptar, suerte!
En línea

Mad Antrax
Colaborador
***
Desconectado Desconectado

Mensajes: 2.164


Cheats y Trainers para todos!


Ver Perfil WWW
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #6 en: 8 Octubre 2013, 21:56 pm »


Ooooo ese ejemplo me suena  :rolleyes:
En línea

No hago hacks/cheats para juegos Online.
Tampoco ayudo a nadie a realizar hacks/cheats para juegos Online.
Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #7 en: 9 Octubre 2013, 05:21 am »

Interesante... y por lo que veo, no es necesario andar metiéndose en el PEB ni nada de eso...
En línea

MCKSys Argentina
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.471


Diviértete crackeando, que para eso estamos!


Ver Perfil
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #8 en: 9 Octubre 2013, 19:46 pm »

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 Desconectado

Mensajes: 875



Ver Perfil
Re: Injectar codigo en PE (Portable Ejecutable)
« Respuesta #9 en: 9 Octubre 2013, 20:01 pm »

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

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Inyectar codigo a un ejecutable
Ingeniería Inversa
darklaiser 1 2,777 Último mensaje 29 Septiembre 2007, 19:17 pm
por Shaddy
formato portable ejecutable
Programación Visual Basic
malektaus27A 1 1,914 Último mensaje 31 Enero 2008, 18:12 pm
por ~~
Dos preguntas sobre el PE ( Portable Ejecutable )
Programación Visual Basic
ricardovinzo 1 1,754 Último mensaje 1 Marzo 2009, 00:06 am
por ~~
(eBook) Formato portable ejecutable bajo windows
Ingeniería Inversa
m0rf 2 2,911 Último mensaje 5 Agosto 2011, 17:56 pm
por .:UND3R:.
Forma de hacer app en php portable (ejecutable).
PHP
Graphixx 1 6,954 Último mensaje 24 Diciembre 2011, 12:41 pm
por #!drvy
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines