Hack Forums
[FREE] XML-RPC SCANNER || FREE || THREADS || FAST || 100% WORKS - Printable Version

+- Hack Forums (https://hackforums.net)
+-- Forum: Hacks, Exploits, and Various Discussions (https://hackforums.net/forumdisplay.php?fid=45)
+--- Forum: Blackhat • Red Team • Offensive Security (https://hackforums.net/forumdisplay.php?fid=447)
+---- Forum: Hacking Tools and Programs (https://hackforums.net/forumdisplay.php?fid=10)
+---- Thread: [FREE] XML-RPC SCANNER || FREE || THREADS || FAST || 100% WORKS (/showthread.php?tid=4418999)

Pages: Pages 1 2 3


[FREE] XML-RPC SCANNER || FREE || THREADS || FAST || 100% WORKS - Zinedine Zidane - Aug 28, 2014

Hey Everyone it's Zidane, today i coded a New XML-RPC Scanner, more faster, easy to scan

You can scan the whole world in 6H if you have a 100mbps private connection.

Requierments

- A Server with a good connection
- Perl installed
- a Brain

Modules

1st you need to install all modules to use the script

- HTML::Parser

Code
wget http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.71.tar.gz
tar -xvf HTML-Parser-3.71.tar.gz
cd HTML-Parser-3.71
perl Makefile.PL
make
make install

- LWP::UserAgent

Code
wget http://search.cpan.org/CPAN/authors/id/M/MS/MSCHILLI/libwww-perl-6.08.tar.gz
tar -xvf libwww-perl-6.08.tar.gz
cd libwww-perl-6.08
perl Makefile.PL
make
make install

- LWP::Simple

Code
wget http://search.cpan.org/CPAN/authors/id/M/MS/MSCHILLI/libwww-perl-6.08.tar.gz
tar -xvf libwww-perl-6.08.tar.gz
cd libwww-perl-6.08
perl Makefile.PL
make
make install

- Parallel::ForkManager

Code
wget http://search.cpan.org/CPAN/authors/id/S/SZ/SZABGAB/Parallel-ForkManager-1.06.tar.gz
tar -xvf Parallel-ForkManager-1.06.tar.gz
cd Parallel-ForkManager-1.06
perl Makefile.PL
make
make install

- Net::IP

Code
wget http://search.cpan.org/CPAN/authors/id/M/MA/MANU/Net-IP-1.26.tar.gz
tar -xvf Net-IP-1.26.tar.gz
cd Net-IP-1.26
perl Makefile.PL
make
make install

Set up the script

Source code

Code
#! /usr/bin/perl

use HTML::Parser; #HTML
use LWP::UserAgent; #http request
use LWP::Simple;
use Parallel::ForkManager; # threads
use strict;
use Net::IP; # range IP
use IO::Socket;
use Term::ANSIColor;
use vars qw( $PROG );
( $PROG = $0 ) =~ s/^.*[\/\\]//;
#Usage
if ( @ARGV == 0 ) {
      print "Usage : ./$PROG [Start IP] [End IP] [Threads] [.txt] [Delay]\n Coded by Zidane For HF User\n";
    exit;
}
my $threads  = $ARGV[2]; #threads
my @ip_team  = (); #IP
$|= 1;
my $ip   = new Net::IP ("$ARGV[0] - $ARGV[1]") or die "Invalid IP Range.". Net::IP::Error() ."\n";
$SIG{'INT'} = sub {exit;};
my @folders = ("/wordpress/", "/wp/", "/blog/", "/"); # folders
my $stringsearch = "XML-RPC"; # string to search
my $filename = $ARGV[3]; # .txt
my $max_processes = $ARGV[2]; #threads
my $pm = Parallel::ForkManager->new($max_processes); # thread spawner

#Forking
while ($ip) {
push @ip_team, $ip++ ->ip();
if ( $threads == @ip_team ) { Scan(@ip_team); @ip_team = () }
}
Scan(@ip_team);

#Scan
sub Scan
{
my @Pids;

      foreach my $ip (@_)
      {
      my $pid      = fork();
      die "Can't Fork $!\n" unless defined $pid;

      if  (0 == $pid)
      {
      alarm 1;

foreach (@folders) {

    my $pid2 - $pm->start and next; #thread
    alarm("$ARGV[4]");

        my $url = "http://$ip" . "$_" . "xmlrpc.php";
        my $ua = LWP::UserAgent->new;  
            print "\e[96m[!]Search \e[31m$url\n\e[0m";        
        my $response = $ua->get($url);
        if ( !$response->is_success ) {
        }
        if (head($url)) {

        my $parser = HTML::Parser->new( 'text_h' => [ \&text_handler, 'dtext' ] ); #text decoder
        $parser->parse( $response->decoded_content );
        sub text_handler {
            chomp( my $text = shift );

            if ( $text =~ /$stringsearch/i ) {

      my $ui = $url;
      $ui =~ s/xmlrpc.php/?feed=rss2/;
      if (head($ui)) {
      sub check {
      $LOLGETIT=get($ui);
      $LOLGETIT =~ /<item>.+?<link>(.+?)<\/link>.+?<\/item>/s;
      if ($1) {
      open (FILE, ">>$filename");
                my $post = $1;
                $ui =~ s{\Q?feed=rss2\E}{xmlrpc.php};
                print FILE "$ui $post\n";      
      close (FILE);
                print "\e[96m[+]Found : \e[32m$ui $post\e[0m\n";
      exec($^X, "-e", "sleep 1,kill(0,$pid2)||kill -9,$pid2"); #kill process
      }
      }
      check();
      } else {
      }        }    
    }
    } else {
}
$pm->finish;
}

      exit
      }
      else
      {
      push @Pids, $pid
      }
      }

foreach my $pid (@Pids) { waitpid($pid, 0) }
}

Usage perl scan.pl [Start IP] [End IP] [Threads] [.txt] [Delay]

Thanks to Vyp0r i recode his basic Scanner (http://pastebin.com/xYPux8dF)

Please do not forget to say "Thanks" if i helped you


* - Infected. - Dec 28, 2014

Global symbol "$LOLGETIT" requires explicit package name at perl.pl line 74.


* - Zinedine Zidane - Dec 28, 2014

(Dec 28, 2014 08:01 AM)Infected. Wrote:  Global symbol "$LOLGETIT" requires explicit package name at perl.pl line 74.

delete the "use:strict;" at the begining


* - Infected. - Dec 28, 2014

Please private message me your skype.


* - Zinedine Zidane - Dec 28, 2014

(Dec 28, 2014 08:40 AM)Infected. Wrote:  Please private message me your skype.

Allright Speak on skype then

Regards

🤝


* - Infected. - Dec 28, 2014

He helped me fix the problem vouch for this guy:)


* - Zinedine Zidane - Jan 1, 2015

(Dec 28, 2014 09:21 AM)Infected. Wrote:  He helped me fix the problem vouch for this guy:)

No problem, It's normal to help you !

Regards

🤝


* - Tatishchev - Jan 1, 2015

Thanks for sharing.... I appreciate it. :)


* - Zinedine Zidane - Jan 4, 2015

(Jan 1, 2015 01:46 PM)Tatishchev Wrote:  Thanks for sharing.... I appreciate it. :)

You welcome I hope you like it

Regards


* - meskone - Jan 10, 2015

One of the best users on HF !! HQ !! Voucher for you and of the for your tools ;)


* - meskone - Jan 13, 2015

[root@host dos]# perl scan.pl 1.0.0.0 255.255.255.255 8 scann.txt
Can't locate Encode/Locale.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /u sr/local/share/perl5/LWP/UserAgent.pm line 1001.
Compilation failed in require at scan.pl line 5.
BEGIN failed--compilation aborted at scan.pl line 5.


* - Zinedine Zidane - Jan 13, 2015

(Jan 13, 2015 10:12 AM)meskone Wrote:  [root@host dos]# perl scan.pl 1.0.0.0 255.255.255.255 8 scann.txt
Can't locate Encode/Locale.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /u sr/local/share/perl5/LWP/UserAgent.pm line 1001.
Compilation failed in require at scan.pl line 5.
BEGIN failed--compilation aborted at scan.pl line 5.

Install Encode::locale

Regards 🤝


* - regexks_ - Jan 13, 2015

(Jan 13, 2015 10:12 AM)meskone Wrote:  [root@host dos]# perl scan.pl 1.0.0.0 255.255.255.255 8 scann.txt
Can't locate Encode/Locale.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /u sr/local/share/perl5/LWP/UserAgent.pm line 1001.
Compilation failed in require at scan.pl line 5.
BEGIN failed--compilation aborted at scan.pl line 5.

You need to install the Encode::Locale Perl module:

Code
cpan -i Encode::Locale



* - meskone - Jan 13, 2015

thx you both ;)

HF needs more high skilled ppl like you !

cheers


* - Socrates - Jan 14, 2015

(Jan 13, 2015 10:12 AM)meskone Wrote:  [root@host dos]# perl scan.pl 1.0.0.0 255.255.255.255 8 scann.txt

Im not sure if you should do that. This script seems to take a long time to scan. I suggest trying specific ip ranges, ect