PDA

Ver la versión completa : Spyware



richiprieto
07-11-2007, 23:45
Hola a todos, soy nuevo en el foro y quisiera saber si esque me podrian indicar como puedo hacer un spyware.
La idea es esta¡ a ver como me pueden ayudar:
1) debe detectar la ip de la maquina atacada (por que tiene ip dinamica)
2) Buscar el puerto por donde se puede sacar la informacion y enviarla
2.1) tipo de informacion: .doc, .pdf, .ppt.
3)enviar a un PC remoto con ip estatica.

Bueno esa es la idea a groso modo no se si podrian ayudarme......
Gracias por leerlo y Muchas Gracias por responder:p
Suerte....
Saludos desde Cuenca- Ecuador........;)

SxR
08-11-2007, 01:10
mmmm... tu quieres spyware o troyano???

richiprieto
08-11-2007, 15:38
hola, Supongo que hace lo que digo un spyware, ese roba informacion del PC o no?
Pero bueno no conozco mucho del tema y si lo que quiero hacer se llama troyano pues eso es lo que quiero programar.....
Saludos........

Giskard
08-11-2007, 21:01
¿Sabes programar?

richiprieto
09-11-2007, 20:39
Hola, Pero de ley que se programar, mi fuerte es C pero tambien entiendo el lenguaje de Visual y Phyton y un minimo de Ensamblador.

hystd
09-11-2007, 21:54
Buenas! No existe un método a seguir para construir tu "programa espía", si fuera así, no existirían los antivirus ni antispywares ni nada similar.

Lo primero que te tienes que plantear para tu "programa espía" es saber en qué tipo de sistema se va a ejecutar! ya que no es lo mismo un espía para un sistema Unix, Mac, PowePC que Windows.

Una vez que sabes en dónde se va a ejecutar, es averiguar dónde se guarda la información que quieres obtener, según el sistema y si no pues saber por lo menos cómo hacer la llamada correspondiente al sistema para obtenerla. Por ejemplo para el caso de obtener la IP si estamos bajo Windows puedes usar la función de la tan maravillosa API Win32 de Windows GetHostName contenida en wsock32.dll.

Otra alternativa, en donde nos despreocuparíamos de hacer la llamada al sistema y por tanto nos despreocuparíamos de saber en qué plataforma se va a ejecutar, sería construir un script, por ejemplo en PHP, que nos devuelve la IP que se ha conectado al servidor fijo en donde se encuentra hospedado dicho script. Tu programa se conectará con dicho servidor y obtendrá la IP que le ha devuelto el script. Esta forma de proceder se conoce como "conexión inversa", en donde tu aplicación no es más que un cliente que se conecta a un servidor (Estas formas de conexión pasan por alto las protecciones firewall, ya que éstos sólo se activan cuando abren un puerto de comunicación para iniciar algún servicio).

Supongamos que ya tenemos toda la información que queríamos obtener... lo siguiente es guardar o volcar toda esta información en algún fichero en el disco duro del sistema espiado. Esto a priori no debe suponer ningún problema si el usuario que está activo en el momento de escritura de tu aplicación tiene permisos de escritura (+w) en el lugar donde vas a escribir. Si por ejemplo es "admin" quien tiene iniciada la sesión y tu espía está ejecutándose, al ser un proceso más del sistema, no tendrá problemas de escritura, pero si es el usuario "Juan" y sólo tiene permisos de escritura en el directorio "xxx", porque admin ha sido un buen administrador y se dio cuenta que esto puede pasar, pues o tu aplicación escribe en ese lugar la información o no pillarás nada...

Para superar este problema, tienes dos opciones o capturar de una variable de entorno el directorio de trabajo del usuario activo (seguro tiene permiso +w), o que tu aplicación escale privilegios por el sistema hasta conseguir permisos de admin o bien tu aplicación haga ejecutar código que sólo el Sistema operativo es capaz de ejecutar (ring 0).

Esto en un sistema Windows es fácil de hacer mediante una técnica denominada "DLL Injection". No voy a entrar en más detalles, porque creo que me estoy extendiendo demasiado, ya que si al fin y al cabo lo único que quieres enviar es una "IP" y estaremos hablando de enviar una cadena de texto de a lo sumo 15 caracteres y para ésto no hace falta almacenar información en ningún fichero...

Lo siguiente es mandarte esta información a "algún lugar" para tu poder leerla con tranquilidad verdad? Volvemos a lo mismo... ¿que tipo de conexión vamos a usar? si el sistema espiado sabe que vas a espiar y tiene su consentimiento puedes hacer algo tan fácil como abrir un puerto en dicho sistema y mandar la información en tiempo real. Utiliza para ello los sockets y que tu aplicación se conecte con tu sistema.

Si no, puedes optar por "conexión inversa" (tu programa es el cliente y no el servidor)... subir dicha información a algún servidor FTP por ejemplo (sólo si la información ha sido guardada en algún fichero por el disco duro del sistema espiado, o bien crear remotamente dicho fichero y escribir en él), ya que suelen tener el puerto 21 abierto, y desde tu programa logearte y enviarla alli... al cabo de un ratito, cuando ya se haya transferido la información tendrás el fichero recién salido del horno listo para leer.

Espero haberte ayudado o haberte dado ideas, pero lo ideal sería que no esperaras a que te lo den todo hecho, ya que si eres un buen programador no tendrás problemas en implementar las cositas que te he comentado o que se te puedan ocurrir echando un poco de creatividad como la que le he echado yo mientras escribía este post.

Saludos

richiprieto
10-11-2007, 18:18
Hola, Super en onda tu respuesta, eso de la conexion inversa lo venia pensando pero no sabia como hacerlo. acabas de aclararme mucho las ideas.
Aunque yo no espero que me den haciendo todo :mad: (no se porque piensas eso), eso de que me sirve si quiero aprender, Pero tu explicacion esta muy bien dada:) , Por cierto el ataque es en el sistema windows (mucho mas sencillo):p . Se ve que tienes mucho conocimiento del tema. Felicitandote y Agradeciendo a toda la gente que le intereso el tema y lo vio o ayudo... muy pronto estare dando noticias sobre mi proyecto.:D Y cuando lo termine, (si es que esta permitido) publicare las lineas de codigo...
Suerte y Saludos desde Cuenca-Ecuador.........;) ;)

hystd
10-11-2007, 19:09
De nada! para eso estamos.

Por supuesto que está permitido publicar el código. Si lo haces estaremos orgullosos de que lo compartas con nosotros.

Saludos.