Przejdź do treści
Problemy pilne

Zhakowana strona WordPress - jak odzyskać kontrolę?

Przy włamaniu liczy się kolejność działań, nie ich liczba. Najpierw odcinasz atakującemu dostęp, potem szukasz źródła infekcji, a dopiero na końcu czyścisz to, co widać. Odwrotna kolejność kończy się tym samym włamaniem tydzień później, bo backdoor został na serwerze. Poniżej opisujemy, po czym poznać infekcję, co zrobić w pierwszych godzinach i jak wygląda pełne czyszczenie, które faktycznie zamyka sprawę.

Po czym poznać, że WordPress został zhakowany?

Większość infekcji nie wygląda dramatycznie. Strona działa, panel się otwiera, a jedyny ślad to coś, co nie pasuje: nowy użytkownik, dziwny wpis w wynikach Google, wiadomość od hostingu.

ObjawCo zwykle oznaczaGdzie sprawdzić
Przekierowania na obce witrynywstrzyknięty kod w plikach motywu lub w bazieotwórz stronę w trybie prywatnym i z telefonu
Nieznane konto administratoraatakujący zostawił sobie drugie wejścieUżytkownicy w panelu WordPress
Ostrzeżenie o niebezpiecznej witrynieGoogle wykryło złośliwy kodSearch Console, raport Problemy dotyczące bezpieczeństwa
Obce podstrony w wynikach wyszukiwaniaspam wstrzyknięty do treści lub osobne plikizapytanie site:twojadomena.pl
Wiadomość od hostingu o wysyłce spamuserwer rozsyła pocztę przez skrypt atakującegologi poczty w panelu hostingu
Nagły spadek prędkościprocesy kopiące lub masowa wysyłka w tleobciążenie serwera w panelu hostingu

Jeden objaw wystarczy, żeby traktować sprawę poważnie. Brak objawów nie dowodzi niczego, bo część infekcji celowo siedzi cicho i czeka.

Co zrobić w pierwszych godzinach?

Kolejność ma znaczenie, bo każdy krok odbiera atakującemu jedną możliwość działania.

1. Zrób kopię całości, nawet zainfekowanej. To materiał dowodowy i ostatnia deska ratunku, jeśli czyszczenie pójdzie za daleko.
2. Zmień hasła do panelu WordPress, FTP, bazy danych i konta hostingowego. Samo hasło do WordPressa nie wystarczy.
3. Wyloguj wszystkie sesje i usuń konta administratorów, których nie rozpoznajesz.
4. Włącz tryb konserwacji albo tymczasowo zablokuj dostęp, jeśli strona rozsyła spam lub przekierowuje użytkowników.
5. Sprawdź w Search Console, czy Google zdążył oznaczyć witrynę jako niebezpieczną.

Czego nie robić: nie usuwaj pierwszego pliku wskazanego przez skaner i nie przywracaj kopii sprzed tygodnia bez sprawdzenia, kiedy zaczęła się infekcja. Jedno usuwa objaw i zostawia źródło, drugie przywraca stan, który już był zainfekowany.

Jak sprawdzić, gdzie siedzi infekcja?

Złośliwy kod trafia w trzy miejsca i każde sprawdza się inaczej. Pliki rdzenia, wtyczki i motywy porównuje się z oryginałem. Baza danych wymaga przejrzenia wpisów i opcji. Zadania cykliczne bywają pomijane, a to w nich siedzi mechanizm, który odtwarza infekcję po sprzątaniu.

Pliki rdzenia najszybciej zweryfikujesz sumami kontrolnymi. Przy dostępie do WP-CLI polecenie `wp core verify-checksums` pokaże każdy plik różniący się od oficjalnej wersji, a `wp plugin verify-checksums --all` zrobi to samo dla wtyczek z repozytorium WordPressa.

W bazie szukaj wpisów z zakodowanym kodem, obcych adresów w opcjach oraz użytkowników utworzonych w dniu, w którym pojawiły się objawy. Sprawdź też listę zadań cron - wpis uruchamiający nieznany skrypt co kilka godzin to typowy mechanizm odtwarzania infekcji.

Automatyczny skaner znajduje to, co zna. Backdoor napisany pod konkretną witrynę zwykle przechodzi przez skanery bez alarmu i wraca po tygodniu.
Krzysztof Czapnik, KC Mobile

Dlaczego akurat ta strona? Cztery drogi wejścia

Włamania na WordPressa rzadko są wymierzone w konkretną firmę. To skanowanie masowe, które szuka witryn z konkretną, znaną luką.

Nieaktualne wtyczki i motywy. Publikacja poprawki bezpieczeństwa jest jednocześnie instrukcją dla atakujących, gdzie szukać. Witryny, które nie aktualizują się tygodniami, są celem pierwszym.

Słabe i powtarzane hasła. Automat testuje tysiące kombinacji, a to samo hasło do panelu, FTP i poczty oznacza, że jedno wycieknięcie otwiera wszystko.

Współdzielony hosting bez izolacji kont. Według tego, co widzimy w zgłoszeniach, najwięcej infekcji dotyczy witryn na hostingu za 20 zł miesięcznie, gdzie jedna zainfekowana strona potrafi pociągnąć sąsiednie na tym samym serwerze.

Motywy i wtyczki z nieoficjalnych źródeł. Wersja premium pobrana za darmo bywa premium razem z backdoorem, a jego usunięcie wymaga wymiany całego pakietu.

Jak wygląda pełne czyszczenie?

Kolejność jest zawsze ta sama, bo pomijanie etapów kończy się nawrotem.

Analiza i izolacja

Pełny skan plików i bazy, ustalenie momentu i drogi wejścia, zabezpieczenie witryny przed dalszymi zmianami. Bez ustalenia źródła reszta pracy jest sprzątaniem po objawach.

Usunięcie kodu i przywrócenie oryginałów

Ręczne czyszczenie plików PHP i JavaScript, wpisów w bazie oraz zadań cron. Pliki rdzenia, wtyczek i motywów wymieniamy na oryginalne wersje zamiast łatać zainfekowane.

Zamknięcie drogi wejścia

Wymiana wszystkich haseł i kluczy, usunięcie nieużywanych wtyczek, aktualizacja WordPressa, konfiguracja firewalla i kopii zapasowych. Ten etap decyduje, czy za miesiąc wrócimy do tego samego problemu.

Sprzątanie po stronie Google

Usunięcie spamu z indeksu i wniosek o ponowne rozpatrzenie, jeśli witryna dostała ostrzeżenie.

Ile kosztuje naprawa i jak długo trwa?

Cena zależy od skali infekcji i wielkości witryny, nie od liczby usuniętych plików.

PrzypadekOrientacyjny kosztCzas
Strona firmowa, pojedyncze przekierowanie500-1000 złdo 24 godzin
Strona z wieloma zainfekowanymi wtyczkami1000-1500 zł24-48 godzin
Sklep WooCommerce z tysiącami produktów1500-3000 zł48 godzin i więcej

Według naszego cennika proste czyszczenie mieści się w przedziale 500-1000 zł. Dane z naszych zleceń pokazują, że zainfekowany sklep WooCommerce to zwykle 1500-3000 zł, bo dochodzi weryfikacja zamówień i integracji płatności.

Wycenę podajemy przed rozpoczęciem prac, a pierwsza konsultacja odbywa się w ciągu dwóch godzin od zgłoszenia, także w weekend. Po naprawie przez 30 dni obserwujemy witrynę, żeby wychwycić nawrót.

Jak odzyskać pozycje w Google po infekcji?

Ostrzeżenie o niebezpiecznej witrynie działa natychmiast i kosztuje więcej niż sama infekcja. Użytkownik Chrome widzi czerwony ekran, zanim zobaczy stronę.

Po wyczyszczeniu witryny wchodzisz w Search Console do raportu Problemy dotyczące bezpieczeństwa i składasz wniosek o ponowne rozpatrzenie. We wniosku trzeba opisać, co było przyczyną i co zostało zrobione. Ogólnikowy opis wydłuża procedurę.

Zdjęcie ostrzeżenia trwa zwykle od jednego do trzech dni od zaakceptowania wniosku. Pozycje wracają wolniej, bo w międzyczasie część podstron mogła wypaść z indeksu. Jeśli infekcja wstrzyknęła setki spamerskich adresów, trzeba je dodatkowo usunąć z indeksu.

Przez kilka tygodni po naprawie warto obserwować w Search Console raport Indeksowanie stron. Jeśli w wynikach nadal pojawiają się obce adresy, znaczy to, że gdzieś został mechanizm, który je generuje, i trzeba wrócić do plików oraz zadań cron.

Jak nie dać się zhakować drugi raz?

Zabezpieczenie po naprawie kosztuje ułamek tego, co druga naprawa.

  • Aktualizacje wtyczek i rdzenia w rytmie tygodniowym, nie wtedy, gdy coś przestanie działać
  • Kopie zapasowe na zewnętrzny serwer, z odtworzeniem sprawdzonym choć raz
  • Dwuskładnikowe logowanie do panelu i unikalne hasła do każdej usługi
  • Usunięcie wtyczek nieużywanych oraz tych bez aktualizacji od ponad roku
  • Hosting z izolacją kont, żeby sąsiednia witryna nie była Twoim problemem

Prowadzimy to jako stałą opiekę nad stroną WordPress - aktualizacje, kopie zapasowe i monitoring w jednym pakiecie. Jeśli podejrzewasz włamanie już teraz, napisz przez formularz na stronie kontakt i opisz objawy, a odezwiemy się w ciągu dwóch godzin.

Korzyści

  • Reakcja w 24 godziny - każda godzina z zhakowaną stroną to utraceni klienci
  • Pełne czyszczenie - szukamy ukrytych backdoorów, nie tylko widocznych objawów
  • Przywrócenie pozycji w Google - pomagamy zdjąć ostrzeżenie i posprzątać indeks
  • Monitoring przez 30 dni po naprawie, żeby wychwycić nawrót infekcji

Najczęściej zadawane pytania

Ile kosztuje naprawa zhakowanej strony WordPress?
Proste przypadki to 500-1000 zł, bardziej skomplikowane, na przykład zainfekowany sklep WooCommerce, kosztują 1500-3000 zł. Wycenę podajemy przed rozpoczęciem prac, po obejrzeniu skali infekcji.
Czy stracę dane ze strony?
W większości przypadków udaje się zachować wszystko. Z kopią zapasową, nawet sprzed tygodnia, przywrócenie witryny jest proste. Bez kopii część danych może być nie do odzyskania, dlatego pierwszym krokiem jest zrobienie kopii stanu bieżącego, nawet zainfekowanego.
Jak długo trwa naprawa zhakowanej strony?
Typowo od 24 do 48 godzin. Strona firmowa z jednym przekierowaniem bywa gotowa tego samego dnia, sklep z tysiącami produktów wymaga więcej czasu, bo trzeba zweryfikować zamówienia i integracje płatności.
Czy włamanie może się powtórzyć?
Bez zamknięcia drogi wejścia tak, i zwykle dzieje się to w ciągu kilku tygodni. Dlatego w cenie naprawy wymieniamy hasła i klucze, usuwamy nieużywane wtyczki i konfigurujemy kopie zapasowe, a przez 30 dni obserwujemy witrynę.
Czy moja strona zostanie usunięta z Google?
Jeśli Google wykryje złośliwy kod, witryna może zostać oznaczona ostrzeżeniem, a część podstron wypaść z indeksu. Po wyczyszczeniu składa się wniosek o ponowne rozpatrzenie; zdjęcie ostrzeżenia zajmuje zwykle od jednego do trzech dni.
Czy wystarczy przywrócić kopię zapasową sprzed włamania?
Tylko wtedy, gdy wiadomo, kiedy zaczęła się infekcja, i gdy luka, przez którą weszła, jest już załatana. Przywrócenie kopii bez tych dwóch warunków odtwarza stan, który za chwilę zostanie zainfekowany ponownie tą samą drogą.
Bezpłatna wycena