Twój partner w Marketingu i IT
Menu

Usuwanie wirusów ze strony · WordPress · WooCommerce

Strona zainfekowana? Czyścimy, zamykamy lukę i dajemy raport.

Podmieniona strona główna, przekierowania na obce serwisy, ostrzeżenie w Google, zablokowane konto u hostingodawcy. Usuwamy złośliwy kod z plików i z bazy danych, przywracamy rdzeń WordPressa z sum kontrolnych, zamykamy wejście, przez które weszli — i przekazujemy raport z listą każdego znalezionego pliku.

już od 690 zł netto (159 €)
zgłoszenia infekcji priorytetowo skan po zawartości plików raport z prac na piśmie
Po czym poznasz, że masz infekcję

Objawy, których nie da się przeczekać

Złośliwy kod na stronie nie leży bezczynnie — pracuje na koszt Twojej domeny. Jeśli rozpoznajesz choć jeden z poniższych objawów, liczy się każda godzina.

Google ostrzega przed stroną

W wynikach pojawia się „Ta witryna może być zhakowana", a przeglądarka wyświetla czerwony ekran ostrzeżenia. Ruch spada niemal do zera w ciągu godzin.

Hosting zablokował konto

Automat hostingodawcy wykrył złośliwą treść i wyłączył stronę. Bez wyczyszczenia serwera i zgłoszenia z wykazem prac nie zdejmie blokady.

Podmieniona strona główna

Zamiast Twojej oferty ładuje się obca strona — najczęściej hazard, apteka albo kryptowaluty, zwykle w obcym języku.

Obce wyniki w wyszukiwarce

Dla Twojej domeny Google pokazuje podstrony z japońskimi lub chińskimi znakami i linkami do sklepów, których nie prowadzisz.

Konta administratora, których nie tworzyłeś

Na liście użytkowników pojawiają się obce konta — albo, co gorsza, konta istnieją w bazie, ale są przed Tobą ukryte.

Przekierowania tylko na telefonie

Na komputerze strona wygląda normalnie, ale wejście z telefonu albo z wyników Google przerzuca użytkownika na obcą domenę.

Uwaga na pozorny spokój. Najczęstszy scenariusz, jaki widzimy: infekcja siedzi na serwerze kilka dni i nic nie zdradza jej obecności, aż do momentu, w którym atakujący podmienia stronę główną albo hosting blokuje konto. Jeśli w logach albo na liście plików widzisz coś, czego nie umiesz wyjaśnić — lepiej sprawdzić od razu, niż tłumaczyć klientom, dlaczego ich dane trafiły w obce ręce.

Jak dochodzi do infekcji

To nie pech — to jedna nieaktualna wtyczka

Ataki na WordPressa są zautomatyzowane. Boty non stop skanują internet w poszukiwaniu znanych podatności i nie interesuje ich, czy prowadzisz sklep za milion, czy stronę wizytówkę. Schemat jest niemal zawsze ten sam.

Krok 1 · wejście

Luka we wtyczce lub motywie

Najczęściej podatność pozwalająca wgrać plik przez formularz albo wykonać kod bez logowania. Nikt nie musi znać Twojego hasła — wystarczy komponent, którego nikt nie aktualizował od kilku miesięcy.

Krok 2 · przyczółek

Webshell

Wgrany plik PHP, który daje atakującemu menedżer plików i konsolę systemową wprost w przeglądarce. Bywa ukryty pod nazwą przypominającą plik WordPressa albo pod rozszerzeniem graficznym — w jednym z naszych przypadków webshell udawał plik .png w katalogu popularnej wtyczki.

Krok 3 · utrwalenie

Backdoory i ukryte konta

Konta administratora ukryte przed listą użytkowników, pliki w katalogu mu-plugins ładowane automatycznie przez WordPressa, keylogger przechwytujący hasło przy logowaniu, wpisy w bazie danych. Wszystko po to, żeby wrócić po Twoim „posprzątaniu".

Dlatego usunięcie jednego podejrzanego pliku niczego nie kończy. Oto realna chronologia z naszych prac — od pierwszego webshella do blokady konta minęły niecałe trzy dni: ① luka we wtyczce do wysyłania plików → ② webshelle w katalogu uploads → ③ nowe konto administratora → ④ cztery pliki w mu-plugins (w tym keylogger hasła admina i trzy ukrywające fałszywe konta) → ⑤ podmieniona strona główna → ⑥ automatyczna blokada konta przez hostingodawcę. Czyszczenie musi objąć wszystkie warstwy naraz — pliki, rdzeń, katalog mu-plugins, bazę danych i konta. Inaczej infekcja wraca w ciągu kilku godzin, tą samą drogą.

Zakres prac

Co dokładnie robimy

Kompletne czyszczenie od backupu po skan kontrolny. Nie odhaczamy „przeskanowano wtyczką" — przechodzimy każdą warstwę, w której infekcja potrafi się schować.

Backup przed czyszczeniem

Pełna kopia plików i bazy, zanim cokolwiek ruszymy. Zawsze jest do czego wrócić.

Analiza logów serwera

Ustalamy, kiedy i przez co weszli. Bez tego zamykasz drzwi, zostawiając otwarte okno.

Skan po zawartości plików

Szukamy sygnatur złośliwego kodu, nie tylko świeżych dat modyfikacji — także w plikach .png, .jpg, .ico, .css i .js.

Przywrócenie rdzenia WordPressa

Czyste pliki z wordpress.org i weryfikacja sum kontrolnych, bez dotykania wp-config.php i katalogu uploads.

Katalog mu-plugins i wtyczki

Usuwamy pliki ładowane automatycznie, podrobione wtyczki i pozostałości po komponentach, których już nie ma.

Czyszczenie bazy danych

Fałszywe konta admina, wstrzyknięcia w treściach, wpisy po złośliwych wtyczkach, osierocone zadania cron.

Rotacja haseł i kluczy

Nowe hasła, nowe klucze salt, unieważnienie wszystkich sesji. Wykradzione hasło przestaje działać.

Zamknięcie wektora wejścia

Aktualizacja lub usunięcie podatnego komponentu, blokada wykonywania PHP w uploads, blokada xmlrpc.php.

Dane dostępowe poza webroot

Hasła do bazy i klucze przenosimy poza katalog publiczny, żeby wyciek jednego pliku nie oddawał całej instalacji.

Raport i skan kontrolny

Dokument z listą znalezionych plików i wykonanych działań oraz powtórny audyt po kilku dniach.

Jak pracujemy

Pięć kroków do czystego serwera

Kolejność nie jest przypadkowa. Najpierw zabezpieczamy stan obecny, potem szukamy przyczyny, a dopiero na końcu sprzątamy — bo czyszczenie bez znalezienia wejścia to praca na jeden dzień.

1

Zgłoszenie i dostępy

Bierzemy dostęp SSH lub FTP oraz do panelu. Robimy pełny backup i wstępne rozpoznanie skali infekcji.

2

Analiza wektora

Logi serwera i daty plików. Ustalamy, przez co i kiedy weszli oraz co zdążyli zrobić na serwerze.

3

Czyszczenie

Pliki, rdzeń, mu-plugins, baza danych, konta. Skanujemy po zawartości, aż kolejne przejście nie zwraca nic.

4

Zabezpieczenie

Zamknięcie luki, rotacja haseł i kluczy salt, blokady wykonywania PHP i xmlrpc, dane wrażliwe poza webrootem.

5

Raport i skan kontrolny

Dokumentacja prac plus powtórny audyt po kilku dniach, żeby potwierdzić, że nic nie wróciło.

Po każdym etapie dostajesz informację, co zostało zrobione i co wyszło — nie musisz pytać, na czym stoimy.

Z naszych prac

Portal branżowy z WooCommerce — od blokady hostingu do czystego serwera

Zgłoszenie przyszło już po fakcie: hostingodawca zablokował konto, bo na serwerze wykryto złośliwą treść. Poniżej realna chronologia — najpierw ataku, potem prac naprawczych.

1
luka we wtyczce do wysyłania plików — cały wektor wejścia
20+
złośliwych plików usuniętych: webshelle, backdoory, keylogger
207
wpisów w bazie danych po podrobionej wtyczce cache
0
znalezisk w audycie kontrolnym po zakończeniu prac

Chronologia

Dzień 1
Przez znaną lukę we wtyczce do wysyłania plików atakujący wgrywa pierwszy webshell. Strona działa normalnie, nic nie zdradza obecności intruza.
Dzień 3
Przez webshell powstaje konto administratora i cztery pliki w katalogu mu-plugins: keylogger przechwytujący hasło admina przy logowaniu oraz trzy pliki ukrywające fałszywe konta przed listą użytkowników. Nazwy podszywały się pod znane wtyczki cache i bezpieczeństwa.
Dzień 3, 23:27
Podmiana strony głównej — 324 KB obcej strony hazardowej, razem z kodem weryfikacji Google Search Console (próba przejęcia domeny w narzędziach Google). Automat hostingodawcy wykrywa treść i blokuje konto.
Naprawa, etap 1
Backup 1,7 GB plików i bazy. Skan po zawartości plików ujawnia webshelle nie tylko w uploads, ale też w wp-admin, wp-includes, upgrade i languages. Rdzeń WordPressa przywrócony z czystej kopii, konta i wpisy w bazie wyczyszczone, hasła i klucze salt wymienione.
Naprawa, etap 2
Znaleziska, które przeszłyby przez zwykły skan „po plikach PHP": webshell udający plik graficzny .png w katalogu popularnej wtyczki, pełne narzędzie do zarządzania bazą ukryte pod nazwą wp-polyfill-fetch.min.php oraz dwa webshelle w katalogu, którego w WordPressie w ogóle nie ma.
Zabezpieczenie
Zamknięcie wektora wejścia, blokada wykonywania PHP w uploads, blokada xmlrpc, dane dostępowe do bazy i klucze przeniesione poza katalog publiczny, weryfikacja wszystkich plików .htaccess.
Audyt kontrolny
Powtórny skan po pracach: brak nowych plików, brak obcych kont administratora, brak sygnatur ataku w bazie, brak osieroconych zadań cron. Wynik przekazany klientowi na piśmie.

Nazwa klienta i domena — do udostępnienia po jego zgodzie. Liczby i przebieg pochodzą z rzeczywistych raportów z tych prac.

Skutki uboczne infekcji

Ostrzeżenie w Google i blokada hostingu — też to załatwiamy

Wyczyszczenie serwera to połowa roboty. Druga połowa to odkręcenie tego, co infekcja zrobiła z widocznością Twojej domeny i z relacją z hostingodawcą.

Search Console i przejęcie domeny

Sprawdzamy zgłoszenia bezpieczeństwa oraz — co często umyka — czy atakujący nie dodał własnej weryfikacji Twojej domeny w narzędziach Google. Taki kod znaleźliśmy w realnym przypadku, w podmienionej stronie głównej. Nieautoryzowany dostęp usuwamy.

Wniosek o ponowną weryfikację

Po wyczyszczeniu składamy w Search Console zgłoszenie do sprawdzenia. Ostrzeżenie „Ta witryna może być zhakowana" i czerwony ekran w przeglądarce znikają zwykle w ciągu kilku dni od zatwierdzenia.

Obce podstrony w indeksie

Sprawdzamy, ile wstrzykniętych adresów Google zdążył zaindeksować (m.in. typowy japoński spam SEO) i wnioskujemy o ponowne zindeksowanie czystych wersji, żeby obce treści wypadły z wyników.

Odblokowanie konta u hostingodawcy

Przygotowujemy zgłoszenie z wykazem usuniętych plików i wdrożonych zabezpieczeń — hostingodawcy zdejmują blokadę właśnie na podstawie takiego opisu, nie samego zapewnienia, że „już jest dobrze".

Dlaczego liczy się czas: dopóki strona jest zainfekowana, wyszukiwarka indeksuje kolejne obce podstrony, a hostingodawca zbiera kolejne zgłoszenia. Każdy dzień zwłoki to więcej adresów do wyczyszczenia z indeksu i dłuższy powrót do dawnych pozycji. Samo czyszczenie serwera trwa tyle samo w poniedziałek i w piątek — różnica jest w tym, co zostaje po infekcji w Google.

Cennik

Jasna kwota, zanim zaczniemy

Cenę podajemy po krótkim rozpoznaniu, a nie w trakcie prac. Jeśli infekcja okaże się rozległa — powiemy to od razu, razem z konkretną kwotą, zamiast dobijać ją po fakcie.

Audyt powłamaniowy + zabezpieczenie

Sklep, portal z danymi użytkowników albo powtórna infekcja.

od 1 290 zł netto≈ 299 € · rozliczenie jednorazowe

  • Wszystko z usunięcia infekcji
  • Analiza logów i chronologia ataku
  • Weryfikacja bazy pod sygnatury ataku
  • Zamknięcie wektora i blokady na serwerze
  • Dane dostępowe poza katalogiem publicznym
  • Skan kontrolny po kilku dniach + dokument audytu
Poproś o wycenę

Opieka i monitoring

Dla tych, którzy nie chcą przechodzić tego drugi raz.

Wycena indywidualnaabonament miesięczny

  • Aktualizacje rdzenia, wtyczek i motywu
  • Kopie zapasowe z testem odtworzenia
  • Okresowe skany powłamaniowe
  • Monitoring dostępności strony
  • Reakcja na awarie bez kolejki
Zapytaj o opiekę

Nie wiesz, który wariant Cię dotyczy? Napisz, co widzisz na stronie i czy hostingodawca już zablokował konto. Po krótkim rozpoznaniu — zwykle w ciągu kilku godzin roboczych — podajemy konkretną cenę i termin.

FAQ

Usuwanie wirusów ze strony — częste pytania

Standardowe wyczyszczenie jednej strony to zwykle 24–48 godzin od momentu, w którym mamy dostępy. Rozległa infekcja — wiele stron na jednym koncie, backdoory w bazie danych, powtórne włamanie — może zająć kilka dni. Realny termin podajemy po pierwszym rozpoznaniu, a nie „na oko" przy zgłoszeniu.

Nie. Prace zaczynamy od pełnego backupu plików i bazy danych, a rdzeń WordPressa przywracamy bez nadpisywania wp-config.php i katalogu uploads. Treści, zamówienia, konta klientów i media zostają na miejscu. Usuwamy wyłącznie to, co nie należy do Twojej instalacji.

Wtyczka wykrywa część znanych plików i bardzo pomaga zapobiegawczo, ale po włamaniu zwykle nie wystarcza. Webshell podszywający się pod plik graficzny, backdoor w katalogu mu-plugins, wstrzyknięcie w bazie danych czy narzędzie do zarządzania bazą ukryte pod nazwą pliku WordPressa — takie rzeczy przechodzą przez standardowy skan. Dlatego skanujemy po zawartości plików i weryfikujemy rdzeń sumami kontrolnymi.

Infekcja wraca w dwóch sytuacjach: gdy nie zamknięto wejścia, przez które weszli, albo gdy została jedna furtka. Dlatego czyszczenie zawsze kończymy zabezpieczeniem serwera i skanem kontrolnym po kilku dniach. Jeśli po naszych pracach infekcja wróci tą samą drogą — wracamy do tematu bez dodatkowej opłaty.

Tak, to bardzo częsty punkt startowy. Hostingodawcy zwykle zostawiają dostęp FTP lub SSH przy wyłączonej stronie albo odblokowują ją na czas prac po zgłoszeniu. Pomagamy takie zgłoszenie napisać, a po czyszczeniu przygotowujemy wykaz usuniętych plików i wdrożonych zabezpieczeń — właśnie na tej podstawie blokada jest zdejmowana.

Dostępu SSH lub FTP, dostępu do panelu WordPress (jeśli jeszcze działa) oraz do panelu hostingu. Bardzo przydają się logi serwera z ostatnich dni — to z nich odtwarzamy chronologię ataku. Jeśli nie wiesz, gdzie tego szukać, przeprowadzimy Cię krok po kroku; nie musisz się na tym znać.

W większości przypadków tak — logi serwera pozwalają wskazać podatny komponent, moment wejścia i to, co atakujący zdążył zrobić. Wszystko trafia do raportu razem z listą usuniętych plików. Jeśli logi zostały już zrotowane przez hosting, opieramy się na analizie samych plików i mówimy o tym wprost, zamiast zgadywać.

Specjalizujemy się w WordPressie i WooCommerce — stamtąd pochodzi większość zgłoszeń i tam mamy najwięcej wypracowanych procedur. Przy innych systemach opartych na PHP zwykle też jesteśmy w stanie pomóc. Napisz, co to za system — odpowiemy szczerze, czy się do tego nadajemy, zamiast uczyć się na Twojej awarii.

Strona zainfekowana? Nie czekaj do rana.

Każda godzina to kolejne obce podstrony w indeksie Google i większe ryzyko blokady u hostingodawcy. Napisz, co widzisz na stronie — zrobimy szybkie rozpoznanie i powiemy wprost, ile zajmie i ile kosztuje naprawa.

Zgłoszenia infekcji traktujemy priorytetowo — odpowiadamy zwykle w ciągu kilku godzin roboczych.

Masz pytanie? Szukasz rozwiązania dla siebie?

Napisz do nas — odpowiadamy szybko i konkretnie.