Mitiny21

[Perl] TCP Scan

Sep 7th, 2014
538
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 6.83 KB | None | 0 0
  1. #!/usr/bin/perl
  2.  
  3. use LWP::UserAgent;
  4. use URI::Escape;
  5. use HTTP::Request;
  6. use Term::ANSIColor;
  7. my $ua = LWP::UserAgent->new();
  8. $ua->timeout(7);
  9.  
  10. system "clear";
  11. print color("blue"), q{
  12.  
  13. +------------------------------------------------+
  14. |______           _      _____                   |
  15. ||  _  \         | |    /  ___|                  |  
  16. || | | |___  _ __| | __ \ `--.  ___ __ _ _ __    |
  17. || | | / _ \| '__| |/ /  `--. \/ __/ _` | '_ \  |
  18. || |/ / (_) | |  |   <  /\__/ / (_| (_| | | | |  |
  19. ||___/ \___/|_|  |_|\_\ \____/ \___\__,_|_| |_|  |
  20. |                                                |
  21. |            C0d3d's // By The Mentor            |
  22. |           twitter.com/MentorSec                |
  23. +------------------------------------------------+
  24.  
  25. Gr33t'z : #HackerOstentacao
  26.  
  27. },color("reset");                                  
  28.  
  29. open(clear,'>search-dump.txt.clear'); #Exclusão de resultados de busca anteriores limpas
  30. close(clear);
  31. open(dork,">search-dump.txt"); #Excluindo resultados da pesquisa anterior
  32. close(dork);
  33.  
  34. $file ='';
  35.  
  36. print color("green"),"Tipos de dork's",color("reset")," ex:(news.php?id=), ex: (index.php?id=), ex: (view_product.php?id=), ex:(site:br noticias.php?id=) etc...\n
  37.  
  38. ";
  39.  
  40.  
  41. print color("red"),"Dork de pesquisa: \n",color("reset");
  42.   $dork = <STDIN>;
  43.    $dork  = uri_escape($dork);
  44.     chomp($dork);
  45.    
  46.  
  47.    $file = 'output.txt'; #onde é salvo as urls
  48.     chomp($file);
  49.    
  50.  
  51.  
  52.  
  53. print color("green"),"Pesquisar inicializado...",color("reset"),"\n";
  54.  
  55. for ($i = 0; $i < 10000; $i += 10) {
  56.     $useragent = LWP::UserAgent->new(agent => "Mozilla/4.$i [en] (Windows NT 6.0; U)");#agente http
  57.     $useragent->timeout(10);
  58.     $useragent->env_proxy;
  59.  
  60.     $curl = $useragent->get("http://busca.uol.com.br/web/?q=".$dork."&start=".$i)->content; #motor de busca
  61.     $check = index($curl, 'link');
  62.  
  63. while (1) {
  64.        $n = index($curl, '<a href="');
  65.  
  66. if ($n == -1) {
  67. last;
  68. }
  69.  
  70. $curl = substr($curl, $n + 9);
  71.  $s = substr($curl, 0, index($curl, '"'));
  72.  
  73. print color("green"), "[+] ",color("reset"),"$s\n";
  74. open(dork,">>search-dump.txt");
  75. print dork $s, "\n";
  76. close(dork);
  77. }
  78.  
  79. if ($check == -1) {
  80. last;
  81. }
  82. }
  83.   print "\n";
  84.   print color("Red"),"[INFO] ",color("reset"),"Pesquisa Feita\n";
  85.   print "\n";
  86.   print color("Red"),"[INFO] ",color("reset"),"Removendo linhas duplicadas de sua busca.\n";
  87.   sleep 2;
  88.  
  89. my $cleanrthefile = 'search-dump.txt';
  90. my %seen = ();
  91. {
  92.   local @ARGV = ($cleanrthefile);
  93.   local $^I = '.clear';
  94.   while(<>){
  95.      $seen{$_}++;
  96.      next if $seen{$_} > 1;
  97.      print;
  98.   }
  99. }
  100. print color("Red"),"[INFO] ",color("reset"), "Ficheiro de processamento concluído.\n";
  101. sleep 2;
  102. print "\n";
  103.  
  104. print color("Red"),"[INFO] ",color("reset"), "Verificar.",color("red")," vul's\n",color("reset");
  105. print "\n";
  106.  
  107. open FILE, "<", "search-dump.txt" or die $!;
  108.  my @amount1 = <FILE>;
  109.  my $amount1 = @amount1;
  110.  my $infomsg = "$amount1 urls do test";
  111.   print color("red"), "[INFO]" ,color("reset")," $infomsg url testadas\n";
  112.   print "\n";
  113.  
  114. $LOGFILE = "search-dump.txt";
  115. open(LOGFILE) or die("Não foi possível abrir o arquivo de log.");
  116. foreach $line (<LOGFILE>) {
  117.    chomp($line);              
  118.    my $url = $line."'";
  119.      
  120.    my  $request = HTTP::Request->new( GET => $url );
  121.        my      $response = $ua->request( $request );
  122.      
  123.      
  124.                        if ( $response->content =~ /SQL/  || $response->content =~ /\/var\/www\// ) {
  125.       open(vul,">>$file");
  126.    print vul $url, "\n";
  127.    open HTML, ">>", "$file.html" or die $!;
  128.    close(vul);
  129.                print color("bold red"), "[+] ",color("reset"), "$url",color("bold red"),"      VULNERÁVEL!",color("reset");
  130.                print HTML "<a href=\"$url\">$url</a>\n";
  131.              
  132.        }
  133.      
  134.      
  135.                        elsif( $response->content =~ m/80040e14/i ) { #Verificar se consta a seguinte conjunto de caracteres 80040e14
  136.        open(vul,">>$file");
  137.    print vul $url, "\n";
  138.    open HTML, ">>", "$file.html" or die $!;
  139.    close(vul);
  140.        print color("bold yellow"), "[+] ",color("reset"), "$url",color("bold yellow")," MS DB error Detectado",color("bold red"), " SQLI possível",color("reset");
  141.                print HTML "<a href=\"$url\">$url</a>\n";
  142.                }      
  143.              
  144.              
  145.                        elsif( $response->content =~ m/SELECT (.*) FROM (.*) WHERE/i ) { #Verificar se consta a seguinte string 80040e14
  146.        open(vul,">>$file");
  147.    print vul $url, "\n";
  148.    open HTML, ">>", "$file.html" or die $!;
  149.    close(vul);
  150.        print color("bold red"), "[+] ",color("reset"), "$url",color("bold red")," SELECT FROM WHERE Detectado",color("reset");
  151.                print HTML "<a href=\"$url\">$url</a>\n";
  152.                }      
  153.              
  154.              
  155.                elsif( $response->content =~ m/SELECT (.*) FROM (.*)/i ) {
  156.        open(vul,">>$file");
  157.    print vul $url, "\n";
  158.    open HTML, ">>", "$file.html" or die $!;
  159.    close(vul);
  160.        print color("bold red"), "[+] ",color("reset"), "$url",color("bold red")," SELECT FROM WHERE Detectado",color("reset");
  161.                print HTML "<a href=\"$url\">$url</a>\n";
  162.                }      
  163.              
  164.              
  165.                elsif( $response->content =~ m/(.*) Invalid argument supplied (.*)/i ) {
  166.        open(vul,">>$file");
  167.    print vul $url, "\n";
  168.    open HTML, ">>", "$file.html" or die $!;
  169.    close(vul);
  170.        print color("bold red "), "[+] ",color("reset"), "$url",color("bold red")," Argumento inválido fornecido Detectado",color("reset");
  171.                print HTML "<a href=\"$url\">$url</a>\n";
  172.                }      
  173.              
  174.                              
  175. else {
  176.        print color("green"), "[-] ",color("reset"),"$url",color("green"),"      NADA ENCONTRADO!",color("reset"); #Fim da validação URL
  177.      
  178.        }
  179.        close vul;
  180.        close HTML;
  181.        print "\n";
  182. }
  183.  
  184. print color("green"),"Pesquisa Vulnerabilidade feita\n",color("reset");
  185. print color("red"),"No arquivo criado será disponibilizado sites com possíveis vulnerabilidade.\n",color("reset");
  186. print "\n";
  187. sleep 2;
  188.  
  189.  
  190. open FILE, "<", "$file" or die $!;
  191. my @amount = <FILE>;
  192. my $amount = @amount;
  193.  
  194. open (CHECKBOOK, "$file");
  195.  
  196. while ($record = <CHECKBOOK>) {
  197.   print color("red"), "[+] ",color("reset"),"[VULL]",color("red"),"--> ERRO ENCONTRADO! ",color("reset"),"$record",color("reset");
  198.  
  199. }
  200.  
  201.      
  202. close(CHECKBOOK);
  203. close(FILE);
  204.   print "\n";
  205.   print color("red"), "[+] $amount URLS ",color("reset")," com possíveis vulnerabilidade \n";
  206.   print color("red"), "[+] ",color("reset"),"Sites vulneráveis ??armazenados no arquivo ",color ("red")," $file.html \n",color("reset");
  207.   print color("green"), "[+] ",color("reset"),"Hack The Planet ! \n";
Advertisement
Add Comment
Please, Sign In to add comment