Sprawa pilna? Zadzwoń: +48 884 220 764Zgłoś włamanie
WordPress · WooCommerce · PrestaShop

Zhakowany WordPress lub PrestaShop? Usuwamy malware

Strona przekierowuje na spam, w panelu pojawił się administrator, którego nie znasz, Google pokazuje ostrzeżenie, a klienci piszą, że ktoś użył ich karty po zakupach w Twoim sklepie? To typowe objawy włamania. Usuwamy złośliwy kod, zamykamy drogę powrotu atakującemu i ustawiamy monitoring, żeby kolejna próba nie przeszła niezauważona.

Zaczynamy od razu po otrzymaniu dostępu Szukamy źródła, nie tylko objawów Opis incydentu do zgłoszenia w UODO Monitoring po sprzątaniu
~15 min
sprzątania sklepu po skimmerze, ok. 2 min offline
7
ukrytych administratorów znalezionych w jednym sklepie
4269
plików rdzenia porównanych z oficjalnym wydaniem
27
webshelli usuniętych po jednym włamaniu
Objawy

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

Z tym najczęściej przychodzą do nas klienci.

Strona przekierowuje na obce strony, a w Google pojawiają się podstrony ze spamem.

W panelu są administratorzy, których nikt nie dodawał, albo konta klientów z uprawnieniami admina.

Na stronie płatności pojawił się dodatkowy formularz karty, a klienci zgłaszają kradzież danych.

Google albo przeglądarka ostrzega: „Ta witryna może być niebezpieczna”.

Biała strona, błąd 403 przy logowaniu do panelu albo dziwne wpisy w .htaccess.

Złośliwe pliki wracają kilka dni po usunięciu, mimo wtyczki bezpieczeństwa.

Checklista

Strona zhakowana: co zrobić w pierwszych 60 minutach

Pięć kroków, które możesz zrobić sam, zanim zaczniemy. Każdy chroni dowody albo Twoich klientów.

01

Nie kasuj na ślepo

Zrób kopię plików i bazy w obecnym stanie, nawet zainfekowaną. To dowód i mapa infekcji.

02

Zmień hasła z czystego komputera

Panel, hosting, FTP/SFTP, baza danych, poczta. Włącz 2FA tam, gdzie się da.

03

Sprawdź listę administratorów

Zanotuj konta, których nie znasz. Nie usuwaj ich jeszcze, data utworzenia pomaga ustalić początek włamania.

04

Sklep? Wyłącz płatność kartą

Jeśli klienci zgłaszają podejrzane obciążenia, przełącz płatności na przekierowanie do bramki albo czasowo je wyłącz.

05

Zadzwoń do nas

Dalej przejmujemy: odcięcie atakującego, diagnoza, czyszczenie i utwardzenie.

Jak działamy

Jak usuwamy malware z WordPressa

Pięć kroków. Ostatnie dwa sprawiają, że strona nie wraca do atakującego po tygodniu.

01

Odcięcie atakującego

Kończymy aktywne sesje, zmieniamy hasła i klucze, zabezpieczamy logi jako dowód.

02

Pełna diagnoza

Szukamy webshelli, ukrytych administratorów, złośliwego kodu w bazie danych, w wp-config, w cronie i w plikach udających wtyczki.

03

Czyszczenie

Podmieniamy rdzeń WordPressa na czysty z oficjalnego źródła, porównujemy pliki z oryginałem i usuwamy wszystkie elementy infekcji, także te, które same się odtwarzają.

04

Utwardzenie

Reguły WAF w Cloudflare, dodatkowa weryfikacja przy logowaniu, 2FA dla administratorów, blokada wgrywania wtyczek z panelu, dostęp do serwera tylko przez Cloudflare.

05

Monitoring

Codzienne sprawdzanie integralności plików z alertem e-mail. Zmianę widzimy w godziny, a nie po miesiącach.

Z naszych interwencji

Z czym realnie mamy do czynienia

Ostatnie włamania, które sprzątaliśmy

Strona i sytuacjaCo znaleźliśmy
Sklep WooCommerce, skimmer typu Magecart podmieniał formularz karty7 ukrytych administratorów, sprzątanie ok. 15 min, sklep offline ok. 2 min
Sklep PrestaShop, skimmer ukryty w legalnym module i backdoorbackdoor działał ok. 16 miesięcy, porównane 4269 plików rdzenia
Serwer z 41 stronami WordPressto samo ukryte konto admina na 11 stronach, luka w dodatku do motywu zablokowana
Sklep WooCommerce, loader w bazie udawał Google Tag Managerpolecenia pobierane z blockchaina, klasyczne skanery go nie widziały
Strona firmowa, backdoor podszyty pod wtyczkę Akismetwykonywanie kodu bez logowania, dostęp przez ok. 9 miesięcy
Sklep, jedno włamanie27 webshelli, w tym pliki udające obrazki z kodem PHP
Strona, złośliwy plik wracał po każdym usunięciukod w wp-config odtwarzał go z kopii base64 zapisanej w bazie danych
Strona WordPress, fałszywa wtyczka, która sama się odnawiała11 kopii (mu-plugin, drop-iny, .user.ini) i 35 wpisów w bazie usunięte w jednym przejściu, potem monitoring co 10 minut
Strona firmowa wysyłała spam przez formularz kontaktowyprzyczyna w jednej linii motywu; 34 661 plików z prawem zapisu dla wszystkich poprawionych do 0
PrestaShop

Zhakowany sklep PrestaShop

W PrestaShop złośliwy kod najczęściej siedzi w module: dopisany do legalnego modułu albo udający nowy. Dlatego porównujemy pliki rdzenia i modułów z oficjalnymi wydaniami tej samej wersji. W jednym sklepie porównaliśmy w ten sposób 4269 plików rdzenia i znaleźliśmy skimmer w module, który na co dzień działał poprawnie.

Drugą rzeczą jest porządek na serwerze. W audycie jednego sklepu w katalogu publicznym leżały klient bazy danych, phpinfo i 10 skryptów diagnostycznych, a logi urosły do 1,9 GB. Po sprzątaniu logi zajmują 20 KB, a narzędzia, które pomagają atakującemu, zniknęły z serwera.

Audyt bezpieczeństwa

Audyt bezpieczeństwa WordPressa i sklepu, zanim ktoś się włamie

Nie każdy przychodzi po włamaniu. W audycie sprawdzamy wersje wtyczek i motywu, nagłówki bezpieczeństwa, wystawione porty serwera, czy da się wylistować użytkowników przez REST API, czy działa xmlrpc, oraz skrypty na stronie płatności. Pliki porównujemy z oficjalnymi wydaniami WordPressa, WooCommerce albo PrestaShop. Wynik to lista poprawek od najpilniejszych.

Przykłady z naszych interwencji: 403 na wp-login i webshelle w wp-includes, koparka kinsing w kontenerze WordPress poradnik jak sprawdzić, czy checkout nie kradnie kart, dlaczego malware wraca po usunięciu i ukryci administratorzy z rolą klienta.

RODO

Wyciekły dane klientów? Pamiętaj o 72 godzinach

Jeśli atak dotknął danych osobowych albo płatności, administrator ma 72 godziny na zgłoszenie naruszenia do UODO. Przygotujemy techniczny opis incydentu: co się stało, od kiedy, jakie dane mogły wyciec i co zrobiliśmy.

Większość włamań, które sprzątamy, zaczyna się od nieaktualnej wtyczki albo słabego hasła. W ramach Pogotowia IT w abonamencie pilnujemy aktualizacji, kopii zapasowych i monitoringu na bieżąco. Prowadzisz sklep? Zobacz też opiekę nad sklepem WooCommerce. Pierwsze kroki po włamaniu opisujemy w poradniku wirus na stronie WordPress.

FAQ

Najczęstsze pytania o zhakowany WordPress

Ile trwa usunięcie malware ze strony?

+
Najwięcej czasu zajmuje diagnoza, czyli znalezienie wszystkich elementów infekcji. Samo sprzątanie bywa krótkie: przy ostatnim sklepie WooCommerce zajęło około 15 minut, a sklep był niedostępny przez około 2 minuty. Zaczynamy od razu po otrzymaniu dostępu.

Czy wystarczy wtyczka bezpieczeństwa?

+
Zwykle nie. Złośliwy kod często siedzi w bazie danych, w pliku wp-config albo w kontach administratorów podszytych pod zwykłych klientów. Skanery wtyczek tego nie widzą, a strona wraca do atakującego po kilku dniach.

Strona została oznaczona przez Google jako niebezpieczna. Co dalej?

+
Najpierw czyścimy stronę, potem zgłaszamy ją do ponownej weryfikacji w Google Search Console. Ostrzeżenie znika zwykle po kilku dniach od pozytywnej weryfikacji.

Czy muszę zmienić hasła?

+
Tak. Po włamaniu zmieniamy hasła administratorów, bazy danych i serwera, klucze w wp-config oraz kończymy wszystkie aktywne sesje. Bez tego atakujący może wrócić tym samym kontem.

Czy pomagacie też przy sklepach PrestaShop?

+
Tak. Usuwaliśmy między innymi skimmer kart płatniczych ukryty w legalnym module PrestaShop. Postępowanie jest podobne: diagnoza, czyszczenie, porównanie plików z oficjalnym wydaniem i utwardzenie.

Ile kosztuje usunięcie wirusa ze strony?

+
Zależy od skali infekcji i liczby stron na serwerze. Po wstępnej diagnozie podajemy wycenę. Jeśli chcesz stałej ochrony, sprawdź Pogotowie IT w abonamencie.

Dlaczego malware wraca po usunięciu?

+
Bo zwykle usuwa się tylko to, co widać. W jednym z przypadków kod dopisany do wp-config odtwarzał złośliwy plik z kopii zapisanej w bazie danych. Dopóki nie znajdzie się źródła, sprzątanie plików niczego nie kończy.
Pilne zgłoszenie

Zgłoś włamanie. Odpowiadamy najszybciej, jak się da

Kamil Perzowski, ASAPDevs
Kamil Perzowski
CEO & Co-founder, ASAPDevs
Odpisuję osobiście. Bez zobowiązań.
★★★★★
Współpraca z ASAPDevs przebiegła bardzo profesjonalnie. Zespół był odpowiedzialny za przygotowanie naszej platformy do sprzedaży biletów i wywiązał się z zadania doskonale – wszystko zostało zrealizowane terminowo, zgodnie z ustaleniami.
Hubert K., opinia w Google
  1. Czytam zgłoszenie i odpisuję z pytaniami albo propozycją terminu rozmowy.
  2. Krótka rozmowa o zakresie, dostępach i terminie.
  3. Dostajesz plan i wycenę. Decydujesz, bez zobowiązań.

Wolisz od razu porozmawiać? +48 884 220 764 · [email protected]

Wysyłając formularz, przekazujesz nam dane, żebyśmy mogli odpowiedzieć. Szczegóły w polityce prywatności.

Zobacz też

Z bloga

Wszystkie wpisy →