Autor Tema: Dynamic Forking Launcher  (Leído 2650 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Psymera

  • **
  • Mensajes: 73
  • Liked: 32
Dynamic Forking Launcher
« : abril 12, 2011, 08:19:12 pm »
Hay les va la presentacion que di en la Reunion de la Comunidad Underground con el programa demo xD



Malwareando con Dynamic Forking by Psymera

¿Que es el Dynamic Forking?
Es la carga dinámica de un EXE, sobre la memoria de un proceso creado en estado pausado

Usos
  • Crypters
  • Packers
  • Firewall Bypass
  • Av Bypass
  • Cracking
  • ApiHook

¿Como lo hago?
1.Crear proceso suspendido con CreateProcess con CREATE_SUSPENDED
2.Usamos GetThreadContext para obtener los valores del proceso suspendido (EBX: puntero a la PEB, EAX: Entry Point del proceso)
3.Obtener la base-address desde la PEB, ([EBX+8])
4.Si los dos EXE tienen la misma base-address y la imagesize es <= ocupamos WriteProcessMemory para escribir el EXE nuevo a partir de la base-address
5.De otra forma ocupamos ZwUnmapViewOfSection para desmapear el EXE original de la memoria y creamos el espacio con VirtualAllocEx con la base-address del EXE nuevo y lo escribimos con WriteProcessMemory
6. Si falla el uso de ZwUnmapViewOfSection y el EXE a inyectar tiene tabla de relocation creamos el nuevo espacio co diferente base-address cargando el nuevo EXE
7. Escribimos la nueva base-address en la PEB (EBX+8)
8. Escribimos en EAX el nuevo Entry Point
9. Ocupamos SetThreadContext para modificar la estructura thread context
10.Continuamos el nuevo proceso con ResumeThread

Referencias
Dynamic Forking of Win32 EXE by Tan Chew Keong 7 April 2004
http://www.security.org.sg/code/loadexe.html
« Última Modificación: abril 13, 2011, 12:41:56 am por hkm »

juh

  • Mensajes: 22
  • Liked: 0
  • Underground Black Hat !
Re: Dynamic Forking Launcher
« Respuesta #1 : abril 12, 2011, 09:43:46 pm »
Bello bello ! esta delux la herramienta...
Let's the terror begin!