Strona główna  /  Bezpieczeństwo  /  Jak usunąć malware z WordPress?

Cyfrowa tarcza chroniąca sieć serwerów oraz lupa analizująca uszkodzony kod, symbolizujące proces usuwania złośliwego oprogramowania.

Jak usunąć malware z WordPress?

Usunięcie malware z WordPressa wymaga czegoś więcej niż skasowania podejrzanego pliku. Najpierw zabezpiecz komputer i dostępy, wykonaj kopię zainfekowanego stanu, a dopiero potem przeanalizuj pliki, bazę danych i źródło włamania. Samo odwirusowanie nie wystarczy, jeśli pozostawisz lukę, przejęte hasło albo backdoor.

Jak rozpoznać zainfekowanego WordPressa?

Nie każda awaria oznacza infekcję. Konflikt wtyczek, błąd PHP lub nieudana aktualizacja mogą dawać podobne objawy. Podejrzenie malware rośnie jednak, gdy pojawiają się zmiany, których nikt z zespołu nie wprowadzał.

Sprawdź, czy występują następujące sygnały:

  • przekierowania na obce domeny, fałszywe sklepy, strony hazardowe lub phishingowe
  • nieznane treści, reklamy, linki albo formularze
  • nowe konta użytkowników z rolą administratora
  • nieznane wtyczki, motywy, pliki lub zadania WP-Cron
  • ostrzeżenia przeglądarki, programu antywirusowego, hostingu albo Google
  • nagły spadek widoczności w wyszukiwarce i spamowe podstrony
  • masowa wysyłka spamu lub wyraźne spowolnienie strony

Nie usuwaj niczego w panice. Pochopne kasowanie plików może zniszczyć działającą część witryny, utrudnić ustalenie sposobu włamania i pozbawić Cię materiału potrzebnego do analizy. Większość infekcji można opanować, ale trzeba zachować kolejność działań.

Co zrobić natychmiast po wykryciu infekcji?

Najpierw ogranicz ryzyko dalszego dostępu do strony i zabezpiecz materiał do analizy. Zmiana hasła na zainfekowanym komputerze nie rozwiąże problemu, jeśli urządzenie przechwytuje nowe dane.

Przed rozpoczęciem czyszczenia wykonaj te czynności:

  • Przeskanuj komputer i inne urządzenia używane do logowania do WordPressa, hostingu, FTP, SFTP oraz poczty.
  • Jeśli urządzenie jest podejrzane, zmieniaj hasła z innego, zaufanego sprzętu.
  • Wykonaj kopię plików i bazy danych w obecnym, nawet zainfekowanym stanie.
  • Zapisz objawy, datę ich zauważenia oraz ostatnie instalacje, aktualizacje i zmiany na stronie.
  • Skontaktuj się z hostingiem i zapytaj o skan serwera, logi oraz możliwość czasowego ograniczenia dostępu.
  • Jeśli na tym samym koncie działa kilka stron, sprawdź każdą z nich.

Kopia „brudnego” stanu nie jest kopią, którą należy bezmyślnie przywrócić. Może zawierać malware, ale pozwoli odtworzyć dane, porównać pliki i wrócić do stanu sprzed błędu podczas czyszczenia.

Z bezpiecznego urządzenia zmień najważniejsze dane dostępowe. Dotyczy to kont administratorów WordPressa, panelu hostingu, FTP lub SFTP, bazy danych, poczty oraz domeny. Warto również odświeżyć klucze bezpieczeństwa w pliku wp-config.php, ponieważ unieważnia to aktywne sesje użytkowników.

Backup czy ręczne czyszczenie?

Wybór metody zależy od wieku kopii, zakresu zmian na stronie i Twojej wiedzy technicznej. Przywrócenie kopii może być szybkie, ale nie zamyka automatycznie przyczyny włamania.

Metoda Kiedy ją rozważyć? Najważniejsze ryzyko
Przywrócenie kopii zapasowej Masz kopię wykonaną przed infekcją i możesz utracić późniejsze zmiany. Backup może już zawierać malware albo starą, podatną wtyczkę.
Ręczne czyszczenie Nie masz pewnej kopii lub musisz zachować nowe wpisy, zamówienia i dane. Nieprawidłowe usunięcie kodu może uszkodzić stronę lub pozostawić backdoor.
Pomoc specjalisty Infekcja wraca, obejmuje bazę danych, kilka stron, sklep lub dane klientów. Samodzielna analiza bez doświadczenia może zwiększyć zakres szkód.

Jeżeli przywracasz backup, wybierz wersję pochodzącą z okresu poprzedzającego pierwsze objawy. Po odtworzeniu natychmiast zaktualizuj WordPressa, motyw i wtyczki, zmień hasła oraz sprawdź użytkowników. Backup przywraca stan strony, ale nie naprawia luki bezpieczeństwa.

Jak usunąć malware z WordPressa krok po kroku?

Pełne czyszczenie powinno objąć pliki, bazę danych, konta użytkowników i mechanizmy, które mogą odtworzyć infekcję. Skaner, taki jak Wordfence Security, MalCare lub Sucuri, ułatwia wykrywanie zmian, ale jego raport wymaga oceny. Legalny kod również może zostać oznaczony jako podejrzany.

Ostrzeżenie: przed edycją plików i bazy wykonaj kopię. Nie usuwaj fragmentu kodu tylko dlatego, że zawiera funkcję wyglądającą nietypowo. Najpierw porównaj go z czystą wersją WordPressa, motywu lub wtyczki. Jeśli nie potrafisz odróżnić własnych modyfikacji od malware, przerwij pracę.

  1. Ogranicz działanie strony. Jeśli witryna przekierowuje użytkowników, wyświetla phishing, pobiera szkodliwe pliki albo rozsyła spam, rozważ czasowe zamknięcie dostępu lub tryb serwisowy. Hosting może pomóc odizolować stronę i sprawdzić ruch wychodzący.
  2. Porównaj pliki rdzenia z czystą paczką. Pliki katalogów wp-admin i wp-includes oraz standardowe pliki instalacji można zwykle zastąpić wersjami pobranymi z zaufanego źródła. Nie nadpisuj bez sprawdzenia wp-config.php, katalogu wp-content ani własnych modyfikacji motywu.
  3. Sprawdź wtyczki i motywy. Usuń nieużywane, porzucone, pirackie lub pochodzące z niepewnego źródła rozszerzenia. Samo wyłączenie wtyczki nie zawsze usuwa jej pliki. Aktywny motyw i dodatki porównaj z oryginalnymi wersjami.
  4. Przejrzyj nietypowe lokalizacje plików. Zwróć uwagę na nowe lub niedawno zmodyfikowane pliki w katalogu głównym, wp-content/plugins, wp-content/themes, wp-content/mu-plugins i wp-content/uploads. Pliki PHP w katalogu przesłanych materiałów wymagają szczególnej ostrożności.
  5. Sprawdź konfigurację serwera. Przeanalizuj .htaccess, reguły przekierowań, konfigurację PHP oraz zadania cron. Podejrzane reguły mogą kierować użytkowników na obce adresy, a zadanie cron może odtwarzać usunięty kod.
  6. Przeanalizuj bazę danych. W tabeli wp_options szukaj nieznanych adresów, przekierowań i ustawień, a w wp_posts oraz tabelach treści sprawdź obce skrypty, iframe’y, linki i spamowe podstrony. Nie wykonuj masowego usuwania bez kopii i wiedzy o strukturze danych.
  7. Zweryfikuj użytkowników. Usuń nieznane konta administratorów i ogranicz role osobom, które nie potrzebują pełnych uprawnień. Sprawdź także użytkowników bazy, hostingu, FTP, SFTP i panelu domeny.
  8. Wykonaj ponowny skan. Po czyszczeniu uruchom skaner plików i bazy, sprawdź logi oraz ponownie przejrzyj zadania cron. Brak widocznych objawów nie dowodzi, że nie pozostał backdoor.

Backdoor to ukryty mechanizm dostępu pozostawiony przez atakującego. Może znajdować się w pliku, bazie danych, zadaniu cron albo nieznanym koncie. Umożliwia ponowne wejście na stronę, dlatego usunięcie jednego widocznego skryptu często nie kończy naprawy.

Jak znaleźć przyczynę infekcji?

Odwirusowanie usuwa skutek. Przyczyną może być nieaktualny WordPress, wtyczka lub motyw, przejęte hasło, zainfekowany komputer, dostęp FTP albo błędna konfiguracja serwera.

Jeśli masz dostęp do logów, porównaj czas pierwszych objawów z datami modyfikacji plików. Szukaj nietypowych żądań do plików PHP, prób logowania, wywołań panelu administracyjnego, przesyłania plików i aktywności z nieznanych adresów. Logi nie zawsze wskażą sprawcę jednoznacznie, ale mogą pokazać, czy użyto podatności aplikacji, poprawnych danych logowania lub bezpośredniego dostępu do plików.

Po ustaleniu źródła zaktualizuj WordPressa, wszystkie używane wtyczki, motyw i wspieraną wersję PHP. Usuń rozszerzenia, których nie potrzebujesz. WAF, czyli zapora aplikacyjna, może blokować część podejrzanych żądań, ale nie zastąpi aktualizacji i kontroli dostępów.

Co zrobić po usunięciu malware?

Po zakończeniu czyszczenia wykonaj drugą rotację najważniejszych haseł. Pierwsze hasła mogły zostać zmienione przed usunięciem infekcji, gdy strona lub komputer administratora nadal były przejęte.

Użyj tej listy kontrolnej:

  • zmień hasła do WordPressa, hostingu, FTP lub SFTP, bazy danych i poczty
  • włącz 2FA dla kont administracyjnych i usuń nieużywane konta
  • zaktualizuj WordPressa, wtyczki, motyw i wspieraną wersję PHP
  • usuń nieużywane oraz niewspierane rozszerzenia
  • rozważ WAF i monitorowanie zmian plików
  • sprawdź wszystkie strony działające na tym samym koncie hostingowym
  • ustaw regularne kopie plików i bazy danych oraz sprawdź, czy można je odtworzyć
  • przez kilka dni obserwuj logowania, nowych użytkowników, pliki i zadania cron

Jak zweryfikować stronę w Google Search Console?

Usunięcie malware nie kasuje od razu ostrzeżeń ani spamowych adresów z indeksu. W Google Search Console otwórz raport Problemy dotyczące bezpieczeństwa i sprawdź, czy Google nadal wykrywa malware, phishing albo zhakowane treści.

Po pełnym oczyszczeniu i zamknięciu luki wyślij z tego raportu prośbę o ponowne sprawdzenie witryny. Opisz krótko wykonane działania, na przykład usunięcie złośliwego kodu, aktualizację podatnej wtyczki i zmianę danych dostępowych.

Sprawdź także:

  • spamowe podstrony widoczne w indeksie i ich rzeczywistą obecność na serwerze
  • mapę XML, która nie powinna zawierać adresów utworzonych przez malware
  • najważniejsze adresy za pomocą narzędzia Sprawdzanie adresów URL
  • użytkowników oraz właścicieli usługi w Search Console
  • ostrzeżenia i poprawność indeksowania po ponownym skanowaniu

Trwale usunięte adresy powinny zwracać właściwy kod, zwykle 404 Not Found albo 410 Gone. Narzędzie tymczasowego usuwania adresów może przyspieszyć ukrycie pojedynczych wyników, ale nie zastępuje usunięcia treści ze strony.

Jeśli infekcja wraca, obejmuje sklep WooCommerce, kilka witryn, bazę danych lub dane klientów, nie kontynuuj przypadkowego kasowania plików. W takiej sytuacji potrzebna jest analiza środowiska, logów i kopii zapasowych przez osobę, która potrafi bezpiecznie odróżnić kod aplikacji od backdoora.


Artykuł ma charakter informacyjny. W przypadku podejrzenia wycieku danych, infekcji sklepu lub braku pewności co do wykonywanych zmian przerwij samodzielne czyszczenie i skonsultuj incydent ze specjalistą ds. bezpieczeństwa.

Redakcja wpinternals.pl

WordPressa znamy od kuchni – budujemy na nim strony, migrujemy serwisy i optymalizujemy ich wydajność. Piszemy o wtyczkach, motywach, hostingu i bezpieczeństwie tak, by poradzili sobie także początkujący. Dbamy o to, by Twoja strona była szybka, stabilna i bezpieczna.

Może Cię również zainteresować

Potrzebujesz więcej informacji?