Dlaczego wirus wraca po odwirusowaniu?
Strona wyczyszczona — i znowu zainfekowana. Dlaczego?
To jeden z najczęstszych scenariuszy z jakimi się spotykamy: właściciel strony samodzielnie usuwa pliki z wirusem, strona działa poprawnie przez kilka dni, a potem historia się powtarza. Infekcja wraca — czasem szybciej niż poprzednio.
To nie jest pech ani szczególnie agresywny haker. To efekt niekompletnego oczyszczenia. Poniżej wyjaśniamy pięć głównych powodów, dla których wirus wraca.
Powód 1 — Backdoor nadal jest na serwerze
Backdoor (tylne wejście) to plik lub fragment kodu, który hakerzy instalują równolegle do głównego wirusa. Jego jedynym celem jest umożliwienie powrotu — nawet jeśli właściciel strony usunie wszystko inne.
Backdoory są celowo ukrywane w nieoczywistych miejscach:
- W katalogach cache (
/wp-content/cache/)
- W plikach sesji PHP (
/tmp/sess_*)
- W katalogach przesłanych plików (
/wp-content/uploads/) jako pliki .php
- Wstrzyknięte w środek legalnych plików WordPressa pod oryginalną funkcją
Skaner antywirusowy oparty na sygnaturach często ich nie wykrywa, bo są zaciemnione lub używają niestandardowych technik kodowania.
Powód 2 — Luka, przez którą wszedł atak, nadal istnieje
Usunięcie złośliwego kodu nie usuwa przyczyny infekcji. Jeśli atak nastąpił przez:
- Przestarzałą wtyczkę z publicznie znana luką — i ta wtyczka nadal jest w tej samej wersji
- Słabe hasło FTP lub admina — i hasło nie zostało zmienione
- Exploit w motywie premium — i motyw nie został zaktualizowany
...to bot znajdzie tę samą lukę i wróci. Zautomatyzowane skanery ataków stale przeszukują internet i mogą znaleźć tę samą stronę ponownie w ciągu godzin.
Powód 3 — Zainfekowana kopia zapasowa
Jeśli przywróciłeś stronę z kopii zapasowej po czyszczeniu, a kopia była zrobiona po momencie infekcji (lub jeszcze gorzej — kopia automatyczna nadpisała czystą wersję zainfekowaną) — wirus wrócił razem z nią.
Zawsze sprawdzaj datę kopii zapasowej i porównuj ją z datą pierwszej zaobserwowanej infekcji. Kopia sprzed ataku jest bezpieczna; kopia zrobiona podczas aktywnej infekcji przenosi malware.
Powód 4 — Zainfekowana baza danych
Wielu właścicieli stron skupia się na plikach i pomija bazę danych. Tymczasem złośliwy kod może żyć w tabelach wp_options, wp_posts lub wp_usermeta. Przy każdym wczytaniu strony PHP odczytuje te dane i wykonuje zawarty w nich kod.
Objaw: strona wygląda czysto po FTP, ale nadal przekierowuje lub wyświetla spam. Przyczyną jest infekcja w bazie, której pliki nie dotykają.
Powód 5 — Brak hardeningu po czyszczeniu
Nawet jeśli usunięto wszystkie ślady infekcji i zaktualizowano oprogramowanie, bez hardeningu strona jest tylko trochę trudniejszym celem — nie prawdziwie zabezpieczonym.
Hardening to zestaw działań, które aktywnie utrudniają kolejny atak:
- Blokada dostępu do
xmlrpc.php i wp-json jeśli nie są używane
- Ograniczenie uprawnień do plików (chmod 644/755)
- Wdrożenie 2FA na koncie admina
- Konfiguracja nagłówków bezpieczeństwa HTTP
- Monitoring integralności plików z alertingiem
Bez tych kroków kolejny bot znajdzie stronę i spróbuje ponownie — to tylko kwestia czasu.
Co zrobić, żeby wirus nie wrócił?
Skuteczne oczyszczenie strony to dwuetapowy proces:
- Głębokie czyszczenie — usunięcie nie tylko objawów, ale też wszystkich backdoorów i złośliwego kodu z bazy danych
- Hardening — zamknięcie luki przez którą wszedł atak i aktywne zabezpieczenie przed kolejnym
Jeśli po odwirusowaniu strony wirus wrócił — skontaktuj się z nami i sprawdź usługę profesjonalnego usuwania wirusów ze strony. Diagnoza jest bezpłatna, a kompleksowe czyszczenie z hardeningiem dajemy z 30-dniową gwarancją zwrotu wirusów. Po oczyszczeniu wdrażamy także zabezpieczenie strony po włamaniu, żeby zamknąć drogę do kolejnej infekcji.