Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-01-2009
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
Inyección de API: ejemplo de CHackAll

Buenas estoy intentando entender la inyeccion de la API CreateProcessInternalW de la web de CHackAll.

He creado la DLL y estoy probando el ejemplo creado en modo consola. Me funciona el ejemplo pero si ejecuto alguna aplicación desde fuera de la aplicacion.


Mis preguntas son : ¿Una vez ejecutado el programa se cambia la API para todos el Windows? o solo es valido desde dentro del programa ejemplo. Tenia en

No se si me he explicado bien...
Responder Con Cita
  #2  
Antiguo 02-01-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
De momento, aclararte que cada proceso carga una copia de las dll en memoria, incluidas las del S.O. De forma que si haces un Hook a una API sólo afectará al proceso donde te has inyectado.

Saludos.

Última edición por escafandra fecha: 02-01-2009 a las 20:33:21.
Responder Con Cita
  #3  
Antiguo 02-01-2009
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
Buenas... y feliz año a todos los del club..

¿Esto que dices es valido tambien para la kernel32.dll?
Creia que si se hacia hook al kernel todos los procesos utilizaban la misma copia.

Un saludo y gracias.
Responder Con Cita
  #4  
Antiguo 02-01-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por alquimista Ver Mensaje
¿Esto que dices es valido tambien para la kernel32.dll?
Creia que si se hacia hook al kernel todos los procesos utilizaban la misma copia.
Si es cierto, todos los procesos utilizan la misma copia de kernel32.dll, es decir de la librería. Cada proceso carga en su espacio de memoria "todas" las dll que necesita. Las librerías del S.O. se cargan siempre en los mismos offset, pero son "copias".

Saludos.
Responder Con Cita
  #5  
Antiguo 02-01-2009
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
Talking

Perdon lo dejaste claro..
Cita:
De momento, aclararte que cada proceso carga una copia de las dll en memoria, incluidas las del S.O
Un saludo
Responder Con Cita
  #6  
Antiguo 03-01-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Si, el Hook a la API tiene esas limitaciones, pero nada te impide inyectarte en mas procesos, al fin y al cabo si controlas la API CreateProcess....

Saludos.
Responder Con Cita
  #7  
Antiguo 03-01-2009
alquimista alquimista is offline
Miembro
 
Registrado: ene 2008
Posts: 203
Poder: 17
alquimista Va por buen camino
Cool

Mi idea era anticiparme a la ejecucion de aplicaciones diferentes a una lista blanca y no ejecutarlas. Por aprender un poco sobre hooks e inyeccion. Y por ver si renovaba codigo. Por ahora hago una lista de procesos y los termino si no estan en la lista blanca.

Lo que pido se puede hacer con estos metodos??

¿Podeis explicarme aplicaciones practicas de estos metodos de inyeccion?

Gracias

Un saludo
Responder Con Cita
  #8  
Antiguo 03-01-2009
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.195
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Hacer lo que quieres mediante inyección de código, es una tarea compleja. Piensa que debes inyectar Explorer.exe y hacer un Hook a la API CreateProcess que a su vez inyecte tu código en todo proceso que se cree, para asi controlar procesos lanzados por otros porcesos...

Pero ¿Que pasa si el proceso es lanzado por el TaskManager?, pues si elTM fue abierto desde la barra de tareas, es decir Explorer.exe... Ya lo tienes controlado, pero si fué abierto con Ctrl+Alt+Sup, es decir Winlogon.exe....

No es facil Inyectar código en winlogon.exe aunque se puede hacer.

El proceso se vuelve un poco complejo, como ves, al menos así lo veo yo.

Entonces puedes optar por la solución que tienes, que supongo pasa por un timer y un listado de procesos abiertos, o por esta otra solución.

Para la mayoría de las aplicaciones que puedan abrirse en un PC por usuarios normales, con lo visto te basta. Claro que si no son usuarios normales y te ocultan los procesos....

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
ataques de inyección de sql hogol SQL 5 18-10-2011 00:00:37
Feliz cumple cHackAll Delphius La Taberna 30 28-03-2008 07:32:17
[cHackAll] será el nuevo milenario !!!!! egostar La Taberna 33 15-02-2008 00:03:21
cHackAll, \\192.168.0.6 aeff La Taberna 12 19-10-2007 23:03:40
Inyeccion de sql richy08 PHP 0 19-10-2007 02:08:41


La franja horaria es GMT +2. Ahora son las 23:18:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi