Foro de elhacker.net

Seguridad Informática => Análisis y Diseño de Malware => Mensaje iniciado por: Vaagish en 29 Noviembre 2013, 05:38 am



Título: Se puede evitar inyección DLL ?
Publicado por: Vaagish en 29 Noviembre 2013, 05:38 am
Hola amigos!

Bueno, la consulta es la siguiente, estoy haciendo un inyector dll, e intento que sea lo mas "sutil" posible, pero ese no es el problema, el problema es que por lo que puedo ver en el Visual Studio, se esta cargando una dll del antivirus Avast, la dll es snxhk.dll, y como yo no la estoy cargando, creo que es evidente que se esta inyectando en mi inyector! Los malditos de Avast inyectan una dll en todos los ejecutables??

Me están haciendo lo mismo que yo quiero hacer en otros programas!  :xD
Lo que se me ocurre, es impedir la inyección.. es esto posible? O alguna otra solución?

Saludos!


Título: Re: Se puede evitar inyección DLL ?
Publicado por: x64core en 29 Noviembre 2013, 06:30 am
Eso es normal en Antivirus, lo mismo en Comodo,Panda,etc. Antivirus injectan desde modo kernel o al menos lo deberían de hacer desde ese punto.
Aunque también existe varias maneras como por ejemplo:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs
Aunque este tipo de metodos de carga sería inutil/innecesario en programas antivirus.

Así que impedir la inyección de la DLL a tu proceso el cual ni siquiera se ha ejecutado ninguna instrucción de tu codigo es imposible, pero una vez tu codigo en ejecución podrias intentar desmapear/Descargar la DLL aunque realmente un buen antivirus lo preveniría.

Realmente es de encontrar el punto hasta donde Antivirus protejen sus propios componentes, usar alternativas, usar nuevas rutas del sistema operativo que aun no son controladas por Antivirus, etc. Y pensando bien, Si diseñara mi propio antivirus, porqué cargaría una DLL en todo proceso? Cuál es la necesidad del modulo, cual seria la tarea? la cual no podria hacerse desde mi modulo de kernel? Espero que no sea la misma que los idiotas de Comodo: hookear algunas funciones en modo usuario  :rolleyes:


Título: Re: Se puede evitar inyección DLL ?
Publicado por: Vaagish en 29 Noviembre 2013, 17:25 pm
mmm... interesante.. evidentemente tiene que haber un propósito para inyectar una dll,, no creo que sea coincidencia que lo hagan varios antivirus,, probablemente esa dll pueda resolver mejor que es lo que esta haciendo el ejecutable en todo momento, no se, se me ocurre por estar inyectada en el mismo ejecutable.. Hay algo que nunca entendí, no es posible "atacar" al mismo antivirus y desactivar algún modulo? Por ejemplo la inyección? Claro, eso debería ser en Ring0.. pero se tiene que poder, no?

Supongamos este proceso:

1) Archivo Malo.exe analiza el SO y el AV instalados..
2) Malo.exe procede a descargar un modulo de kernel acorde al SO y al AV desde un servidor X
3) Malo.exe ahora instala los módulos de kernel necesarios (Rootkits podríamos decir)
4) Malo.exe descarga otro archivo, "Malo2.exe", este archivo queda oculto por el/los Rootkits antes instalado.
5) Malo.exe se elimina, o queda a la espera de una nueva victima.. (Como guste mas)

Bueno, si Malo.exe es indetectado, lo demás es mas sencillo,, dedicarle tiempo a los módulos de kernel, hacer uno por SO y AV posibles (de los mas usados, claro)

Que les parece?  >:D


Título: Re: Se puede evitar inyección DLL ?
Publicado por: x64core en 29 Noviembre 2013, 21:40 pm
mmm... interesante.. evidentemente tiene que haber un propósito para inyectar una dll,, no creo que sea coincidencia que lo hagan varios antivirus,, probablemente esa dll pueda resolver mejor que es lo que esta haciendo el ejecutable en todo momento, no se, se me ocurre por estar inyectada en el mismo ejecutable.. Hay algo que nunca entendí, no es posible "atacar" al mismo antivirus y desactivar algún modulo? Por ejemplo la inyección? Claro, eso debería ser en Ring0.. pero se tiene que poder, no?

Supongamos este proceso:

1) Archivo Malo.exe analiza el SO y el AV instalados..
2) Malo.exe procede a descargar un modulo de kernel acorde al SO y al AV desde un servidor X
3) Malo.exe ahora instala los módulos de kernel necesarios (Rootkits podríamos decir)
4) Malo.exe descarga otro archivo, "Malo2.exe", este archivo queda oculto por el/los Rootkits antes instalado.
5) Malo.exe se elimina, o queda a la espera de una nueva victima.. (Como guste mas)

Bueno, si Malo.exe es indetectado, lo demás es mas sencillo,, dedicarle tiempo a los módulos de kernel, hacer uno por SO y AV posibles (de los mas usados, claro)

Que les parece?  >:D
Ninguna necesidad de cargar un modulo de kernel para remover cualquíer AV de hoy en día incluyendo Kaspersky 2014 puede ser removido desde modo usuario.
Esta es una colección vieja pero algunos aún funcionan y es buena referencía para ideas: AV shit (https://github.com/AlephNull314/AbsoluteZero)



Título: Re: Se puede evitar inyección DLL ?
Publicado por: Vaagish en 29 Noviembre 2013, 22:45 pm
Citar
Esta es una colección vieja pero algunos aún funcionan y es buena referencía para ideas: AV shit

Ni me lo detecto como malware, ni funciono tampoco jaja el programa carga y todo, pero no funcionan los métodos.. igual bien dijiste, sirve para sacar ideas  ::)

Gracias!! Saludos!