Autor
|
Tema: ¿Interceptar inyeccion de codigo en una aplicacion? (Leído 6,496 veces)
|
Magic_Key
Desconectado
Mensajes: 42
|
Hola gente, estoy buscando sobre el tema pero no saco nada en claro. ¿Conoceis alguna manera para evitar que te inyecten dll's o similar en un proceso?
Respecto al tema de inyectores de dll's hay mucho, pero el tema inverso, el proteger un programa/juego, etc. del inyector, no he encontrado apenas nada.
Cualquier idea es bienvenida.
Saludos.
|
|
|
En línea
|
|
|
|
Jaixon Jax
Desconectado
Mensajes: 859
|
Ay que hookear la api CreateRemoteThread o LoadLibrary y testear la dll o el proceso que se quiere cargar si no es segura que no la ceargue .
|
|
|
En línea
|
|
|
|
cobein
|
Como dice Jaixxon Jax podrias hookear LoadLibrary... pero eso no va a detener la inyeccion de codigo, simplemente va a prevenir una manera de hacerlo. No creo que consigas mucho desde userland en mi opinion. Te recomiendo que leas un poco porque es bastante extenso el tema.
|
|
|
En línea
|
|
|
|
Magic_Key
Desconectado
Mensajes: 42
|
Gracias a ambos. Bueno, ya se que evitarlo 100% esta complicado, pero al nivel que lo voy a usar, me basta con bloquear la inyeccion simple. Entonces parece ser que me basta con bloquear el CreateremoteThread.
¿Alguna idea de como denegar/anular siempre el LoadLibrary y CreateremoteThread? (incluso aunque otra aplicacion sea la que haga la llamada).
Salu2.
|
|
« Última modificación: 12 Septiembre 2009, 20:31 pm por Magic_Key »
|
En línea
|
|
|
|
cobein
|
El LoadLibrary se ejecuta de manera local cuando es una inyeccion con CreateremoteThread, asi que con hacerle un hook y filtrar tendria que ser suficiente... pero vuelvo a repetir que va a ser super limitado y posiblemente te crees mas problemas que otra cosa porque VB utiliza el loadlibrary para muchas funciones... por consiguiente posiblemente termines hookeando las funciones que queres usar para el hook...
Si no queres volverte loco,mejor busca un packer decente que tenga algun tipo de proteccion o si queres hacer algo vos por amor al arte... se me ocurre que podrias enumerar las librerias en memoria para detectar algo indeseado (aunque obviamente se pueden ocultar).
|
|
|
En línea
|
|
|
|
Magic_Key
Desconectado
Mensajes: 42
|
El LoadLibrary se ejecuta de manera local cuando es una inyeccion con CreateremoteThread, asi que con hacerle un hook y filtrar tendria que ser suficiente... pero vuelvo a repetir que va a ser super limitado y posiblemente te crees mas problemas que otra cosa porque VB utiliza el loadlibrary para muchas funciones... por consiguiente posiblemente termines hookeando las funciones que queres usar para el hook...
Si no queres volverte loco,mejor busca un packer decente que tenga algun tipo de proteccion o si queres hacer algo vos por amor al arte... se me ocurre que podrias enumerar las librerias en memoria para detectar algo indeseado (aunque obviamente se pueden ocultar).
Pos si, tienes razon jeje. Pero bueno, yo lo que queria hacer era evitar la inyeccion de una dll en un juego llamado Halo, es un juego antiguo, y apenas existen cheats, pero el que existe es un aimbot (que inyecta la dll en el proceso), de hay que este investigando el tema este del hooking. Con bloquear que inyecten esa dll en concreto, me sobra. Ahora bien, me parece que aun no tengo el nivel para hacer todo esto del hooking, mirare algo mas simple, como los cheksum de los programas (lo que no se si es posible hacerlo en memoria.. jeje). Me parece que es dll me la van a seguir metiendo doblada, aun no tengo los conceptos que manejas, lastima jeje. Gracias por tu ayuda.
|
|
|
En línea
|
|
|
|
Jaixon Jax
Desconectado
Mensajes: 859
|
Tienes el nombre de la dll , tienes el exe que quieres proteger mas facil no podria estar estas rutinas de inyeccion y de api hook son casi siempre parecidas lo que cambia es poco de seguro que con algun buen manual si logras hookear messagebox de seguro que ya se te ocurrira alguna manera de aplicarlo a tu problema. Nosotros te mostramos las pildoras tu veras que tan profundo quieres llegar en el agujero del conejo ... Saludos. PD LoadLibrary la puedes hookear una sola vez ya si que lo intentas hacer con el mismo hook terminaras en un hook recursivo o algo asi
|
|
« Última modificación: 12 Septiembre 2009, 21:27 pm por Jaixxon Jax »
|
En línea
|
|
|
|
Magic_Key
Desconectado
Mensajes: 42
|
Bueno, e encontrado un muy buen tuto de mazard, que explica un poco el tema este (por si alguien le interesa, w ww.mazard.info/tutos/apihooking.pdf) aunque el problema que el code de ejemplo no esta en vb6, aunque se entiende.
Mientras, sigo buscando source de ejemplo para la api createremote, a ver si hay suerte jeje.
Saludos.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Inyección de Codigo para API Hook
Programación C/C++
|
Keyen Night
|
5
|
5,053
|
16 Abril 2011, 23:03 pm
por Karman
|
|
|
AYUDA: Encapsular el codigo en un .COM (DLL) y luego llamarlo en la aplicacion.
.NET (C#, VB.NET, ASP)
|
rooten
|
0
|
1,806
|
8 Junio 2012, 09:37 am
por rooten
|
|
|
Interceptar aplicacion en el momento en el que empieza
Programación General
|
SheKeL_C$
|
1
|
2,256
|
17 Marzo 2015, 02:00 am
por Eleкtro
|
|
|
[C++] Inyección de código en memoria- Aplicación crashea
« 1 2 »
Análisis y Diseño de Malware
|
Kaxperday
|
10
|
8,081
|
8 Abril 2016, 20:39 pm
por Kaxperday
|
|