🢂Jak usunąć pliki malware z WordPressa z konsoli

Malware w WordPressie to zagrożenie, które może wpłynąć nie tylko na działanie strony, ale również narazić na szwank reputację firmy i bezpieczeństwo danych użytkowników.

W tym wpisie opiszę, jak za pomocą prostych kroków i narzędzi, możesz zidentyfikować i wyeliminować złośliwe oprogramowanie ze strony. Skupię się na praktycznych poradach dotyczących korzystania z wiersza poleceń oraz zapytań SQL, które pomogą Ci w szybkim zlokalizowaniu i neutralizacji potencjalnych zagrożeń.

Pamiętaj, że prewencja i regularne monitorowanie to klucz do ... ble ble ble. Miłej zabawy

Krok po kroku

Aby usunąć malware z WordPressa w konsoli (SSH), możesz wykonać następujące kroki. Pamiętaj, że wymaga to pewnej wiedzy technicznej i ostrożności:

  1. Zaloguj się do serwera za pomocą SSH.
  2. Zrób kopię zapasową swojej strony, używając polecenia tar dla plików i mysqldump dla bazy danych. Abo bądź twardy i niech się dzieje ...
  3. Znajdź podejrzane pliki. Użyj grep lub innych narzędzi, aby wyszukać typowe szkodliwe kody, np.:
grep -ril "base64_decode" .
  1. Skorzystaj z narzędzi do skanowania. Możesz zainstalować narzędzia linii poleceń, takie jak maldet (Linux Malware Detect) lub clamav (Clam AntiVirus), aby przeskanować i zidentyfikować pliki z malware (polcean również PHP Antimalware Scanner, Nikto, Loki czy Yara).
  2. Ręczne usuwanie. Gdy zidentyfikujesz szkodliwe pliki, możesz je usunąć lub zastąpić czystymi wersjami. Użyj rm do usuwania lub scp/sftp do wgrywania czystych wersji plików.
  3. Aktualizuj WordPressa, wtyczki i motywy. Użyj WP-CLI, narzędzia do zarządzania WordPressem z linii poleceń, aby zaktualizować wszystko do najnowszych wersji:
wp core update
wp plugin update --all
wp theme update --all
  1. Nadpisz pliki i znajdz różnice Dobrą praktyką jest również (po zrobieniu aktualizacji) nadpisanie projektu pobranymi nowymi wersjami plików (po aktualizacji). Dzięki temu zobaczysz, które z plików nie zostały napisane (inna data pliku) i dużym prawdopodobieństwem tam znajdują się malware.
# Znajdź pliki zmodyfikowane po określonej dacie w katalogu1
find katalog1 -type f -newermt "2023-01-01" > nowsze_pliki_katalog1.txt
# Znajdź pliki zmodyfikowane po tej samej dacie w katalogu2
find katalog2 -type f -newermt "2023-01-01" > nowsze_pliki_katalog2.txt
# Porównaj listy plików
diff nowsze_pliki_katalog1.txt nowsze_pliki_katalog2.txt
# Porównanie zmian między dwiema datami
git diff --name-only "@{2023-01-01}" "@{2023-02-01}"
  1. Zmień hasła i klucze bezpieczeństwa w wp-config.php.
  2. Sprawdź i oczyść bazy danych. Szukaj podejrzanych wpisów, które mogą być związane z malware. Możesz użyć polecenia:
mysql -u nazwa_użytkownika -p nazwa_bazy_danych

aby zalogować się do mysql, a aastępnie poszukaj podejrzanych wpisów za pomocą odpowiednich zapytań SQL.

Po wykonaniu tych kroków ważne jest, aby regularnie monitorować swoją stronę pod kątem znaków ponownej infekcji i utrzymywać aktualność wszystkich składników systemu zarządzania treścią.

Jedno polecenie

Aby skutecznie wyszukać pliki mogące zawierać złośliwe oprogramowanie w instalacji WordPressa, korzystając z jednego polecenia i koncentrując się na najczęściej wykorzystywanych sygnaturach malware, takich jak eval, base64_decode, gzinflate, str_rot13 czy innych, możesz użyć poniższego polecenia grep. Polecenie to skanuje rekursywnie wszystkie pliki w bieżącym katalogu (i podkatalogach), szukając wspomnianych ciągów:

grep -rilE "eval\(|base64_decode\(|gzinflate\(|str_rot13\(|exec\(|system\(|shell_exec\(|header\(|fopen\(|proc_open\(" > PlikiDoSprawdzenia.txt

Wyjaśnienie składni:

  • grep - narzędzie do wyszukiwania tekstów,
  • r lub -recursive - przeszukuje rekursywnie pliki w katalogu i podkatalogach,
  • i - ignoruje wielkość liter,
  • l - wyświetla tylko nazwy plików zawierających dopasowanie,
  • E - umożliwia używanie wyrażeń regularnych rozszerzonych, co pozwala na wyszukiwanie wielu wzorców oddzielonych znakiem |.

Pamiętaj, aby po zlokalizowaniu podejrzanych plików dokładnie sprawdzić, czy rzeczywiście zawierają one złośliwe oprogramowanie. Niektóre legalne skrypty mogą używać tych funkcji w niezłośliwy sposób.

Szukamy w bazie danych WordPressa

Aby wyszukać podejrzane wpisy w bazie danych WordPressa za pomocą zapytań SQL, skupisz się na tabelach, które najczęściej są celem ataków, takich jak wp_posts, wp_options, wp_users, i wp_comments.

Przed rozpoczęciem upewnij się, że masz dostęp do bazy danych, na przykład przez phpMyAdmin, lub możesz użyć interfejsu wiersza poleceń MySQL.

1. Wyszukiwanie złośliwego kodu w postach

SELECT ID, post_title, post_content FROM wp_posts
WHERE post_content LIKE '%base64_decode%'
OR post_content LIKE '%eval%'
OR post_content LIKE '%gzinflate%'
OR post_content LIKE '%str_rot13%'
OR post_content LIKE '%exec%'
OR post_content LIKE '%shell_exec%'
OR post_content LIKE '%passthru%'
OR post_content LIKE '%system%';

2. Wyszukiwanie podejrzanych opcji

SELECT option_name, option_value FROM wp_options
WHERE option_value LIKE '%base64_decode%'
OR option_value LIKE '%eval%'
OR option_value LIKE '%gzinflate%'
OR option_value LIKE '%str_rot13%'
OR option_value LIKE '%exec%'
OR option_value LIKE '%shell_exec%'
OR option_value LIKE '%passthru%'
OR option_value LIKE '%system%';

3. Wyszukiwanie w użytkownikach

Możesz szukać niezwykłych nazw użytkowników, zwłaszcza jeśli podejrzewasz, że atakujący mógł utworzyć konto administratora:

SELECT ID, user_login, user_email FROM wp_users
WHERE user_login LIKE '%admin%';

4. Wyszukiwanie w komentarzach

SELECT comment_ID, comment_author, comment_content FROM wp_comments
WHERE comment_content LIKE '%<script>%'
OR comment_content LIKE '%javascript:%';

Uwagi:

  • Zastąp prefix wp_ odpowiednim prefixem tabeli, jeśli korzystasz z innego niż domyślny.
  • Zapytania te są przykładowe i mogą wymagać dostosowania do specyfiki ataku, którego doświadczyła Twoja strona.
  • Uważaj na legalne użycie niektórych funkcji. Nie wszystkie znaleziska będą złośliwe.
  • Regularne kopie zapasowe i monitorowanie są kluczowe dla bezpieczeństwa Twojej witryny.

Wykonując te zapytania, będziesz w stanie zidentyfikować podejrzane wpisy w bazie danych WordPressa. Po wykryciu takich wpisów, dokładnie przeanalizuj je i podejmij odpowiednie kroki, aby usunąć złośliwy kod lub wpisy.

Znajdowanie sygnatur malvare w kodzie

detekcji malware w plikach WordPressa, poszukiwanie specyficznych sygnatur kodu może pomóc w identyfikacji zainfekowanych plików. Oto kilka przykładów takich sygnatur, które mogą wskazywać na obecność malware:

  1. eval (często używane do wykonania zaszyfrowanego lub zakodowanego złośliwego kodu):
grep -ril "eval\(" .
  1. base64_decode (używane do dekodowania zaszyfrowanego tekstu, który może być szkodliwy):
grep -ril "base64_decode" .
  1. gzinflate (używane do dekompresji danych, które mogły zostać zakodowane w celu ukrycia):
grep -ril "gzinflate" .
  1. str_rot13 (funkcja rotacji używana do ukrycia złośliwego kodu):
grep -ril "str_rot13" .
  1. exec (może być używane do wykonania zewnętrznego kodu lub programów):
    grep -ril "exec\(" .
  1. create_function (stara, niezalecana funkcja PHP używana do tworzenia funkcji anonimowych, czasami wykorzystywana przez malware):
grep -ril "create_function\(" .
  1. passthru, system, shell_exec (funkcje pozwalające na wykonanie poleceń systemowych, co może być wykorzystane przez atakujących):
grep -ril "passthru\(" .
grep -ril "system\(" .
grep -ril "shell_exec\(" .
  1. assert (może być używane do wykonania kodu PHP wewnątrz ciągów):
grep -ril "assert" .
  1. $_POST, $_GET, $_REQUEST (bezpośrednie użycie tych superglobalnych zmiennych może wskazywać na próbę zdalnego wykonania kodu):
    grep -ril "\$_POST" .
    grep -ril "\$_GET" .
    grep -ril "\$_REQUEST" .
  1. $_COOKIE (użycie tej superglobalnej zmiennej może być również metodą na wprowadzenie i wykonanie złośliwego kodu):
grep -ril "\$_COOKIE" .

Przy użyciu tych komend, możesz zlokalizować pliki, które potencjalnie zawierają złośliwy kod. Ważne jest jednak, aby pamiętać, że niektóre z tych funkcji mogą być używane w legalny sposób przez pewne wtyczki lub tematy, dlatego każdy znaleziony przypadek należy dokładnie zbadać.

Przydasie

Inne sygnatury

translation_v3
ipadview
macFFBgHack
File_Put_conTents
xsShell
awaywant