Ver Mensaje Individual
  #9  
Antiguo 19-07-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 26
seoane Va por buen camino
Hola cheke, me alegro de que alguien se animara a revisar el código.
Cita:
Empezado por cheke
Esta muy interesante el codigo (ojala lo pudieramos ir documentando)
sobre todo cuando haces el inject con WriteProcessMemory
Lo siento, es una costumbre muy fea que tengo, nunca documento el código. Intentare documentar esa función.
Cita:
Empezado por cheke
Estuve haciendo unas pruebas pero al principio no veia nada en el debug View, asi que modifique la dll del hook para que escribiera a un archivo de .log y al poco tiempo empezo a mostrarse tambien en el debug viewer, algunas veces parece que no logra hacer el hook hasta despues de varios intentos.
Esto es interesante, no debería fallar nuca. Me gustaría saber en que procesos te fallaba la inyección, cual de los código que puse estabas utilizando y si te mostraba en el DebugView "Hookeado" o simplemente ya no te mostraba nada. Yo solo he tenido problemas con el opera y el explorer, pero con los que me ha funcionado, lo ha hecho siempre, al primer intento
Cita:
Empezado por cheke
Crees que se podria hacer estos hooks de winsock a nivel de sistema, que sirviera para monitorear la red o hacer algo como un firewall?
No veo porque no, siendo administradores, o ejecutándolo como un servicio, no hay problema de inyectarnos en todos los procesos del sistema. Y como monitor de red puede ser interesante, pero como firewall, resultaría un firewall bastante malo. Hay muchas formas de hacer un firewall y esta seria la mas mala, no te la aconsejo.

Otra opción interesante es utilizar para inyectarnos la función SetWindowsHookEx, usando la librería como un hook de windows. Así seria el propio windows el encargado de inyectarnos en todos los procesos que tuvieran ventanas, una solución bastante cómoda. Aunque no controlaríamos las aplicaciones de consola.

Yo por ahora el código lo veo mas como un juguete para ver como funcionan los programas "por dentro", que como una herramienta de seguridad. Pero nada impide evolucionarlo un poquito mas, es decir, afinando el proceso de inyección y hook de las apis, interceptando las llamadas a las apis que crean procesos y cargan librerías (para así reajustar los hooks), interceptando mas apis del winsock, etc ...

Hola Ardilla,
Cita:
Empezado por ArdiIIa
Estoy un poco lerdo... se me están pasando mensajes que no se me deberían pasar...
Si, ya estabas tardando
Cita:
Empezado por ArdiIIa
Excelente seoane, si ya por de sí es difícil andar jugando con sockets, parece aún mas parchear las propias funciones de estos. Muy original lo de OutputDebugString,..
Pues no creas, como lo que me interesa son los buffer, el resto de los parámetros de las funciones ni se lo que son ni mi importa

En cuanto a la función OutputDebugString, desde que la descubrí hace un par de años, es una de mis funciones preferidas. Utilisima y muy recomendable, sobre todo cuando estas escribiendo código que no tiene una salida por pantalla.
Cita:
Empezado por ArdiIIa
En todo caso "recuerda" que también es posible interceptar el puerto en cuestión... y ahí seguro que ni el Opera ni nadie se resiste.
Yo todavía estoy esperando un ejemplo completo, ya sabes, bajar el archivo zip, descomprimir, compilar y ver los resultados. Lo demás es teorizar
Cita:
Empezado por ArdiIIa
Una más para tu repositorio...
Si, hacia tiempo que no posteaba código. Ya iba siendo hora ...
Responder Con Cita