Usuwasz zainfekowany plik, a po kilku minutach pojawia się z powrotem. Badacz Sucuri, Gabriel Barbosa, opisał 1 października 2026 backdoor nazwany „SC", który zachowuje się dokładnie tak. Znalazł go podczas reakcji na incydent we wrześniu. Według Sucuri to „system cykliczny, w którym nie ma jednego punktu, którego usunięcie zatrzymuje infekcję". Poniżej wyjaśniamy, jak to działa i jak je czyścić.
Gdzie się ukrywa
Sucuri mówi o ośmiu miejscach trwałości. Źródła, które czytaliśmy, wymieniają siedem z nich:
- Plik
.user.ini, który automatycznie ładuje loader PHP. - Ukryte pliki PHP rozsiane po
wp-content. - Zakodowany ładunek w bazie danych. Według relacji pełna kopia leży w wierszu tabeli opcji WordPressa pod losową nazwą.
- Kod wstrzyknięty do pliku
functions.phpmotywu. - Złośliwe wtyczki typu must-use (
mu-plugins). Uruchamiają się przy każdym wejściu na stronę i nie ma ich na zwykłej liście wtyczek. - Złośliwe zwykłe wtyczki.
- Segmenty pamięci współdzielonej serwera, na serwerach, które to obsługują.
Dlaczego zwykłe czyszczenie nie działa
Każdy element odtwarza pozostałe. Gdy usuniesz wtyczkę, odtworzy ją plik drop-in. Gdy usuniesz drop-in, odtworzy go motyw, i tak w kółko. Kopia w bazie danych odtworzy pliki po ich skasowaniu, a kopia w pamięci współdzielonej przetrwa nawet czyszczenie plików i bazy. Według jednej z relacji na hostingu współdzielonym taki segment pamięci może należeć do innego konta, więc dostawca hostingu musi go wyczyścić.
Jedno zastrzeżenie: Sucuri nie ustaliło, jak strony zostały zainfekowane na początku. Typowe wejścia to podatne wtyczki i motywy, słabe hasła administratora, przejęty dostawca lub niebezpieczne wgrywanie plików. Pamięć współdzielona pojawia się w relacjach z jednego przypadku, więc nie zakładaj, że każda infekcja WordPressa tak działa.
Jak to czyścić
Sucuri nie opublikowało gotowej kolejności kroków. Zalecenie jest takie: pełna analiza (pliki, baza, kod motywu, wtyczki, pamięć serwera) i usunięcie wszystkich punktów trwałości jednocześnie, a nie po jednym. W praktyce oznacza to:
- Zrób kopię całej strony i bazy do analizy. Zachowaj logi serwera.
- Wyłącz stronę na czas czyszczenia (tryb konserwacji albo blokada na poziomie serwera), żeby nic nie odtwarzało plików w trakcie.
- Porównaj pliki z czystą instalacją. Zainstaluj ponownie rdzeń WordPressa, motyw i wtyczki z oficjalnych źródeł. Sprawdź
.user.ini,mu-plugins,functions.phpi nieznane pliki PHP wwp-content. - Przejrzyj bazę danych: tabelę
wp_optionspod kątem długich, zakodowanych wartości o losowych nazwach. Sprawdź też zadania cron. - Wyczyść pamięć podręczną opcode (OPcache) i poproś hosting o sprawdzenie i wyczyszczenie segmentów pamięci współdzielonej.
- Zmień wszystkie hasła i klucze: administratorzy WordPressa, baza danych, FTP/SSH, klucze w
wp-config.php. - Znajdź wejście. Bez tego infekcja wróci. Sprawdź, które wtyczki i motywy były podatne, np. Bricksforge (CVE-2026-85097). Zaktualizuj też PHP, jeśli serwer jest podatny na luki PHP2Shell.
Jeśli to nie jest Twoja specjalność, oddaj sprawę firmie od reagowania na incydenty. Czyszczenie „po kawałku" to najczęstszy powód, dla którego malware wraca.
Jak to zauważyć wcześniej
Najczęstszy znak to plik, który wraca po usunięciu. Warto też regularnie sprawdzać, czy w wp-content/mu-plugins i w katalogu głównym nie pojawiły się pliki, których nie dodawałeś, oraz czy motyw nie zmienił się bez Twojej wiedzy. Więcej o objawach: Jak wykryć malware na stronie WordPress.
Wykryj problem, zanim wykryje go Google
MonitorWWW.com sprawdza dostępność, SSL i znane podatności, a przy zmianach na stronie wysyła alert e-mail, SMS lub Telegram. Sprawdź stronę darmowym skanerem albo załóż konto.
Załóż darmowe konto