Wir hosten 1000s von Domänen auf mehreren Servern. Wir haben Probleme mit einer großen Menge an Malware und Phpshell. Die Verwendung vieler Scanner hatte keinen Effekt, sie zu unterdrücken. vielleicht haben wir 10/20 vage Ergebnisse von diesen Scannerngrep ganze Server für Shell-Hacks/Malware
, also ich meine eigene kleine Bash-Datei zu diesen Skripten zu finden. Es hat dieses Wochenende 148 phpshells gefunden (ich bin nicht so gut im Erstellen von .SH-Dateien).
Meine Frage Die grep langsam schrecklich ist, wird es für Tage. Wie kann ich dieses Skript effizienter machen?
array=(
"base64_decode("
"substr(md5(strrev("
"cwd = @getcwd();"
"chr((ord("
"gzinflate(base64_decode("
"php_uname()" "] = chr(ord("
"cwd[strlen($cwd)"
"ini_get('safe_mode');"
"=\"\x62\""
"\"+ r + \"&r=\" + document.referrer;\""
"if(strtoupper(substr(PHP_OS, 0, 3)) == \"WIN\")"
"window.top.location.href=\"http://"
"@ini_get(\"disable_functions\")"
"$g3='';$g3.=$r;$g3.=$h;$g3.=$y"
"hacked"
)
for value in "${array[@]}"
do
printf "\n[$value] [start => $(date +"%T")]\n"
grep -l -inr "$value" "/home/"
printf "\n[end => $(date +"%T")]\n"
done
ENDERGEBNIS
#!/bin/bash
LC_ALL=C grep -F -n -r -f /root/scanner/pattern.txt "/home/"
pattern.txt
eval($___($__));
eval(stripslashes(@$_POST[
eval(stripslashes(array_pop(
eval(base64_decode(
eval(gzinflate(str_rot13(base64_decode(
gzinflate(base64_decode(
Array(base64_decode(
sha1(base64_decode(
print(base64_decode(
wsoScandir($dir)
substr(current(array_keys(
cwd = @getcwd();
$OOO000000=urldecode(
$l___l_='base'.(32*2)
substr(md5(strrev(
cwd[strlen($cwd)
="x62
+ r + "&r=" + document.referrer;
if(strtoupper(substr(PHP_OS, 0, 3)) == "WIN")
){if(@copy(
copy("endless.html
system("wget
symlink("/","sym/root");
@copy($_FILES['file']['tmp_name']
error_reporting(0);if(
x6C\x28\x67\x7A\x69
"/.*/e","\x28\x65\x76\x61
preg_replace("/.*/e",
Windows-1251";preg_replace(
); exit(); } if(isset(
system("$cmd"); die;}
rtrim($security_code, "/");
Es könnte leistungsfähiger sein, einen vollständigen Scan einmal durchzuführen und danach geänderte Dateien zu verfolgen und nur diese zu scannen. – PeeHaa
Ja, ich will das auch. nur ich brauche das Skript vollständig zu beenden. Jetzt geht es 50% und der Prozess bleibt hängen. Was ich auch gefunden habe, war Shellshacks, die den 'Touch' Befehl verwenden, um das 'Datum geändert' Feld einer Datei zu ändern. – SinisterGlitch
Sie könnten Ihr Skript darauf beschränken, nur in Textdateien zu suchen, damit es Bilder und andere Dinge überspringt. – DanFromGermany