Autor
|
Tema: Inyeccion en otro proceso (Leído 7,271 veces)
|
Eternal Idol
Kernel coder
Colaborador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
si lo se. por eso la estructura se pone dentro de la funcion. porque obvio que una funcion cualquiera nunca inyectada dentro de otro proceso nunca va a apuntar a la direccion correcta
La estructura se le pasa como parametro a la funcion ... en fin que estamos en el foro de VB y el codigo tendra que ser la representacion en hexadecimal de codigo en assembly. Habria que hacer algo asi como esto para que funcionara desde C: #include <windows.h>
typedef BOOL (__stdcall DeleteFileA_Ptr)(char *);
typedef struct _DelData { DeleteFileA_Ptr *DeleteFile; char *file; }DelData, *PDelData;
void funcion(PDelData Data);
void main(int argc, char **argv) { int procid = atol(argv[1]); HANDLE hProc = OpenProcess(PROCESS_ALL_ACCESS, 0, procid); if (hProc) { LPVOID Code = VirtualAllocEx(hProc, 0, 0x1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE); LPVOID Data = VirtualAllocEx(hProc, 0, 0x1000, MEM_COMMIT, PAGE_EXECUTE_READWRITE); DWORD tid = 0; DelData Params; Params.DeleteFile = (DeleteFileA_Ptr*)GetProcAddress(GetModuleHandle("Kernel32.dll"), "DeleteFileA"); Params.file = (char*)((BYTE*)Data) + sizeof(DelData); DWORD written = 0; char *File = "C:\\BASURA.TXT"; WriteProcessMemory(hProc, Code, &funcion, 32 /*a ojo*/, &written); WriteProcessMemory(hProc, Data, &Params, sizeof(DelData), &written); WriteProcessMemory(hProc, ((BYTE*)Data + sizeof(DelData)), File, strlen(File), &written); CreateRemoteThread(hProc, 0, 0, (LPTHREAD_START_ROUTINE)Code, Data, 0, &tid); } }
void funcion(PDelData Data) { Data->DeleteFile(Data->file); }
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Kizar
Desconectado
Mensajes: 1.325
kizar_net
|
Y si en vez de inyectar un cacho de code quiero inyectar un proceso entero?? Supongo que tendre que ejecutar el exe y copiar todo su contenido en memoria en el remote thread pero no estoy seguro... Seria asi?
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Colaborador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Y si en vez de inyectar un cacho de code quiero inyectar un proceso entero?? Supongo que tendre que ejecutar el exe y copiar todo su contenido en memoria en el remote thread pero no estoy seguro... Seria asi?
No se puede inyectar un proceso como tal. Un proceso es un contenedor de una serie de recursos (espacio de memoria virtual, codigo del ejecutable, lista de handles, pid, hilos, etc). Lo que se puede inyectar es el codigo de un programa pero no tiene gran sentido cuando uno tiene la posibilidad de inyectar una DLL con un minimo esfuerzo. Creando un hilo remoto que llame a la funcion LoadLibrayA/W y pasandole como parametro el nombre de la libreria (VirtualAlloc + WriteProcessMemory para escribirlo en el proceso que queramos) conseguimos cargar la DLL que queramos y en la misma se implementa la funcionalidad requerida.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
Kizar
Desconectado
Mensajes: 1.325
kizar_net
|
No se puede inyectar un proceso como tal. Un proceso es un contenedor de una serie de recursos (espacio de memoria virtual, codigo del ejecutable, lista de handles, pid, hilos, etc). Ya sabia, pero entonces los programas k se inyectan en otro proceso inyectan el exe entero en otro proceso, eso es lo k quiero saber hacer...
|
|
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Colaborador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Ya sabia, pero entonces los programas k se inyectan en otro proceso inyectan el exe entero en otro proceso, eso es lo k quiero saber hacer...
Yo no conozco ningun software que haga eso, puede que los haya pero no tiene sentido, una DLL es practicamente lo mismo que un EXE (los dos son PE aunque con diferencias).
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Eternal Idol
Kernel coder
Colaborador
Desconectado
Mensajes: 5.958
Israel nunca torturó niños, ni lo volverá a hacer.
|
Esta bien pero no me voy a molestar en investigar demasiado al respecto, me parece mas bien inutil, lo logico es inyectar una DLL.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Consulta sobre Inyeccion de una dll en un proceso
Programación Visual Basic
|
saratoga2k
|
0
|
1,826
|
6 Abril 2011, 00:12 am
por saratoga2k
|
|
|
Pegarse a otro proceso o aplicacion
Hacking
|
kasiko
|
2
|
2,627
|
13 Mayo 2011, 23:33 pm
por kasiko
|
|
|
Pegarse a otro proceso o aplicacion
ASM
|
kasiko
|
1
|
2,944
|
14 Mayo 2011, 01:59 am
por RyogiShiki
|
|
|
Duda Inyección DLL en proceso con varias ventanas
Programación C/C++
|
TomaSs
|
1
|
2,215
|
4 Septiembre 2013, 13:23 pm
por TomaSs
|
|
|
Duda para impedir inyeccion en proceso ?
« 1 2 »
Ingeniería Inversa
|
TrashAmbishion
|
13
|
10,354
|
20 Junio 2016, 19:52 pm
por TrashAmbishion
|
|