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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ¿Interceptar inyeccion de codigo en una aplicacion?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Interceptar inyeccion de codigo en una aplicacion?  (Leído 6,526 veces)
Magic_Key

Desconectado Desconectado

Mensajes: 42


Ver Perfil
¿Interceptar inyeccion de codigo en una aplicacion?
« en: 12 Septiembre 2009, 20:01 pm »

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 Desconectado

Mensajes: 859



Ver Perfil
Re: ¿Interceptar inyeccion de codigo en una aplicacion?
« Respuesta #1 en: 12 Septiembre 2009, 20:10 pm »

  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  :rolleyes:.


En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: ¿Interceptar inyeccion de codigo en una aplicacion?
« Respuesta #2 en: 12 Septiembre 2009, 20:18 pm »

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

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
Magic_Key

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: ¿Interceptar inyeccion de codigo en una aplicacion?
« Respuesta #3 en: 12 Septiembre 2009, 20:29 pm »

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


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: ¿Interceptar inyeccion de codigo en una aplicacion?
« Respuesta #4 en: 12 Septiembre 2009, 20:47 pm »

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

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
Magic_Key

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: ¿Interceptar inyeccion de codigo en una aplicacion?
« Respuesta #5 en: 12 Septiembre 2009, 20:58 pm »

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 Desconectado

Mensajes: 859



Ver Perfil
Re: ¿Interceptar inyeccion de codigo en una aplicacion?
« Respuesta #6 en: 12 Septiembre 2009, 21:24 pm »

 ;D

  Tienes el nombre de la dll , tienes el exe que quieres proteger  :xD 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  :xD tu veras que tan profundo quieres llegar en el agujero del conejo  :laugh: ...


  Saludos.

PD LoadLibrary la puedes hookear una sola vez  :¬¬ ya si que lo intentas hacer con el mismo hook  :silbar: terminaras en un hook recursivo  :huh: o algo asi  :¬¬
« Última modificación: 12 Septiembre 2009, 21:27 pm por Jaixxon Jax » En línea

Magic_Key

Desconectado Desconectado

Mensajes: 42


Ver Perfil
Re: ¿Interceptar inyeccion de codigo en una aplicacion?
« Respuesta #7 en: 18 Septiembre 2009, 21:19 pm »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines