Obsługujemy 1000 domen na wielu serwerach. Mamy problemy z ogromną ilością złośliwego oprogramowania i phpshell. Używanie wielu skanerów nie miało wpływu na ich zdejmowanie. może uzyskaliśmy 10/20 niejasnych wyników z tych skanerów:grep cały serwer dla hacków powłoki/złośliwego oprogramowania
więc tworzę własny plik basha, aby znaleźć te skrypty. Znaleźliśmy 148 phpshellów w ten weekend (nie jestem zbyt dobry w tworzeniu plików .SH).
Moje pytanie grep jest straszna powolne, to będzie działać przez kilka dni. Jak mogę uczynić ten skrypt bardziej wydajnym?
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
wynik końcowy
#!/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, "/");
Jedną z lepszych funkcji może być wykonanie pełnego skanowania raz i później, śledzenie zmienionych plików i skanowanie tylko tych plików. – PeeHaa
tak, też tego chcę. tylko potrzebuję skryptu do końca. teraz wynosi 50%, a proces utknął. znalazłem także shellhacks, które używają polecenia php "touch" do zmiany pola "data modyfikacji" pliku. – SinisterGlitch
Możesz ograniczyć swój skrypt, aby wyszukiwał tylko pliki tekstowe, więc pominie zdjęcia. – DanFromGermany