
W skrócie: gdy ktoś przejmie stronę na WordPressie, najpierw zrób pełną kopię stanu zastanego, potem usuń obce konta, fałszywe wtyczki i szkodliwy kod, zmień wszystkie hasła i klucze, a na końcu zaktualizuj stronę. Nie przywracaj na ślepo starej kopii zapasowej, bo zwykle wraca razem z nią włamywacz. Tak odzyskaliśmy sklep internetowy, który przez prawie cztery miesiące był pod kontrolą atakującego. Właściwa naprawa zajęła nam jeden dzień.
Jak wyglądała strona, gdy do nas trafiła
Właściciel sklepu internetowego na WordPressie i WooCommerce zgłosił się, bo w panelu działy się rzeczy, których nikt w firmie nie robił. Po zrobieniu kopii i przejrzeniu strony okazało się, że atakujący był w środku od czerwca:
| Kiedy | Co się wydarzyło |
|---|---|
| czerwiec 2026 | Kilka dni po przeniesieniu strony na nowy hosting atakujący przejął konto administratora. Zaczął publikować na blogu spam o kasynach w obcych językach i schował na stronie „tylne wejścia”: fałszywe wtyczki, które same zakładały mu nowe konta administratora. |
| 7 sierpnia | Dodał skrypt, który części odwiedzających z Windows pokazywał fałszywe okno „potwierdź, że nie jesteś robotem” i namawiał do wpisania polecenia w systemie. Takie ataki służą zwykle do kradzieży haseł zapisanych na komputerze. |
| 15 sierpnia | Usunął wszystkie zdjęcia ze strony, łącznie ze zdjęciami produktów. |
| wrzesień – 3 października | Regularnie logował się do panelu z kilku kont administratora. |
| 17 października | Odzyskanie strony i usunięcie infekcji. |
Skąd się wziął, nie udało się ustalić z całą pewnością: hosting trzymał logi tylko z ostatnich 7 dni. Najbardziej prawdopodobne są dwie drogi: przejęte hasło do konta administratora albo luka w płatnych wtyczkach pobranych z nieoficjalnego źródła.
Po czym poznać, że ktoś przejął Twoją stronę
W tym przypadku sygnałów było kilka, ale żaden nie wyglądał groźnie, dopóki nie zestawiło się ich razem:
- nieznane konta administratora w zakładce Użytkownicy,
- wpisy, których nikt nie pisał, często w obcym języku i z cofniętymi datami, żeby nie rzucały się w oczy na górze listy,
- wtyczki o nazwach, których nikt nie instalował, czasem udające znane narzędzia,
- znikające zdjęcia albo treści,
- dziwne okna lub przekierowania widoczne tylko dla części odwiedzających,
- ostrzeżenie „Problemy z bezpieczeństwem” w Google Search Console albo spadek ruchu z Google.
Jeśli widzisz choć dwa z tych objawów, potraktuj stronę jak przejętą, dopóki ktoś tego nie wykluczy.
Zasada nr 1: najpierw kopia, potem sprzątanie
Zanim cokolwiek usunęliśmy, zrobiliśmy pełną kopię plików i bazy danych w stanie zastanym. Taka kopia zawiera szkodliwy kod, więc nie służy do przywracania strony. Jest potrzebna z dwóch powodów: pozwala ustalić, co dokładnie zrobił atakujący, i odzyskać pojedyncze dane, gdyby przy sprzątaniu coś zniknęło.
Nie przywracaj kopii zapasowej z panelu hostingu „sprzed włamania”, jeśli nie wiesz, kiedy włamanie się zaczęło. Tutaj atakujący był na stronie od czerwca, a kopie hostingu sięgały kilku tygodni wstecz. Każda z nich przywróciłaby wirusa, konta atakującego i spam.
Co zrobiliśmy krok po kroku
- Odzyskanie panelu: usunęliśmy 5 kont administratora należących do atakującego i założyliśmy nowe konto dla właściciela.
- Usunięcie „tylnych wejść”: 4 fałszywe wtyczki i skrypt, który atakował odwiedzających.
- Usunięcie spamu: 44 wpisy o kasynach zniknęły z bloga. 23 prawdziwe wpisy firmy zostały nienaruszone.
- Wylogowanie wszystkich: nowe klucze bezpieczeństwa WordPressa (unieważniają każdą zapamiętaną sesję) i nowe hasło do bazy danych.
- Aktualizacja: WordPress, motyw i 19 wtyczek do najnowszych wersji.
- Dodatkowe zabezpieczenia: wyłączona edycja plików z panelu i zablokowane uruchamianie programów w katalogu ze zdjęciami. To dwa ulubione miejsca, w których atakujący zostawiają kod.
- Przyspieszenie: po włączeniu pamięci podręcznej strony ładują się w ok. 0,2 s zamiast ok. 2 s.
Wszystko, co zrobiliśmy, zapisaliśmy w dzienniku prac: co i kiedy zostało zmienione oraz na czyją zgodę. Przy włamaniu to nie formalność. Właściciel musi później wiedzieć, co dokładnie się stało, choćby do zgłoszenia naruszenia danych.
Co wyszło przy okazji
Najciekawsze rzeczy znaleźliśmy poza samym włamaniem:
- Płatności online nie działały od czerwca. Serwer blokował stronie łączenie się z innymi serwisami, więc bramka płatności, integracja z firmą kurierską i katalogi produktów w Google i na Facebooku po cichu przestały działać. Od lipca wszystkie zamówienia były za pobraniem i nikt nie wiedział dlaczego. Tego nie da się naprawić w WordPressie: blokadę musi zdjąć hosting.
- Zdjęcia trzeba odzyskać z zewnątrz. Atakujący je usunął, a kopie hostingu nie sięgały tak daleko. Na szczęście w bazie została informacja, które zdjęcie należało do którego produktu. Wystarczy zdobyć same pliki: z kopii zrobionej przy przenosinach, od poprzedniego hostingu, z katalogu produktów na Facebooku albo od dostawców.
- Płatne wtyczki bez licencji. Część dodatków do kreatora stron pochodziła z serwisu z „darmowymi wersjami premium”. Takie wtyczki nie dostają poprawek bezpieczeństwa i mogą mieć ukryty kod. To jedna z najczęstszych dróg włamań na WordPressa.
Co musi zrobić właściciel strony po włamaniu
Część pracy zostaje po stronie firmy, bo dotyczy jej kont i obowiązków prawnych:
- Zgłoszenie naruszenia danych (RODO). Atakujący z uprawnieniami administratora mógł zobaczyć zamówienia, konta klientów i wiadomości z formularzy. Administrator danych ma 72 godziny na zgłoszenie naruszenia do Prezesa UODO od jego stwierdzenia. Zgłoszenie po terminie, z wyjaśnieniem opóźnienia, jest lepsze niż żadne. Często trzeba też poinformować osoby, których dane dotyczą. Tu warto skonsultować się z prawnikiem albo inspektorem ochrony danych.
- Zmiana haseł i kluczy: panel hostingu (z logowaniem dwuetapowym), konta FTP i SSH, klucze API bramki płatności i firmy kurierskiej, połączenia z Google i Facebookiem. Klucze zapisane w ustawieniach wtyczek atakujący mógł odczytać z panelu WordPressa (klucz bramki płatności pozwala np. podrobić powiadomienie o zapłacie), a panel hostingu i FTP dają pełną kontrolę nad stroną.
- Google Search Console: sprawdzić „Problemy z bezpieczeństwem”, usunąć z wyników adresy spamowych wpisów i obce osoby z listy użytkowników.
- Uprzedzenie innych: jeśli przejęte zostało konto osoby z zewnątrz (np. poprzedniego wykonawcy), ta osoba powinna zmienić hasło wszędzie, gdzie używała tego samego.
Dlaczego włamanie trwało cztery miesiące
Bo nikt nie patrzył. Strona działała, sklep przyjmował zamówienia, a spam był schowany pod cofniętymi datami. Przy stałej opiece, czyli regularnych aktualizacjach, codziennej kopii przechowywanej poza serwerem i powiadomieniu o każdym nowym koncie administratora, taka infekcja zostałaby zauważona w ciągu dni, a nie miesięcy. Wtedy zdjęcia dałoby się po prostu przywrócić z kopii.
Checklista: co zrobić, gdy strona została zhakowana
- Zrób pełną kopię plików i bazy danych w obecnym stanie i nie przywracaj jej na serwer.
- Zmień hasło do panelu hostingu i włącz logowanie dwuetapowe.
- Usuń nieznane konta administratora, nieznane wtyczki i pliki, których nie powinno być.
- Wymień klucze bezpieczeństwa WordPressa i hasło do bazy danych, żeby wylogować wszystkich.
- Zaktualizuj WordPressa, motyw i wtyczki. Wtyczki spoza oficjalnego źródła usuń albo kup do nich licencję.
- Zmień klucze API płatności, kuriera i innych integracji.
- Sprawdź Google Search Console i zgłoś do usunięcia adresy ze spamem.
- Oceń z prawnikiem, czy trzeba zgłosić naruszenie danych do UODO.
- Ustal stałą opiekę: aktualizacje, kopie poza serwerem, monitoring zmian.
Najczęstsze pytania
Czy po włamaniu wystarczy przywrócić kopię zapasową z hostingu?
Tylko wtedy, gdy na pewno wiesz, że kopia powstała przed włamaniem. Atakujący zwykle siedzą na stronie tygodniami, zanim ktoś ich zauważy, a kopie hostingu sięgają zwykle kilku dni lub tygodni wstecz. Przywrócenie złej kopii przywraca też włamywacza.
Ile trwa odzyskanie zhakowanej strony?
W tym przypadku właściwą naprawę zamknęliśmy w jednym dniu: od kopii zapasowej, przez usunięcie infekcji, po aktualizację i przyspieszenie strony. Dłużej trwają sprawy po stronie firmy: odzyskanie zdjęć, zmiana kluczy w zewnętrznych serwisach i formalności związane z RODO.
Czy włamanie na stronę trzeba zgłaszać do UODO?
Jeśli atakujący mógł zobaczyć dane osobowe, np. zamówienia, konta klientów albo wiadomości z formularzy, to zwykle tak. Na zgłoszenie jest 72 godziny od stwierdzenia naruszenia. Decyzję warto podjąć z prawnikiem albo inspektorem ochrony danych.
Jak zabezpieczyć WordPressa, żeby to się nie powtórzyło?
Aktualizacje, wtyczki tylko z oficjalnego źródła, jak najmniej kont administratora, logowanie dwuetapowe, kopie zapasowe poza serwerem i monitoring zmian. Jeśli strona głównie prezentuje firmę, warto też rozważyć stronę statyczną bez panelu i bazy danych. Taka strona nie ma panelu logowania ani wtyczek, więc odpada cała ta droga ataku. Więcej o obu wariantach piszemy na stronie Strony WWW, a jeśli Twoja strona zachowuje się podejrzanie, napisz do nas.