Win32 API Hooking

Iniciado por nts94, 9 Febrero 2012, 23:54 PM

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

nts94

Hola a todos. Bueno, hace mucho que no me pasaba por el foro y puesto que la última  vez que lo hice solo provoque una extraña guerra relacionada con las BotNet's (BOTNETS sí, BOTNETS no) ;D he decidido compensar eso.

Bueno, aqui os traigo una implementacion MUY sencilla del tema del API hooking en Win32 (por lo que he leído, es parecida a la librería Detours de MS), pero esta bajo licencia GPL XD

Utiliza la técnica de la inyeccion DLL (en realidad la DLL debe inyectarse en el proceso que convenga) e inserta un FAR JMP al inicio de la API, por lo que afecta tambien a todo aquel proceso que se intente pasar de listo y llame a la API mediante GetProcAddress (al contrario que con la técnica del IAT).

Por el momento es facilmente detectable, pero tengo pensado:
--> Mejorar la forma en que se inyecta la DLL con GetThreadContext() y SetThreadContext() (en lugar de CreateRemoteThread())
--> Ocultar la DLL desde DllMain() modificando la PEB
--> Lo que se os ocurra XD

Código fuente: http://dl.dropbox.com/u/47594913/HookThemAll.rar

Como crear un rootkit by e0n: http://foro.elhacker.net/analisis_y_diseno_de_malware/querias_tutos_de_programacion_de_malware_pues_toma-t196251.0.html
Hooking HowTo: http://vx.netlux.org/29a/29a-7/Articles/29A-7.019

Nota: no sabía si ponerlo aqui, en el subforo de programacion en C, el de malware,...

Nota2: Acabo de leer la técnica VEH... brillante, aunque como todo, igualmente detectable (mediante VirtualQueryEx), menos conocida pero genial