Troyano en c

Iniciado por soyloqbuskas, 17 Enero 2012, 15:57 PM

0 Miembros y 1 Visitante están viendo este tema.

soyloqbuskas

¡Buenas a todos!
Estoy haciendo un troyano sencillo en c, y nteog un problemilla.

Por ahora soy capaz de hacer que el servidor ejecute las ordenes (system(orden)) que le mando desde el cliente...el problema esta en que ahora quiero que me retorne el rel resultado al cliente para visualizarlo (ejemplo: dir)

Si uso "system()" como no retorna ningun valor pues no me sirve de mucho...y he estado pensado en usar createprocess().

Mi pregunta es....¿una vez hecho el createprocess("cmd",....,...) como puedo pasarle ordenes al cmd para luego guardar la salida de cmd en una variable?

¡Muchas gracias, un saludo!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

BlackZeroX

.
La Forma mas facil seria:

Lo que puedes hacer es crear un SOCKET y pasarlo por createProcess asi crearias una pequeña Remote Shell Code (ya que stu "troyano" usa system)...

La manera mas complicada seria creando el proceso y usar pipes...

Dulces Lunas!¡.
The Dark Shadow is my passion.

soyloqbuskas

Esa es la idea que tengo pensada, pero mi problema no esta en la ejecucion de ordenes si no en la visualizacion de la salida de esa orden en el cliente, es decir:

El cliente envia un "dir", y el servidor hace system("dir"), pero el resultado lo muestra en el servidor y yo lo que quiero es que el resultado del dir lo muestre en el cliente. Para ello, el servidor despues de ejecutar el dir tiene que guardar el resultado en una variable de tipo cadena, para que luego pueda enviar esa cadena al cliente.

Lo que queria preguntar antes es: ¿Como puedo guardar el resultado de system("dir") en una cadena?

¡Gracias, un saludo!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

satu

Hola

No se si lo que voy a decir es una tontería, pero podías probar a hacer algo como system("dir > fich.txt"); y luego lees el fichero.

Saludos
Breakbeat como forma de vida

soyloqbuskas

¡Buenas Satu!

Tu idea no es ninguna tonteria, de hecho, yo tambien habia pensado hacerlo asi pero....me gustaria hacerlo sin tener ninguna interaccion con el exterior del programa...

¡Pero muchas gracias por tu respuesta!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw

Shamaroot

Por que no creas una shellcode junto con socket's cliente - servidor, asi obtendrias una shell resien salida del horno :P

Saludos !!
El conocimiento es libre.

soyloqbuskas

Pues tambien es verdad, es un poco tedioso, pero me daria mejores resultados que el ms-dos!

Muchas gracias, un saludo!
"Si tienes 1 manzana y yo tengo otra manzana...
y las intercambiamos, ambos seguiremos teniendo 1 manzana.
Pero...si tu tienes 1 idea y yo tengo otra idea...
y las intercambiamos, ambos tendremos 2 ideas."


George Bernard Shaw