From 383eb0f0327ccb0e6b6d4998acdb18fa2ac8119c Mon Sep 17 00:00:00 2001 From: Ali MEHDIOUI Date: Fri, 1 Mar 2019 23:15:17 +0100 Subject: [PATCH] Add files via upload --- README.md | 14 ++++---- atscan.pl | 6 ++-- inc/conf/configure.pl | 11 ++---- inc/conf/menu.pl | 4 +-- inc/conf/version.log | 9 +++-- inc/errors/useErrors.pl | 50 ++++++++++++++------------- inc/funcs.pl | 59 ++++---------------------------- inc/functions/bugtraq.pl | 11 +++--- inc/functions/clientConf.pl | 2 +- inc/help.pl | 10 +++--- inc/interactive/modules.pl | 2 +- inc/interactive/values.pl | 2 +- inc/search/engine.pl | 52 ++++++++++++++++++++++++---- inc/search/process.pl | 68 ++++++++++++++++++++++++------------- inc/theme/dialog.pl | 10 +++--- inc/top.pl | 14 ++------ 16 files changed, 163 insertions(+), 161 deletions(-) diff --git a/README.md b/README.md index d98ec8d10..389f531a2 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@

ATSCAN SCANNER

- + @@ -177,7 +177,7 @@ --motor / -m - [Bing:1][Google:2][Ask:3][Yandex:4][Sogou:5][Exalead:6][Googleapis:7][All: all] + [bing][google][ask][yandex][sogou][exalead][googleapis][all] --apikey @@ -189,7 +189,7 @@ --mrandom - Random of all disponibles engines + Random of given engines --brandom @@ -595,7 +595,7 @@ ● RANDOM:
Random proxy: --prandom [proxy file]
Random browser: --brandom
- Random engine: --mrandom
+ Random engine: --mrandom [ENGINES]


SET HEADERS:
atscan --dork [dork / dorks.txt] --level [level] --header "Authorization => 'Basic YWRtaW46YWRtaW4', keep_alive => '1'"
@@ -605,8 +605,8 @@ Search: atscan --dork [dork] --level [level]
Search: atscan -d [dork] -l [level] --index
Search: atscan -d [dork] -l [level] --getlinks
- Set engine: atscan --dork [dork] --level [level] -m [Bing: 1][Google: 2][Ask: 3][Yandex: 4][Sogou: 5][All: all]
- Set selective engines: atscan -d [dork] -l [level] -m 1,2,3..
+ Set engine: atscan --dork [dork] --level [level] -m [bing][google][ask][yandex][sogou][all]
+ Set selective engines: atscan -d [dork] -l [level] -m google,bing,..
Search with many dorks: atscan --dork dork1 [OTHER]dork2 [OTHER]dork3] --level [level]
Search and rand: atscan -d [dork] -l [level] --expHost "/index.php?id=rang(1-9)" --sql
Get target engine index: atscan -t [target] --level [value] --index
@@ -646,7 +646,7 @@ atscan --dork [dork / dorks.txt] --level [level] --command "file"
atscan --dork [dork / dorks.txt] --level [level] --command "curl -v --HOST"
atscan --dork [dork / dorks.txt] --level [level] --command "nmap -sV -p 21,22,80 --HOSTIP"
- atscan -d "index of /lib/scripts/dl-skin.php" -l 20 -m 2 --command "php WP-dl-skin.php-exploit.php --TARGET"
+ atscan -d "index of /lib/scripts/dl-skin.php" -l 2 -m bing --command "php WP-dl-skin.php-exploit.php --TARGET"
atscan --shodan --search [string] --apikey [API KEY] -command [extern_command]

MULTIPLE SCANS:
diff --git a/atscan.pl b/atscan.pl index f301edc52..4ac356c7b 100644 --- a/atscan.pl +++ b/atscan.pl @@ -51,7 +51,7 @@ ## VARIABLES our ($Version, $logoVersion, $scriptUrl, $logUrl, $ipUrl, $conectUrl, $script, $script_bac, $scriptbash, $paylNote, $psx, $V_EMAIL, $V_IP, $V_RANG, $V_SEARCH, $V_REGEX, $S_REGEX, $motor1, $motor2, - $motor3, $motor4, $motor5, $motor6, $motorparam, $mrand, $pat2, $nolisting, $Hstatus, $validText, $WpSites, $JoomSites, $xss, $lfi, $JoomRfi, $WpAfd, $adminPage, $subdomain, $mupload, $mzip, + $motor3, $motor4, $motor5, $motor6, $mrand, $pat2, $nolisting, $Hstatus, $validText, $WpSites, $JoomSites, $xss, $lfi, $JoomRfi, $WpAfd, $adminPage, $subdomain, $mupload, $mzip, $eMails, $command, $mmd5, $mencode64, $mdecode64, $port, $mindex, $mdom, $Target, $exploit, $p, $tcp, $udp, $proxy, $prandom, $help, $output, $replace, $replaceFROM, $dork, $mlevel, $unique, $shell, $nobanner, $beep, $ifinurl, $noverbose, $motor, $timeout, $limit, $checkVersion, $searchIps, $regex, $searchRegex, $noQuery, $ifend, $uninstall, $post, $get, $brandom, $data, $payloads, $mrandom, $content, $scriptComplInstall, $scriptCompletion, $scriptInstall, $toolInfo, $config, $freq, $headers, $msource, $ping, $exclude, $expHost, $expIp, $zone, $validShell, $interactive, @@ -67,7 +67,7 @@ 'proxy=s'=>\$proxy, 'prandom=s'=>\$prandom, 'help|h'=>\$help, 'save|s=s'=>\$output, 'replace=s'=>\$replace, 'replaceFROM=s'=>\$replaceFROM, 'dork|d=s'=>\$dork, 'level|l=s'=>\$mlevel, 'unique'=>\$unique, 'shell=s'=>\$shell, 'nobanner'=>\$nobanner, 'beep'=>\$beep, 'ifinurl=s'=>\$ifinurl, 'noverbose'=>\$noverbose, 'm|motor=s'=>\$motor, 'timeout=s'=>\$timeout, 'limit=s'=>\$limit, 'update'=>\$checkVersion, 'ips'=>\$searchIps, 'regex=s'=>\$regex, 'sregex=s'=> \$searchRegex, 'noquery'=> \$noQuery, 'ifend'=>\$ifend, - 'uninstall'=> \$uninstall, 'post'=>\$post, 'get'=>\$get, 'brandom'=>\$brandom, 'data=s'=>\$data, 'payload=s'=>\$payloads, 'mrandom'=>\$mrandom, 'content'=>\$content, + 'uninstall'=> \$uninstall, 'post'=>\$post, 'get'=>\$get, 'brandom'=>\$brandom, 'data=s'=>\$data, 'payload=s'=>\$payloads, 'mrandom=s'=>\$mrandom, 'content'=>\$content, 'tool|?'=>\$toolInfo, 'config'=>\$config, 'freq=s'=>\$freq, 'header=s'=>\$headers, 'source=s'=>\$msource, 'ping'=>\$ping, 'exclude=s'=>\$exclude, 'expHost=s'=>\$expHost, 'expIp=s'=>\$expIp, 'zone=s'=>\$zone, 'interactive|i'=>\$interactive, 'vshell=s'=>\$validShell, 'popup'=>\$popup, 'all'=>\$all, 'repair'=>\$repair, 'zoneH=s'=>\$zoneH, 'cookies=s'=>\$cokie, 'bugtraq'=>\$bugtraq, 'geoloc'=>\$geoloc, 'fullHeaders'=>\$fullHeaders, 'getlinks'=>\$getlinks, 'shodan'=>\$shodan, 'apikey=s'=>\$apikey, @@ -77,7 +77,7 @@ ## CHOMP ARGS STRINGS our @toChomp=($Hstatus, $validText, $command, $mmd5, $mencode64, $mdecode64, $port, $Target, $exploit, $p, $proxy, $prandom, $output, - $replace, $replaceFROM, $dork, $mlevel, $shell, $ifinurl, $motor, $timeout, $limit, $regex, $searchRegex, $data, + $replace, $replaceFROM, $dork, $mlevel, $shell, $ifinurl, $motor, $timeout, $mrandom, $limit, $regex, $searchRegex, $data, $payloads, $freq, $headers, $msource, $exclude, $expHost, $expIp, $zone, $validShell, $zoneH, $bugtraq, $apikey, $shocount, $shoquerySearch, $shoresolve, $shoreverse, $shofilters, $shotokens, $cx, $facets, $shohoneyscore); for (@toChomp) { chomp ($_) if defined $_; } diff --git a/inc/conf/configure.pl b/inc/conf/configure.pl index 88c84afef..3b656cfd8 100644 --- a/inc/conf/configure.pl +++ b/inc/conf/configure.pl @@ -21,7 +21,7 @@ our ($Version, $logoVersion, $scriptUrl, $logUrl, $ipUrl, $conectUrl, $script, $scriptInstall, $script_bac, $scriptbash, $scriptv, $scriptCompletion, $scriptComplInstall, $readme, $uplog, $replace, $replaceFROM, $server, $geoServer, @configuration); -$Version="16.0.5"; +$Version="16.0.6"; $logoVersion="V $Version"; $scriptUrl="https://raw.githubusercontent.com/AlisamTechnology/ATSCAN/master/atscan.pl"; $logUrl="https://raw.githubusercontent.com/AlisamTechnology/ATSCAN/master/inc/conf/version.log"; @@ -54,12 +54,7 @@ sub timer { my $time=strftime "%H:%M:%S", localtime; print "[$time]"; } ## DELETE CLEAR LISTS -sub deleteLists { - our (@buildArrays, @dorks, @payloads, @exploits, @data, @proxies, @aTsearch, @aTscans, @aTtargets, @aTcopy, @ports, @motor, - @motors, @systems)=(); - unlink our $script_bac; -} -deleteLists(); +unlink $script_bac if -e $script_bac; ## USER CONFIGUATION sub get_configuration { @@ -105,9 +100,7 @@ sub get_configuration { our $motor6="https://www.exalead.com/search/web/results/?q=MYDORK&elements_per_page=10&start_index=MYNPAGES"; our $motor7="https://www.googleapis.com/customsearch/v1?key=MYAPIKEY&cx=MYCX&q=MYDORK&start=MYNPAGES"; -our $motorparam="1|2|3|4|5|6|7|all"; our @mrands=($motor1, $motor2, $motor3, $motor4, $motor5, $motor6, $motor7); -our $mrand=$mrands[rand @mrands]; our @allMotors=($motor1, $motor2, $motor3, $motor4, $motor5, $motor6, $motor7); our $pat2='inurl:|intitle:|intext:|allinurl:|index of:|site:(.*)\+|\+site:(.*)'; our $paylNote="[i] $DT[28]\n"; diff --git a/inc/conf/menu.pl b/inc/conf/menu.pl index 3ebb7265d..30634cc4b 100644 --- a/inc/conf/menu.pl +++ b/inc/conf/menu.pl @@ -58,7 +58,7 @@ } }else{ negative(); - logoff(); + exit(); } } @@ -82,7 +82,7 @@ sub Menu { } if (!defined $checkVersion && !defined $help && !defined $uninstall && !defined $toolInfo && !defined $config && !defined $repair) { - subfin(); logoff(); + subfin(); exit(); } ## GET WORDPRESS SITES diff --git a/inc/conf/version.log b/inc/conf/version.log index ec077752b..dd0284e52 100644 --- a/inc/conf/version.log +++ b/inc/conf/version.log @@ -1,8 +1,7 @@ -ATSCAN SCANNER VERSION 16.0.5 RELEASE +ATSCAN SCANNER VERSION 16.0.6 RELEASE ===================================================== - CHANGES: v16.0.5 01/03/2019 - - Fix conflict user configuration setting. - - Removed header.pl index.pl colors.pl separators.pl - - PLEASE REPORT BUGS..!! + CHANGES: v16.0.6 01/03/2019 + - Chnage all engines random to selected random. + - oooooOO PLEASE REPORT BUGS OOoooo - Enjoy it! ================= diff --git a/inc/errors/useErrors.pl b/inc/errors/useErrors.pl index c438fcaef..d327aaa14 100644 --- a/inc/errors/useErrors.pl +++ b/inc/errors/useErrors.pl @@ -17,7 +17,7 @@ if (!defined $apikey) { print $c[4]."[!] USAGE: --shodan --apikey \n"; print $c[4]."[!] You can get an apikey here https://www.shodan.io/\n"; - logoff(); + exit(); } } @@ -30,44 +30,44 @@ if (defined $bugtraq) { if (!defined $dork) { print $c[4]."[!] USAGE: --bugtraq --dork --level \n"; - logoff(); + exit(); } } ## ARGUMENTS VERIFICATION (TARGET AND RANGIP) if (defined $Target) { my $Targ=Targs(); - if ($Targ<1) { print $c[4]."[!] $OTHERS[7]\n"; logoff(); } + if ($Targ<1) { print $c[4]."[!] $OTHERS[7]\n"; exit(); } } ## CHECK POPUP ARGUMENT IS USED WITH EXTERN COMMANDS if (defined $popup and !defined $command) { - print $c[4]."[!] --$ZT[26]\n"; logoff(); + print $c[4]."[!] --$ZT[26]\n"; exit(); } if (defined $exploit or $exploit) { my $Targ=Targs(); - if ($Targ<1) { print $c[4]."[!] $OTHERS[7]\n"; logoff(); } + if ($Targ<1) { print $c[4]."[!] $OTHERS[7]\n"; exit(); } } ## ZONE-H if (defined $zoneH) { if ($zoneH!~/(.*)=>(.*)/) { - print $c[4]."[!] zoneH must be \"Notifier => Url\" \n"; logoff(); + print $c[4]."[!] zoneH must be \"Notifier => Url\" \n"; exit(); } } ## CHECK TARGET PROTOCOL if (defined $Target) { if ((!-e $Target) && ($Target!~/$V_IP/) && !defined $ping) { - if ($Target!~/https?:\/\//) { print $c[4]."[!] $DT[16]\n"; logoff(); } + if ($Target!~/https?:\/\//) { print $c[4]."[!] $DT[16]\n"; exit(); } } } ## CRAWLER if (defined $mindex) { if (!defined $mlevel && !$mlevel) { - print $c[4]."[!] $DT[20]\n"; logoff(); + print $c[4]."[!] $DT[20]\n"; exit(); } } @@ -75,33 +75,32 @@ if (defined $replace || defined $replaceFROM) { for (@replace) { if (defined $_ and $_ !~ /=>/) { - print $c[4]."[!] $ZT[27] \"STRING => NEW_STRING\"\n"; logoff(); + print $c[4]."[!] $ZT[27] \"STRING => NEW_STRING\"\n"; exit(); } } } ## CHECK RANDOM PARAMS -if (defined $mrandom && (!defined $mlevel && !$mlevel)) { print $c[4]."[!] $DT[38]\n"; logoff(); } +if (defined $mrandom && (!defined $mlevel && !$mlevel)) { print $c[4]."[!] $DT[38]\n"; exit(); } ## ARGUMENTS VERIFICATION (LEVEL / PORTS) -if ((defined $dork)&&(!defined $mlevel && !$mlevel && !defined $shodan)) { print $c[4]."[!] $DT[40]\n"; logoff(); } -if ((defined $port) && (!defined $tcp and !defined $udp)) { print $c[4]."$DT[23]\n"; logoff(); } +if ((defined $dork)&&(!defined $mlevel && !$mlevel && !defined $shodan)) { print $c[4]."[!] $DT[40]\n"; exit(); } +if ((defined $port) && (!defined $tcp and !defined $udp)) { print $c[4]."$DT[23]\n"; exit(); } ## MORE ARGUMENTS PROCESS VERIFICATION if ((defined $dork) || (defined $Target)) { - if ((defined $JoomRfi) and (!defined $shell)) { print $c[4]."[!] $DT[41]\n"; logoff(); } + if ((defined $JoomRfi) and (!defined $shell)) { print $c[4]."[!] $DT[41]\n"; exit(); } } -if ((!defined $dork) && (defined $unique)) { print $c[4]."[!] $DT[21]\n"; logoff(); } +if ((!defined $dork) && (defined $unique)) { print $c[4]."[!] $DT[21]\n"; exit(); } if (defined $regex or defined $eMails or defined $searchRegex or defined $searchIps) { - if (defined $Hstatus) { print $c[4]."[!] $SCAN_TITLE[2]"; logoff(); } + if (defined $Hstatus) { print $c[4]."[!] $SCAN_TITLE[2]"; exit(); } } ## CHECK MOTORS ARGUMENTS -our ($motorparam); if (defined $motor || $motor) { if (defined $mrandom || $mrandom) { - print $c[4]."$TT[14]\n"; logoff(); + print $c[4]."$TT[14]\n"; exit(); } abcd($motor); } @@ -112,39 +111,42 @@ sub abcd { if ($abcd=~/,/) { @abcd=split(", ", $abcd); } else{ push @abcd, $abcd; } for my $ad(@abcd) { - if ($ad!~/(1|2|3|4|5|6|7|all)/) { print $c[2]."[!] $DT[25]\n".$c[4]." $DT[27] \n $OTHERS[5] -m 1,2,...\n"; logoff(); } + if ($ad!~/(bing|ask|google|yandex|sogou|exalead|googleapis)/) { + print $c[2]."[!] $DT[25]\n".$c[4]." $DT[27] \n $OTHERS[5] -m google,bing,...\n"; exit(); + } } } ## CHECK LEVEL if (defined $mlevel || $mlevel) { - if ($mlevel!~/^[0-9,.E]+$/) { print $c[4]."$TT[15]\n"; logoff(); } + if ($mlevel!~/^[0-9,.E]+$/) { print $c[4]."$TT[15]\n"; exit(); } } ## ADVISE DATA WITHOUT METHOD -if (defined $data and (!defined $post && !defined $get && !defined $mupload && !$method)) { print $c[4]."[!] $TT[16]\n"; logoff(); } +if (defined $data and (!defined $post && !defined $get && !defined $mupload && !$method)) { print $c[4]."[!] $TT[16]\n"; exit(); } ## CHECK PAUSE ARGUMENT if (defined $data) { if ($limit<500) { - if (!defined $Hstatus && !defined $validText) { print $c[4]."[!] $TT[17]\n"; logoff(); } + if (!defined $Hstatus && !defined $validText) { print $c[4]."[!] $TT[17]\n"; exit(); } } } ## WORDLIST IN DATA sub data_alert { - print $c[4]."[!] $ZT[28]\n"; logoff(); + print $c[4]."[!] $ZT[28]\n"; exit(); } ## IF DATA FILES > 1 sub adviseDataFile { - print $c[2]."[!] $ZT[29]\n"; logoff(); + print $c[2]."[!] $ZT[29]\n"; exit(); } ## IF DATA FILE NOT EXISTS sub advise_no_file { my $no_file=$_[0]; - print $c[2]."[!] $ZT[30] $no_file !\n"; logoff(); + print $c[2]."[!] $ZT[30] $no_file !\n"; exit(); } + 1; diff --git a/inc/funcs.pl b/inc/funcs.pl index f4da0fd8d..71704dded 100644 --- a/inc/funcs.pl +++ b/inc/funcs.pl @@ -15,7 +15,7 @@ $ifinurl, $pat2, $limit, $port, $output, $ifend, $ipUrl, $noverbose, $V_IP, $expIp, $interactive, $command, $uplog, $validShell, $validText, $exclude, $all, $repair, $zoneH, $cokie, $bugtraq, $mindex, $Hstatus, $content, $msource, $fullHeaders, $geoloc, $getlinks); -our($userSetting, $proxy, $system, $agent, $ua, $psx, $prandom, $password, $brandom, $mrandom, $zone, $motor, $nobanner, $beep, $timeout, $dateupdate, $freq, +our($userSetting, $proxy, $system, $ua, $psx, $prandom, $password, $brandom, $mrandom, $zone, $motor, $nobanner, $beep, $timeout, $dateupdate, $freq, $method, $checkVersion, $get, $post, $scriptbash, $shodan, $apikey, $cx); our ($WpSites, $JoomSites, $xss, $lfi, $JoomRfi, $WpAfd, $adminPage, $subdomain, $mupload, $mzip, $searchIps, $eMails, $regex, $ping); @@ -24,7 +24,7 @@ $port, $data, $ping); our (@aTscans, @payloads, @exploits, @dorks, @aTsearch, @aTcopy, @aTtargets, @c, @OTHERS, @DS, @DT, @TT, @proxies, @connected_proxies, @ErrT, - @defaultHeaders, @userHeaders, @validTexts, @excludes, @ZT, @validShells, @commands, @bugs, @connected_apikeys, @apikeys); + @userHeaders, @validTexts, @excludes, @ZT, @validShells, @commands, @bugs, @connected_apikeys, @apikeys); ######################################################################################################################### ## PRINT FILES @@ -242,16 +242,6 @@ sub get_frequecy { ######################################################################################################################### ## START FREQ our $start=get_frequecy(); -######################################################################################################################### -## BROWSER -our (@sys, @vary, @systems); -binmode STDOUT, ":utf8"; -for my $sys(@sys) { - for my $vary(@vary) { - my $ag="$sys) $vary"; - push @systems, $ag; - } -} ######################################################################################################################### ## CREATE COOKIES IN DISK @@ -267,27 +257,6 @@ sub get_frequecy { ignore_discard => 1, ); -######################################################################################################################### -## HEADERS -@defaultHeaders = (); -our $headers; -if (defined $headers) { - @defaultHeaders=split (",", $headers); - foreach my $hdr(@defaultHeaders) { - $ua->push_header($hdr); - } -} - -######################################################################################################################### -## SET AGENT -$agent="Mozilla/5.0 (".$systems[rand @systems]; -$ua=LWP::UserAgent->new( agent => $agent); -$ua->cookie_jar($cookies); -$ua->env_proxy; -if (defined $timeout || $timeout) { - $ua->timeout($timeout); -} - ######################################################################################################################### ## CURRENT PROXY sub get_psx { @@ -360,7 +329,7 @@ sub print_connecttions { my ($x, $y, $txt)=@_; print "$c[3] OK\n" if $x eq $y; if ($x < 1) { - print $c[2]."\n[!] Cannot connect with any of given $txt!\n"; logoff(); + print $c[2]."\n[!] Cannot connect with any of given $txt!\n"; exit(); }elsif($x < $y) { print $c[3]."\n[!] OK! $c[4]Only running $txt in list will be used ($x)!\n"; } @@ -381,7 +350,7 @@ sub testConnection { if ($b) { check_list_apikey(); } }else{ my $respons=$ua->get($ipUrl); - if (!$respons->is_success) { print $c[2]."[!] $DT[11]\n[!] $DT[10]\n".$c[4]."[!] $ErrT[23]\n"; logoff(); } + if (!$respons->is_success) { print $c[2]."[!] $DT[11]\n[!] $DT[10]\n".$c[4]."[!] $ErrT[23]\n"; exit(); } } sleep 1; } @@ -446,20 +415,6 @@ sub newIdentity { print $c[1]." $DS[11] $c[10] $psx\n" if $pnt; } -######################################################################################################################### -## RENEW AGENT -sub getNewAgent { - my $currentagent=$agent; - my $fin=0; - while (!$fin) { - $agent="Mozilla/5.0 (".$systems[rand @systems]; - if ($currentagent ne $agent) { - $fin=1; - } - } - $ua=LWP::UserAgent->new( agent => $agent, cookie_jar => HTTP::Cookies->new()); -} - ######################################################################################################################### ## CHECK VERSION LOG sub compareme { @@ -766,7 +721,7 @@ sub zoneH { my $url=replaceReferencies($URL, $zoneD[1]); $url=~s/\s//ig; my $zoneHurl="http://www.zone-h.org/notify/single"; - my $ua = LWP::UserAgent->new; + ckeck_ext_founc(""); my $res = $ua->post($zoneHurl, Content => ['defacer' => $zoneD[0], 'domain1' => $url, @@ -851,7 +806,7 @@ sub nochmod { my ($path, $action)=@_; sleep(1); print $c[2]."[!] Couldn't have write permitions: $path !\n"; - if ($action) { logoff(); } + if ($action) { exit(); } } ######################################################################################################################### @@ -935,7 +890,7 @@ sub checkCpanModules { system("cpan App::cpanminus && cpanm JSON"); } } - if($@) { print $c[4]."[!] Failed to install JSON\n"; logoff(); } + if($@) { print $c[4]."[!] Failed to install JSON\n"; exit(); } } ######################################################################################################################### diff --git a/inc/functions/bugtraq.pl b/inc/functions/bugtraq.pl index e0c0cd3d5..e99450c9f 100644 --- a/inc/functions/bugtraq.pl +++ b/inc/functions/bugtraq.pl @@ -8,7 +8,7 @@ ############################################################################### ## BUGTRAQ our($ua, @dorks, $dork, $mlevel, $limit, $server, @c); -if (!defined $dork) { print $c[4]."[!] Usage --bugtraq --dork --level \n"; logoff(); } +if (!defined $dork) { print $c[4]."[!] Usage --bugtraq --dork --level \n"; exit(); } my (@bugId, @bugTitle, @bugDate, @bugLink, @bugWarning, @refer); my $e = strftime "%Y.%m.%d.", localtime; my $copyPath="$Bin/inc/conf/user/temp.txt"; @@ -42,7 +42,7 @@ sub bugs { bugWarning($Res); }else{ print "[!]$c[4] Cannot coonect to server. try again in a few minutes!\n"; - logoff(); + exit(); } } } @@ -54,7 +54,7 @@ sub bugs { sub helpme { sep(); print $c[11]." [+] OPTIONS:\n"; - print $c[11]." ID $c[10] View and save issues. Ex: ID1 or ID2 ID3..\n"; + print $c[11]." ID $c[10] View and save issues. Ex: ID1 or ID2,ID3,..\n"; print $c[11]." list $c[10] List issues\n"; print $c[11]." exit $c[10] Exit\n"; sep(); @@ -178,7 +178,7 @@ sub viewBug { my $m=scalar @bugTitle; if (scalar @bugTitle <1 ) { print $c[4]."[!] No results found!\n"; - logoff(); + exit(); }else{ if ($limit ne 500) { print $c[3]."[!] Results limited to [$limit Result\/s]!\n"; @@ -206,8 +206,9 @@ sub viewBug { print $c[4]." [!]$c[10] Type or \"options\" for help: "; $rr=; chomp ($rr); + $rr=~s/\s//g; print "\n"; - my @r=split(" ", $rr); + my @r=split(",", $rr); for my $r(@r) { if ($r!~/([0-9]|options|list|exit)/) { print $c[4]." [!] Cannot interpret your command!\n"; diff --git a/inc/functions/clientConf.pl b/inc/functions/clientConf.pl index dbae3e184..66710d3ab 100644 --- a/inc/functions/clientConf.pl +++ b/inc/functions/clientConf.pl @@ -182,7 +182,7 @@ sub ClientConfiguration { } } }else{ - print $c[2]." [!] $AUTH[15]\n"; logoff(); + print $c[2]." [!] $AUTH[15]\n"; exit(); } } #################################################################################################### diff --git a/inc/help.pl b/inc/help.pl index b3dbe1803..83442251a 100644 --- a/inc/help.pl +++ b/inc/help.pl @@ -22,14 +22,14 @@ ltak(); print $c[12]." RANDOM: \n".$c[10] ." Random proxy: --prandom [proxy | file] \n" ." Random agent: --brandom \n" - ." Random engine: --mrandom \n\n" ; + ." Random engine: --mrandom [ENGINES]\n\n" ; ltak(); print $c[12]." SEARCH ENGINE: \n".$c[10] - ." ENGINES: [Bing:1][Google:2][Ask:3][Yandex:4][Sogou:5][Exalead:6][Googleapis:7][All:all]\n" + ." ENGINES: [bing][google][ask][yandex][sogou][exalead][googleapis][all]\n" ." Search: atscan --dork --level \n" ." Search target engine inedexes: atscan -d -l --index\n" ." Search indexes & html links: atscan -d -l --index --getlinks\n" - ." Set engine: atscan --dork --level -m 2\n" - ." Set selective engines: atscan -d -l -m 1,2,3..\n" + ." Set engine: atscan --dork --level -m google\n" + ." Set selective engines: atscan -d -l -m google,bing,..\n" ." Search with many dorks: atscan --dork --level \n" ." Search and rand: atscan -d -l --expHost \"/index.php?id=rang(1-9)\" --sql\n" ." Search + output: atscan --dork --level --save\n\n" @@ -102,7 +102,7 @@ ." atscan --dork --level --command \"curl -v --HOST\" \n" ." atscan --dork --level --command \"nmap -sV -p 21,22,80 --HOSTIP\" \n" ." atscan -t --port 80 --udp --command \"nmap -sV -p --PORT --TARGET\" \n" - ." atscan -d \"index of /lib/scripts/dl-skin.php\" -l 20 -m 2 --command \"php WP-dl-skin.php-exploit.php --TARGET\" \n\n"; + ." atscan -d \"index of /lib/scripts/dl-skin.php\" -l 20 -m google --command \"php WP-dl-skin.php-exploit.php --TARGET\" \n\n"; ltak(); print $c[12]." MULTIPLE SCANS: \n".$c[10] ." atscan --dork --level <2> --sql --lfi --wp ..\n" diff --git a/inc/interactive/modules.pl b/inc/interactive/modules.pl index 1fd7896ab..b583dc216 100644 --- a/inc/interactive/modules.pl +++ b/inc/interactive/modules.pl @@ -304,7 +304,7 @@ sub form { elsif ($ord eq "usage") { interUsage(); processHeader($process); } elsif ($ord eq "back") { back($process); } elsif ($ord eq "run" && scalar(@INTERCOMNDS) < 1) { runArg($process); } - elsif ($ord eq "exit") { print "$c[3]\[!] Bey! :)\n"; logoff(); } + elsif ($ord eq "exit") { print "$c[3]\[!] Bey! :)\n"; exit(); } else{ $ord1=1; } } } diff --git a/inc/interactive/values.pl b/inc/interactive/values.pl index 4a777e82f..c2544c823 100644 --- a/inc/interactive/values.pl +++ b/inc/interactive/values.pl @@ -48,7 +48,7 @@ our @ARGUMENTSALL=keys %ARGUMENTSALL; ## NOT REQUIRE A VALUE -our @NoValRequierd=('host', 'tcp', 'udp', 'full', 'unique', 'nobanner', 'beep', 'noverbose', 'update', 'ips', 'noquery', 'ifend', 'post', 'get', 'brandom', 'mrandom', 'content', 'ping', +our @NoValRequierd=('host', 'tcp', 'udp', 'full', 'unique', 'nobanner', 'beep', 'noverbose', 'update', 'ips', 'noquery', 'ifend', 'post', 'get', 'brandom', 'content', 'ping', 'HOST', 'PORT', 'HOSTIP', 'TARGET', 'sql', 'lfi', 'wpafd', 'admin', 'index', 'wp', 'joom', 'zip', 'email', 'commands', 'form', 'normal', 'bugtraq', 'advanced', 'joomrfi', 'shost', 'email', 'decrypt', 'nomodule', 'popup', 'all', 'geoloc', 'getlinks', 'query', 'querytags', 'services', 'myip', 'apinfo', 'ports', 'Ports', 'shodan'); diff --git a/inc/search/engine.pl b/inc/search/engine.pl index 478f89d77..286a821a6 100644 --- a/inc/search/engine.pl +++ b/inc/search/engine.pl @@ -4,7 +4,9 @@ use FindBin '$Bin'; ## Copy@right Alisam Technology see License.txt -our @strings=('ar_JO', 'ar_KW', 'ar_LB', 'ar_LY', 'ar_MA', 'ar_OM', 'ar_QA', 'ar_SA', 'ar_SD', 'el_GR', 'el', 'iw_IL', 'iw', 'hi_IN', 'hu_HU', 'hu', 'is_IS', 'is', 'in_ID', 'cs-CZ', 'uk', +our (@systems, $cookies, $timeout, $headers); + +my @strings=('ar_JO', 'ar_KW', 'ar_LB', 'ar_LY', 'ar_MA', 'ar_OM', 'ar_QA', 'ar_SA', 'ar_SD', 'el_GR', 'el', 'iw_IL', 'iw', 'hi_IN', 'hu_HU', 'hu', 'is_IS', 'is', 'in_ID', 'cs-CZ', 'uk', 'vi_VN', 'vi', 'en-US', 'sk-SK', 'pt-BR', 'sq_AL', 'sq', 'ar_DZ', 'ar_BH', 'ar_EG', 'ar_IQ', 'be_BY', 'be', 'bg_BG', 'bg', 'ca_ES', 'ca', 'zh_CN', 'zh_HK', 'zh_SG', 'zh_TW', 'zh', 'hr_HR', 'hr', 'cs_CZ', 'cs', 'da_DK', 'da', 'nl_BE', 'nl_NL', 'nl', 'en_AU', 'en_CA', 'en_IN', 'en_IE', 'en_MT', 'en_NZ', 'en_PH', 'en_SG', 'en_ZA', 'en_GB', 'en_US', 'en', 'et_EE', 'et', 'fi_FI', 'fi', 'fr_BE', 'fr_CA', 'fr_FR', 'fr_LU', 'fr_CH', 'fr', 'de_AT', 'de_DE', 'de_LU', 'de_CH', 'de', 'el_CY', 'in', 'ga_IE', 'ga', 'it_IT', 'it_CH', @@ -14,7 +16,7 @@ 'tr', 'uk_UA', 'uk'); ## BROWSER LANGUAGES -our @browserlangs=("af", "am", "ar-SA", "as", "az-Latn", "be", "bg", "bn-BD", "bn-IN", "bs", "ca", "ca-ES-valencia", "cs", "da", "de", "de-DE", "el", "en-CA", "en-GB", "en-IN", "en-AU", +my @browserlangs=("af", "am", "ar-SA", "as", "az-Latn", "be", "bg", "bn-BD", "bn-IN", "bs", "ca", "ca-ES-valencia", "cs", "da", "de", "de-DE", "el", "en-CA", "en-GB", "en-IN", "en-AU", "en-US", "es", "es-ES", "es-US", "es-MX", "et", "eu", "fa", "fi", "fil-Latn", "fr", "fr-FR", "fr-CA", "ga", "gd-Latn", "gl", "gu", "ha-Latn", "he", "hi", "hr", "hu", "hy", "id", "ig-Latn", "is", "it", "it-IT", "ja", "ka", "kk", "km", "kn", "ko", "kok", "ku-Arab", "ky-Cyrl", "lb", "lt", "lv", "mi-Latn", "mk", "ml", "mn-Cyrl", "mr", "ms", "mt", "nb", "ne", "nl", "nl-BE", "nn", "nso", "or", "pa", "pa-Arab", "pl", "prs-Arab", "pt-BR", "pt-PT", "qut-Latn", "quz", "ro", "ru", "rw", "sd-Arab", "si", "sk", "sl", "sq", @@ -22,7 +24,7 @@ "zh-Hant", "zu"); ## GOOGLE DOMAINS -our @googleDomains=("com", "ac", "com.om", "ad", "ae", "com.af", "com.ag", "com.ai", "am", "it.ao", "com.ar", "cat", "as", "at", "com.au", "az", "ba", "com.bd", "be", "bf", "bg", "com.bh", +my @googleDomains=("com", "ac", "com.om", "ad", "ae", "com.af", "com.ag", "com.ai", "am", "it.ao", "com.ar", "cat", "as", "at", "com.au", "az", "ba", "com.bd", "be", "bf", "bg", "com.bh", "bi", "bj", "com.bn", "com.bo", "com.br", "bs", "co.bw", "com.by", "com.bz", "ca", "com.kh", "cc", "cd", "cf", "cn", "com.co", "co.nz", "cg", "ch", "ci", "co.ck", "cl", "cm", "co.cr", "com.cu", "cv", "cz", "de", "nu", "dj", "dk", "dm", "com.do", "dz", "no", "com.ec", "ee", "com.eg", "es", "com.et", "com.np", "fi", "com.fj", "fm", "fr", "ga", "nl", "ge", "gf", "gg", "com.gh", "com.gi", "nr", "gl", "gm", "gp", "gr", "com.gt", "com.ni", "gy", "com.hk", "hn", "hr", "ht", "com.ng", "hu", "co.id", "iq", "ie", "co.il", @@ -33,19 +35,19 @@ "co.ve", "vg", "co.vi", "com.vn", "vu", "ws", "co.za", "co.zm", "co.zw"); ## ID RANDOM -our @Ids=( +my @Ids=( "5D4B3C17298B25CC309D9A0951C6BA04", "761446B6C1810068798CA09C88BE0776", "76DE276369845330D17C7CD111A536DD", "A0A6BD56DD1A054B1FF32E7FE3A44D27", "F856B0C416AEBE6E6C7610C3B89B5245", "88ADADC7E5DB1A344000A6F8C2B0BFA9", "6B815A7FDAF8A283440CD6AEB586CED3", "B6B0770CB0F48619CA0EDE35E451F9E5", "D6EA6D2A00270CA431DD36486EE53F35", "7E84432C6967B7DC0AA29A493A1B8FD0" ); ## MSID RANDOM -our @MsIds=( +my @MsIds=( "1462902128.39925.22889.22408", "1462902552.15536.22876.27365", "1462902586.95962.22874.20936", "1462902627.17116.22876.27348", "1462902668.37045.20953.58001", "1462902238.39125.22589.29408", "1462902129.37521.22479.24410", "1462902113.35935.22853.22412", "1462902138.59225.22845.22478", "1462902145.39925.22812.22432", ); ## SYSTEM RANDOM -our @sys=( +my @sys=( "compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; $strings[rand @strings]", "compatible; MSIE 7.0; Windows NT 5.1; $strings[rand @strings]", "compatible; MSIE 6.0; Windows NT 5.1; $strings[rand @strings]", @@ -97,5 +99,43 @@ ## MSID RANDOM our $MsId=$MsIds[rand @MsIds]; +######################################################################################################################### +## BROWSER +binmode STDOUT, ":utf8"; +for my $sys(@sys) { + for my $vary(@vary) { + my $ag="$sys) $vary"; + push @systems, $ag; + } +} + +######################################################################################################################### +## SET AGENT +use LWP::UserAgent; +our $agent="Mozilla/5.0 (".$systems[rand @systems]; +our $ua=LWP::UserAgent->new( agent => $agent, cookie_jar => HTTP::Cookies->new()); +$ua->cookie_jar($cookies); +$ua->env_proxy; +if (defined $timeout || $timeout) { + $ua->timeout($timeout); +} + +######################################################################################################################### +## HEADERS +if (defined $headers) { + my @defaultHeaders=split (",", $headers); + foreach my $hdr(@defaultHeaders) { + $ua->push_header($hdr); + } +} + +######################################################################################################################### +## RENEW AGENT +sub getNewAgent { + my $currentagent=$agent; + $agent="Mozilla/5.0 (".$systems[rand @systems] unless $currentagent ne $agent; + $ua=LWP::UserAgent->new( agent => $agent ); +} + 1; diff --git a/inc/search/process.pl b/inc/search/process.pl index 706e766e0..ebe1b2ebe 100644 --- a/inc/search/process.pl +++ b/inc/search/process.pl @@ -4,39 +4,60 @@ use FindBin '$Bin'; ## Copy@right Alisam Technology see License.txt -our ($browserLang, $mrand, $motorparam, $motor, $motor1, $motor2, $motor3, $motor4, $motor5, $motor6, $motor7, $mrandom, $googleDomain, $prandom, $proxy, $mlevel, $ifinurl, $unique, $mdom, +our ($browserLang, $motor, $motor1, $motor2, $motor3, $motor4, $motor5, $motor6, $motor7, $mrandom, $googleDomain, $prandom, $proxy, $mlevel, $ifinurl, $unique, $mdom, $searchRegex, $Target, $dork, $ua, $Id, $MsId, $V_SEARCH,$nolisting, $mindex, $headers, $zone, $agent, $exclude, $expHost, $mupload, $expIp, $popup, $JoomSites, $WpSites, $fullHeaders, $geoloc, $apikey, $cx, $shodan, $bugtraq); -our (@motor, @TODO, @V_TODO, @c, @TT, @DS, @DT, @dorks, @SCAN_TITLE, @motors, @mrands, @aTsearch, @proxies, @commands, @V_INPUT); +our (@TODO, @motor, @V_TODO, @c, @TT, @DS, @DT, @dorks, @SCAN_TITLE, @motors, @aTsearch, @proxies, @commands, @V_INPUT); our ($limit, $post, $get, $replace, $output, $data, $noQuery, $V_IP, $replaceFROM, $eMails, $searchIps, $brandom, $validShell, - $noverbose, $timeout, $method, $command, $freq, $ipUrl, $exploit, $p, $shell, @exploits, @defaultHeaders, @OTHERS, @ErrT); + $noverbose, $timeout, $method, $command, $freq, $ipUrl, $exploit, $p, $shell, @exploits, @OTHERS, @ErrT); +our @mrands = ('bing', 'ask', 'google', 'yandex', 'sogou', 'exalead', 'googleapis'); ######################################################################################################################### ## SET ENGINES if (defined $mlevel && (!defined $shodan && !defined $bugtraq)) { - if (defined $mrandom || $mrandom) { push @motor, $mrand; } - elsif (defined $motor || $motor) { buildenginearray($motor); } - else{ - push @motor, $motor1; + if (defined $mrandom || $mrandom) { + _buildMotors($mrandom); } + elsif (defined $motor || $motor) { + _buildMotors($motor); + }else{ + push @motor, "bing"; + } + replaceEngines(@motor); } -##################################################### -## BUILD ENGINE ARRAY -sub buildenginearray { - my $mtr=$_[0]; - if ($mtr=~/all/) { push @motor, @mrands; } - if ($mtr=~/1/) { push @motor, $motor1; } - if ($mtr=~/2/) { push @motor, $motor2; } - if ($mtr=~/3/) { push @motor, $motor3; } - if ($mtr=~/4/) { push @motor, $motor4; } - if ($mtr=~/5/) { push @motor, $motor5; } - if ($mtr=~/6/) { push @motor, $motor6; } - if ($mtr=~/7/) { push @motor, $motor7; } + +######################################################################################################################### +## +sub _buildMotors { + my $ob = $_[0]; + $ob=~s/\s//g; + @motors=(); + if ($ob =~/all/) { + push @motor, @mrands; + }else{ + @motor = split(",", $ob); + } +} + +######################################################################################################################### +## +sub replaceEngines { + my @motor=@_; + for my $mot(@motor) { + if ($mot =~/^bing$/) { soubstituteRefs($motor1); } + if ($mot =~/^google$/) { soubstituteRefs($motor2); } + if ($mot =~/^ask$/) { soubstituteRefs($motor3); } + if ($mot =~/^yandex$/) { soubstituteRefs($motor4); } + if ($mot =~/^sogu$/) { soubstituteRefs($motor5); } + if ($mot =~/^exalead$/) { soubstituteRefs($motor6); } + if ($mot =~/^googleapis$/) { soubstituteRefs($motor7); } + } } ######################################################################################################################### -## SET ENGINES -for my $mot(@motor) { +## +sub soubstituteRefs { + my $mot = $_[0]; $mot=~s/MYBROWSERLANG/$browserLang/g; $mot=~s/MYGOOGLEDOMAINE/$googleDomain/g; $mot=~s/MYID/$Id/g; @@ -106,7 +127,7 @@ sub do_needed { sub printMotor { my @motors=@_; print $c[1]."[::] $DS[29] : ".$c[10]; - if (defined $mrandom || $mrandom) { print "[$TT[12]\]"; } + if (defined $mrandom || $mrandom) { print "[$TT[12]\] "; } for my $motor(@motors) { $motor=~s/MYBROWSERLANG/$browserLang/g; $motor=~s/MYGOOGLEDOMAINE/$googleDomain/g; @@ -114,7 +135,7 @@ sub printMotor { if ($motor=~/((all|bing.|google.|ask.|yandex.|sogou.|exalead.|googleapis.)(.*)\/)/) { my $mt=$1; $mt=~s/\/.*//s; - print "$mt"; + print "$mt "; } } print "\n"; @@ -472,6 +493,7 @@ sub getExploitArrScan{ sub getPArrScan{ my ($URL, $arr, $filter, $result, $reg, $comnd, $isFilter, $pm, $pmarr, $exp, $lc, $count3, $data)=@_; if (defined $p) { + $p=~s/\s//g; my @P; if ($p=~/all/) { while ($URL=~/((\?|\&).*?)=/g) { diff --git a/inc/theme/dialog.pl b/inc/theme/dialog.pl index 1b3d8e956..c9cde9ac2 100644 --- a/inc/theme/dialog.pl +++ b/inc/theme/dialog.pl @@ -37,7 +37,7 @@ "Dorks\(s\)", "Results saved in", "Uppss.. Cannot process scan\!", "Possible solutions:", "Target must have protocol [http[s]://] OR file does not exist!", "Given target file path is not true.", "Please change list extension to [.txt]!", "You have to set a scan for exploited targets\![sql\|lfi\|...]", "You have to set level [Ex: --level 1]\!", "Invalid option\! --ifinurl or --unique needs dork search\!", "Invalid option\! [Ex: --replace \"string => new_string\" or --replaceFROM \"string => new_string\"]", "Invalid option\! Ex: t- --port 80 [--udp | --tcp]", -"COMMND", "Invalid options\!", "Min level is 1 [--level >=1]", "Engines:[Bing:1][Google:2][Ask:3][Yandex:4][Sogou:5][Exalead:6][All:all]", +"COMMND", "Invalid options\!", "Min level is 1 [--level >=1]", "Engines:[bing][google][ask][yandex][sogou][exalead][googleapis][all]", "Tool uses default payloads & validation\! You can use your owns using args!\n Ex: --exp [payload] -v [string] or --payload [your payloads]", "Some thing wrong!", "Failed to renew identity with", "Please wait...", "POST", "is an IP [Use\!: -t --level 1 ]", "Limit defined by user reached", "Undefined", "Redirect To: ", "Proxy(s)", "Random engine just when using engine!", "Do you want to update tool?", "You have to set number of results pages. Ex: --level 2", @@ -134,10 +134,10 @@ sub confHlp { ."$c[5] $c[10] | Set proxy [EX: --proxy \"http://12.45.44.2:8080\"] \n" ."$c[5] $c[10] | Set proxy list [EX: --proxy list.txt] \n" ."$c[5] --motor| -m $c[10] | Set engine motors default bing \n" - ."$c[5] $c[10] | EX: -m [Bing: 1][Google: 2][Ask: 3][Yandex: 4][Sogou: 5][Googleapis:7][All: all]\n" - ."$c[5] --prandom$c[10] | Random proxy \n" + ."$c[5] $c[10] | EX: -m [bing][google][ask][yandex][sogou][all]\n" + ."$c[5] --prandom $c[10] | Random proxy \n" ."$c[5] $c[10] | [EX: --prandom list.txt] or --prandom \"socks://localhost:9050\"]\n" - ."$c[5] --mrandom $c[10] | Random of all disponibles engines \n" + ."$c[5] --mrandom $c[10] | Random of given engines EX: --mrandom google, ask, bing\n" ."$c[5] --brandom $c[10] | Random all disponibles agents \n" ."$c[5] --timeout $c[10] | set browser timeout (in seconds)\n" ."$c[5] --freq $c[10] | Random time frequency (in seconds) \n" @@ -353,7 +353,7 @@ sub _print_apis_alert { print $c[4]."[|] Usage: --apikey --cx [OPTIONS]\n"; print $c[4]."[|] Googleapis require an apikey and ID\n"; print $c[4]."[!] Googleapis: https://developers.google.com/custom-search/v1/overview\n"; - logoff(); + exit(); } diff --git a/inc/top.pl b/inc/top.pl index 673418a6c..01a80fce5 100644 --- a/inc/top.pl +++ b/inc/top.pl @@ -17,13 +17,6 @@ for (@deteted_files) { unlink $_ if -e $_; } -## ALL ARRAYS -our (@XSS, @LFI, @RFI, @ADFWP, @ADMIN, @SUBDOMAIN, @UPLOAD, @ZIP, @TT, @OTHERS, @AUTH, @ErrT, @DT, @DS, @cms, @SCAN_TITLE, @E_MICROSOFT, @E_ORACLE, @E_DB2, @E_ODBC, @E_POSTGRESQL, @E_SYBASE, - @E_JBOSSWEB, @E_JDBC, @E_JAVA, @E_PHP, @E_ASP, @E_LUA, @E_UNDEFINED, @E_MARIADB, @E_SHELL, @strings, @browserlangs, @googleDomains, @Ids, @MsIds, @sys, @vary, @buildArrays, @dorks, @z, @ZT, - @payloads, @exploits, @data, @proxies, @aTsearch, @aTscans, @defaultHeaders, @userHeaders, @aTtargets, @aTcopy, @ports, @motor, @motors, @systems, @mrands, @allMotors, @V_WP, @V_JOOM, @V_TP, @V_SMF, @V_VB, @V_MyBB, - @V_CF, @V_DRP, @V_PN, @V_AT, @V_PHPN, @V_MD, @V_ACM, @V_SS, @V_MX, @V_XO, @V_OSC, @V_PSH, @V_BB2, @V_MG, @V_ZC, @V_CC5, @V_OCR, @V_XSS, @V_LFI,@V_TODO, @V_AFD, @TODO, @V_VALID, @ERR, @CMS, - @validTexts, @excludes)=(); - ## SET COLORS ## Negro 0;30 Gris Obscuro 1;30 ## Azul 0;34 Azul Claro 1;34 @@ -35,7 +28,7 @@ ## Gris Claro 0;37 Blanco 1;37 my $col="\033[0;30m \033[1;30m \033[0;31m \033[0;32m \033[0;33m \033[1;33m \033[0;34m \033[0;35m \033[0;36m \033[1;36m \033[0;37m \033[1;37m \033[1;34m \033[1;31m \033[1;32m"; -our @c; +our (@c, @OTHERS, @TT); if ($^O!~/Win/) { @c=split / /, $col; } else{ $col=" ," x 13; $col.=" "; @c=split /,/, $col; } @@ -59,12 +52,9 @@ sub advise { }else{ print $c[5]."[!] $OTHERS[5]: perl ./",basename($0)," $TT[8] ./",basename($0)," $TT[9]\n"; } - logoff(); + exit(); } -## EXIT -sub logoff { deleteLists(); exit(); } - ## BANNER sub banner { require "$Bin/inc/theme/banner.pl"; }