";
print "Malware Scanner v{$version} by Malin Cenusa (malin@cenusa.me)\n\n";
print "Directory depth set to {$recurse}\n\n";
$fl = new e_file();
$tree = $fl->get_files($eroot, '\.php|\.sc|.bb|\.gif|\.js|\.htm|\.html|\.htaccess', 'standard', $recurse);
$counter_infected = 0;
$counter_cleaned = 0;
$counter_suspected = 0;
$counter_error = 0;
$counter_warning = 0;
// just in case
set_time_limit(0);
error_reporting(E_ALL);
foreach ($tree as $finfo)
{
// exclude self
if(strpos($finfo['fname'], $self) !== FALSE && realpath(__FILE__) == realpath($finfo['path'].$finfo['fname']))
{
continue;
}
if($print_all) print "{$finfo['path']}{$finfo['fname']}....CHECKING";
$tmp = file_get_contents($finfo['path'].$finfo['fname']);
preg_match('/[^.\s]*([a-z])$/i', $finfo['fname'], $match);
if(preg_match('/[^.\s]*([a-z])$/i', $finfo['fname'], $match))
{
$ext = $match[0];
unset($match);
}
///<\?(php)?/i - short tag detection problem
if('gif' == $ext && preg_match('/<\?php/i', $tmp))
{
$counter_infected++;
//$counter_error++;
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "\n";
{
print "...INFECTED (PHP open tag inside GIF image)\n";
// print("\n\ERROR: {$finfo['path']}{$finfo['fname']} will not be auto-deleted, you have to delete it manually if you think it's a threat!\n\n");
}
}
elseif('jpg' == $ext && preg_match('/<\?php/i', $tmp))
{
$counter_infected++;
//$counter_error++;
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "\n";
{
print "...INFECTED (PHP open tag inside JPG image)\n";
// print("\n\ERROR: {$finfo['path']}{$finfo['fname']} will not be auto-deleted, you have to delete it manually if you think it's a threat!\n\n");
}
}
elseif('jpeg' == $ext && preg_match('/<\?php/i', $tmp))
{
$counter_infected++;
//$counter_error++;
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "\n";
{
print "...INFECTED (PHP open tag inside JPEG image)\n";
// print("\n\ERROR: {$finfo['path']}{$finfo['fname']} will not be auto-deleted, you have to delete it manually if you think it's a threat!\n\n");
}
}
// known infection - can be auto-cleaned
elseif(preg_match('#^(.*)<\?php(.*)eval(\s*)\((\s*)base64_decode(\s*)\((\s*)(.*)(\?><\?php)*\n#i', $tmp, $matches))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...INFECTED";
$counter_infected++;
if($print_infected || $print_all) print "\n";
// $counter_error++;
//print("\n\ERROR: {$finfo['path']}{$finfo['fname']} will NOT BE CLEANED! Please use the shell version of this script.\n\n");
continue;
}
// just a guess - eval(base64_decode(... pattern match
elseif(preg_match('#eval(\s*)\((.*)base64_decode(\s*)\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED (eval/base64_decode found)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
// Found inside the compromised e107 full release (class2.php)
elseif(preg_match('/\$_COOKIE\[[\'|"]access-admin[\'|"]\]/i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all)
{
print "...INFECTED (access-admin COOKIE reference)\n";
}
// print("\nERROR: {$finfo['path']}{$finfo['fname']} can't be auto-cleaned!\n\n");
$counter_infected++;
// $counter_error++;
continue;
}
/* new patterns */
elseif(preg_match('#this.form.upload_file.disabled=false#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (this.form.upload_file.disabled=false)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#function(\s*)jspw3\(d\,m\,f\)#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (function jspw3 (d ,m ,f))";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#a(\s*)simple(\s*)Web-based(\s*)file(\s*)manager#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED SHELL (a simple Web-based file manager)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#php\_uname(\s*)\(preg_replace(\s*)\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (php_uname(preg_replace()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#function(\s*)rewrioutclbkxxx1\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (function rewrioutclbkxxx1()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#eval\(\(base64_decode\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED SHELL (eval((base64_decode()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#preg_replace\(strrev\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (preg_replace(strrev()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#s=base64_decode\(str_replace\(chr\(32\)#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (s=base64_decode(str_replace(chr(32))";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#_GET\[base64_decode\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (_GET[base64_decode()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#@error_reporting\(0\)#i', $tmp))
{
if($print_suspected) print "{$finfo['path']}{$finfo['fname']}";
if($print_suspected || $print_all) print "...SUSPECTED SHELL (error_reporting)";
$counter_suspected++;
if($print_suspected || $print_all) print "\n";
continue;
}
elseif(preg_match('#eval\(base64_decode\(<(.*)POST(.*)>php#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (eval(base64_decode(<.*POST.*>php)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#==========================+(\s*)Credit.Mutuel.ReZult(\s*)+==================#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MAILER (==========================+ Credit.Mutuel.ReZult +==================)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#X-Mailer:(\s*)The(\s*)Bat\!(\s*)\(v#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MAILER (X-Mailer: The Bat! (v)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#WordPress(\s*)Inserter(\s*)Links#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (WordPress Inserter Links)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#The(\s*)Sword(\s*)Config(\s*)Fuck(\s*)Script#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (The Sword Config Fuck Script)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#@kr(\s*)=(\s*);#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (@kr = ;)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#copyto(\s*)=(\s*)explode\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (copyto = explode()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#d.=sprintf\(\(substr\(urlencode\(print_r\(array\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (d.=sprintf((substr(urlencode(print_r(array()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#eval\(gzinflate\(base64_decode\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (eval(gzinflate(base64_decode()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#eval\(gzinflate\(str_rot13\(base64_decode\(#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (eval(gzinflate(str_rot13(base64_decode()";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Bank(\s*)of(\s*)America(\s*)\|(\s*)Home(\s*)\|(\s*)Personal#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Bank of America | Home | Personal)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Bank(\s*)of(\s*)America(\s*)\|(\s*)Online(\s*)Banking(\s*)\|(\s*)Sign(\s*)In(\s*)to(\s*)Online(\s*)Banking#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Bank of America | Online Banking | Sign In to Online Banking)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Bank(\s*)of(\s*)America(\s*)\|(\s*)Thank(\s*)you#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Bank of America | Thank you)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Wells(\s*)Fargo(\s*)Home(\s*)Page#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Wells Fargo Home Page)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Chase(\s*)Online(\s*)-(\s*)Logon#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Chase Online - Logon)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Send(\s*)Money,(\s*)Pay(\s*)Online(\s*)or(\s*)Set(\s*)Up(\s*)a(\s*)Merchant(\s*)Account(\s*)with(\s*)PayPal#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Send Money, Pay Online or Set Up a Merchant Account with PayPal)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Login(\s*)-(\s*)PayPal#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Login - PayPal)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Sign(\s*)Up(\s*)for(\s*)PayPal(\s*)-(\s*)It\'s(\s*)Free(\s*)and(\s*)Easy(\s*)to(\s*)Get(\s*)Started#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Sign Up for PayPal - It's Free and Easy to Get Started)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#My(\s*)Account(\s*)-(\s*)Telstra#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (My Account - Telstra)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#RBC(\s*)Royal(\s*)Bank(\s*)-(\s*)Sign(\s*)In(\s*)to(\s*)Online(\s*)Banking#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (RBC Royal Bank - Sign In to Online Banking)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#RBC(\s*)Financial(\s*)Group(\s*)-(\s*)Online(\s*)Banking#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (RBC Financial Group - Online Banking)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Online(\s*)Banking(\s*)Security(\s*)and(\s*)Privacy(\s*)Guide(\s*)-(\s*)RBC(\s*)Royal(\s*)Bank#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING(Online Banking Security and Privacy Guide - RBC Royal Bank)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#~(\s*)Santander(\s*)Online(\s*)Banking(\s*)~#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (~ Santander Online Banking ~)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Santander(\s*)e-Banking(\s*)?(\s*)Logon(\s*)page#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Santander e-Banking ? Logon page)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Santander(\s*)Online(\s*)Banking#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Santander Online Banking)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#eBucks(\s*)>(\s*)Home#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (eBucks > Home)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Chase(\s*)Personal(\s*)Banking(\s*)Investments(\s*)Credit(\s*)Cards(\s*)Home(\s*)Auto(\s*)Commercial(\s*)Small(\s*)Business(\s*)Insurance#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Chase Personal Banking Investments Credit Cards Home Auto Commercial Small Business Insurance)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Yahoo!(\s*)Mail:(\s*)The(\s*)best(\s*)web-based(\s*)email!#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Yahoo! Mail: The best web-based email!)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Remax(\s*)ReZulT(\s*)By#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MAILER (Remax ReZulT By)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#ErrorDocument(\s*)404(\s*)http#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED REDIRECT (ErrorDocument 404 http)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#ErrorDocument(\s*)500(\s*)http#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED REDIRECT (ErrorDocument 500 http)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#ErrorDocument(\s*)403(\s*)http#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED (ErrorDocument 403 http)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#%u0c0c%u0c0c#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED REDIRECT (%u0c0c%u0c0c)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#String.fromCharCode(32)#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED REDIRECT (String.fromCharCode\(32\))";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#HTTP_REFERER(.*)msn(.*)live#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED REDIRECT (HTTP_REFERER msn live)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#SnIpEr_SA#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED REDIRECT (SnIpEr_SA)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#php_value(\s*)auto_append_file#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (php_value auto_append_file)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#AddType(\s*)application(\s*).jpg#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (AddType application .jpg)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#AddHandler(\s*)php5-script(\s*).jpg#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MALWARE (AddHandler php5-script .jpg)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#HTTP_USER_AGENT(.*)google(.*)yahoo#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED REDIRECT (HTTP_USER_AGENT google yahoo)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#HTTP_REFERER(.*)\*search.yahoo\*#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED REDIRECT (HTTP_REFERER *search.yahoo*)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#Card(.*)number:#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED PHISHING (Card number:)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
/* elseif(preg_match('#Mass(.*)Mailer#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED MAILER (Mass Mailer)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
} */
elseif(preg_match('#<\?php\s*eval\(\"\?>\"\.base64\_decode\(\"(.*)\"\)\)\;\s*\?>#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED SHELL (base64 encoded shell)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#\;if\(aa\.indexOf\(aaa\)\=\=\=0\)#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED JS MALWARE(;if(aa.indexOf(aaa)===0))";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#function\s*re\(s\,n\,r\,b\,e\)#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED JS MALWARE (function re(s,n,r,b,e))";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#var\s*foobar\s*\=\s*unescape\;#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED (var foobar = unescape;)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#auth\_pass\s*\=\s*\"(.*)\"\;\s*eval\(\"#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED SHELL (encrypted filesman)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#<\?php\s*\@copy\(\W\_FILES\[file\]\[tmp\_name\]\,\s*\W\_FILES\[file\]\[name\]\)\;\s*exit\;\s*\?>#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED DEFACE SCRIPT (filecopy)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#<\?php\s*\/\/(.*)\_\=\s*\/\/system\s*file\s*do\s*not\s*delete\'\'\;\s*\/\/system\s*file\s*do\s*not\s*delete\s*\W\_\_\s*\=\s*\"(.*)\"\;\W\_\_\_\s*\=\s*\"(.*)\"\;eval\(\W\_\_\_\(\W\_\_\)\)\;#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED SHELL (encrypted)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#preg\_replace\(\"\/\.\+\/esi\"\,\"#i', $tmp))
{
if($print_infected) print "{$finfo['path']}{$finfo['fname']}";
if($print_infected || $print_all) print "...SUSPECTED SHELL (encrypted)";
$counter_infected++;
if($print_infected || $print_all) print "\n";
continue;
}
elseif(preg_match('#