elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
30 Agosto 2008, 01:18  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  Continuacion troyano. Dudas: Inyeccionn dll y hooking
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Continuacion troyano. Dudas: Inyeccionn dll y hooking  (Leído 405 veces)
Yibam

Desconectado Desconectado

Mensajes: 39


Ver Perfil
Continuacion troyano. Dudas: Inyeccionn dll y hooking
« en: 05 Julio 2008, 21:33 »

Hola a todos,

Una vez realizado el proyecto de reeenvio de cmd entre un cliente y un servidor (jejeje) ,intentando simular el netcat, pero realizando el cliente en .NET desarrollado en VC2008 y el server en Devcpp, ya que me encontre que si realizaba el server con el IDE de Microsoft cuando lo introducia en un equipo, este no funcionaba ya que le faltaba el runtime( Os lo cuento como anecdota ).

Bueno el server, tras (AGRADECIMIENTOS !!!) MUCHAS CONSULTAS EN ESTE FORO y SU SIEMPRE PRONTA CONTESTACION, tiene la funcion por la que mas me he vuelto loco (UNA reverse shell que se volcara en una ventana de .NET, del cliente, evidentemente).

Despues de solucionar esto, decidi encapsular el buffer de I/O por el puerto 80 sobre HTML, de esta forma me saltare firewalls y demas.

Pero de repente un dia leyendo y navegando, me encuentro con un documento de EON sobre la inyeccion de procesos con CreateRemoteThread y Hooking, y Yeahhh, descubro que si inyecto mi server al iexplorer, posiblemente se pueda saltar ... pero y he aqui mi duda:

Ejm Conceptual (Briefing): Bueno tengo inyectado el server a iexplorer y cuando arranque el mismo arranco mi server, si, muy bien, pero debere seguir encapsulando mi transmision tal y como dije antes, ó, soy muy tonto y es mucho mas simple y no lo veo.

Como podeis ver mi duda es de concepto o funcional, que debo o puedo hacer??? Voy bien por donde voy???, jejeje. Bueno espero como siempre una ayuda.

Gracias.
En línea
E0N
Lab &
Colaborador

Desconectado Desconectado

Mensajes: 2.591


Por variar un poco de avatar.. :P


Ver Perfil WWW
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #1 en: 06 Julio 2008, 14:03 »

Y la duda cual es exactamente? inyectas el server en el navegador (no hace falta que esperes a que el usuario lo encienda, lo puedes lanzar oculto he inyectar ;)) y realizas las conexiones con total normalidad.

De todas formas la inyección a día de hoy no es muy útil para esas cosas, por que el firewall/AV no te cortará la conexión, pero te detecta la inyección en si, y no me refiero al escanear, que una inyección hasta con CreateRemoteThread es fácil de dejar indetectable, me refiero en el momento de ejecutarlo...

Salu2
En línea
Yibam

Desconectado Desconectado

Mensajes: 39


Ver Perfil
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #2 en: 07 Julio 2008, 10:52 »

Y la duda cual es exactamente? inyectas el server en el navegador (no hace falta que esperes a que el usuario lo encienda, lo puedes lanzar oculto he inyectar ;)) y realizas las conexiones con total normalidad.

De todas formas la inyección a día de hoy no es muy útil para esas cosas, por que el firewall/AV no te cortará la conexión, pero te detecta la inyección en si, y no me refiero al escanear, que una inyección hasta con CreateRemoteThread es fácil de dejar indetectable, me refiero en el momento de ejecutarlo...

Salu2

Hola EON de nuevo,

Vale, vale, vamos a ver lo que te quiero decir es lo siguiente. Si inyecto el server al iexplorer, entiendo que el firewall/AV vera que la conexion lo lanza un proceso autorizado, aunque la conexion la haga por un puerto distinto al 80, por lo que si ademas quiero saltarme las reglas del Firewall, debere de seguir encapsulando mi comunicacion por el puerto 80, si o no?

Por otro lado, y como siempre agradecido, alguna otra documentación en asm o c/c++ de este maravilloso tema??

Gracias como siempre y un saludo.
En línea
Yibam

Desconectado Desconectado

Mensajes: 39


Ver Perfil
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #3 en: 07 Julio 2008, 20:59 »

Hola a todos,

Bueno despues de leer un poco, creo, que me puedo contestar:

Por un lado para saltarse un firewall, hay que tener en cuenta dos cosas:

1. Firewall de software, que comprueba por permisos, ejecutables concretos, Ejecucion de APIs, ejm CreateRemoteThread y demas ...

2. Y por otro lado las reglas propias de un Firewall Hardware (o IDS soft, etc) que te cuenta que el puerto 80 esta abierto para HTTP y punto, y o encapsulas el trafico por ahi o nada de nada.

Bueno pues interesandome por el primer punto, veo una serie de problemas ...

Como podemos ocultar la euristica sobre CreateRemoteProcess()??, se puede ocultar de alguna manera esta llamada?, teneis alguna idea?.

He visto que se puede inyectar codigo sin inyectar dll (Que es muy cantoso), como por el metodo code cave, este tambien es detectable?[/color] (Si quieres te lo paso lo he visto en este foro).

Muchas gracias por todo. Seguire investigando y os cuento.


En línea
Ferсhu

Desconectado Desconectado

Mensajes: 1.225

Menos palabras y Mas codigos.


Ver Perfil WWW
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #4 en: 07 Julio 2008, 22:11 »

Citar
Como podemos ocultar la euristica sobre CreateRemoteProcess()??, se puede ocultar de alguna manera esta llamada?, teneis alguna idea?.

He visto que se puede inyectar codigo sin inyectar dll (Que es muy cantoso), como por el metodo code cave, este tambien es detectable?[/color] (Si quieres te lo paso lo he visto en este foro).

Si usas esa Api te detecta la Api, si injectas codigo con esa Api te va a seguir detectando la Api...asi q tmb es detectable.

Y lo del puerto 80 recuerda q es solo para entrar....para "salir" podes conectar a cualquier puerto....osea si es de conexion inversa, no importa el firewall.
En línea

E0N
Lab &
Colaborador

Desconectado Desconectado

Mensajes: 2.591


Por variar un poco de avatar.. :P


Ver Perfil WWW
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #5 en: 08 Julio 2008, 01:54 »

Citar
Si inyecto el server al iexplorer, entiendo que el firewall/AV vera que la conexion lo lanza un proceso autorizado, aunque la conexion la haga por un puerto distinto al 80, por lo que si ademas quiero saltarme las reglas del Firewall, debere de seguir encapsulando mi comunicacion por el puerto 80, si o no?

Cualquier firewall reciente y medianamente bueno te va a detectar la inyección, da igual el puerto que uses. Lo del puerto 80 ni lo he probado, por que si ya te detectan la inyección en si...

Citar
Como podemos ocultar la euristica sobre CreateRemoteProcess()??

Si, si que se puede, puedes saltarte los avs sin probelmas, hechale imaginación ;) Lo dificil no es la heurística, si no el hooking que hace el firewall

Citar
He visto que se puede inyectar codigo sin inyectar dll (Que es muy cantoso), como por el metodo code cave, este tambien es detectable?

No se que método será ese, yo se inyectar sin usar dll a golpe de WriteProcessMemory y para ejecutarlo pues se pueden hacer muchas cosas, si usas CreteRemotheThread, pues andas en las mismas, pero no hace falta usarlo para que tu código se ejecute

Citar
Y lo del puerto 80 recuerda q es solo para entrar....para "salir" podes conectar a cualquier puerto....osea si es de conexion inversa, no importa el firewall.

Pues te recomiendo que cambies de firewall xDDD Yo creo que menos el de windows xp todos detectan las conexiones salientes, la conexión inversa ya no es útil para saltar ningún firewall, lo único para solucionar el tema de los puertos del router (que no se si te referiras al firewall del router..)

Salu2
En línea
Yibam

Desconectado Desconectado

Mensajes: 39


Ver Perfil
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #6 en: 08 Julio 2008, 09:32 »

Citar
Como podemos ocultar la euristica sobre CreateRemoteProcess()??

Si, si que se puede, puedes saltarte los avs sin probelmas, hechale imaginación ;) Lo dificil no es la heurística, si no el hooking que hace el firewall

Jejejeje Hola EON y Ferchu ante todo gracias por las contestaciones, jejeje, pero ...
creo que no se debe de utilizar la API CreateRemoteThread, sino:

Debes de localizar un Thread al proceso que le vas a inyectar, realizarle un resume(al thread), coger el contexto, aunque a mi me vale con la siguiente direccion a ejecutar (direccion eip), cargar porcion de memoria, parchear codigo para cargar LoadLibrary en ese espacio cargado y por ultimo volver a darle el control al thread original.

Sino? Teneis vosotros otra manera?

Pör ultimo y respecto al puerto 80, Evidentemente el sistema que tengo para realizar la PoC, tiene equipos locales con su firewall software, y luego un firewall cisco en la LAN que controla los puertos y tan solo tiene abiertos HTTP, HTTPS, POP y SMTP, asi que ya me direis que puedo hacer sino encapsulo, ya que evidentemente este firewall, las outbound las controla perfectamente.

Bueno gracias por todo, os seguire contando.
En línea
E0N
Lab &
Colaborador

Desconectado Desconectado

Mensajes: 2.591


Por variar un poco de avatar.. :P


Ver Perfil WWW
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #7 en: 08 Julio 2008, 13:19 »

Citar
Debes de localizar un Thread al proceso que le vas a inyectar, realizarle un resume(al thread), coger el contexto, aunque a mi me vale con la siguiente direccion a ejecutar (direccion eip), cargar porcion de memoria, parchear codigo para cargar LoadLibrary en ese espacio cargado y por ultimo volver a darle el control al thread original.

Si, esa es otra forma de inyectar, pero el SetThreadContext lo detecta el Kav por ejemplo a la hora de ejecutarse y algunos firewalls...

Más formas de inyectar:
http://mzrd.mar tes13.net/ (quita el espacio, y leete el tuto de inyecciones :P)
En línea
Yibam

Desconectado Desconectado

Mensajes: 39


Ver Perfil
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #8 en: 08 Julio 2008, 21:01 »

Hola EON,

Muy buena lectura, muy bueno ese MazarD, pero los metodos que describe segun lo que me cuentas todos son detectables, el ultimo a fin de cuentas es el que yo mas o menos describia (que lei en este foro),el cual utiliza SetThreadContext que como tu comenta es detectable.

Te paso el link del documento que yo me estoy leyendo:

http://www.nologin.org/Downloads/Papers/remote-library-injection.pdf

Creo que esta muy bien, es para linux y windows (en ingles).

Espero que con la lectura de tu doc y el mio se me ocurra algo ...

Os cuento ...

En línea
Yibam

Desconectado Desconectado

Mensajes: 39


Ver Perfil
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #9 en: 08 Julio 2008, 21:13 »

Hola EON,

Otro documento que estoy leyendo aunque va de ShellCodes, es de donde cogi el encapsular el trafico HTML utilizando la libreria Windows Internet API, wininet.dll en el tema 5 y creo que en el tema 3 esta la solucion (je je je je).


Te lo paso:

http://www.hick.org/code/skape/papers/win32-shellcode.pdf

Espero que podamos comentar impresiones, :-)

Os cuento ...
En línea
Yibam

Desconectado Desconectado

Mensajes: 39


Ver Perfil
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #10 en: 09 Julio 2008, 14:10 »

Perdonad, Tengo un problema ...

Una vez leidos los documentos me he puesto a programar codigo y me aparece un gran problema, los codigos que contemplan la clausula _asm no funcionan en devcpp ya que no utilizan el asm de intel sino el otro formato que no me acuerdo como se llama, y el otro compilador que tengo es el VS2008 y este cuando compilo si lo pongo en otro equipo no tiene instalado el runtime y no me va, por lo que ....

¿que compilador me recomendais?

Muchas gracias por adelantado ...
En línea
E0N
Lab &
Colaborador

Desconectado Desconectado

Mensajes: 2.591


Por variar un poco de avatar.. :P


Ver Perfil WWW
Re: Continuacion troyano. Dudas: Inyeccionn dll y hooking
« Respuesta #11 en: 09 Julio 2008, 14:40 »

Si compilas con VC++ 2008 en código nativo (no net :P) no hay problemas, si no siempre puedes usar el VC++ 6, aunque teniendo el 2008...
En línea
Páginas: [1] Ir Arriba Imprimir 
Ir a:  





Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC