Zainfekowany WordPress – sposób na oczyszczenie plików.


Hosting

Infekcje stron to niestety dość częste zjawisko. Jak wiemy wszystkim zdarzają się błędy, nie inaczej jest w przypadku programistów tworzących strony internetowe, systemy CMS oraz inne elementy stron. Często strony zawierają wiele tysięcy linii kodu, więc nietrudno jest o pomyłkę lub nieprzewidzenie jakiegoś wektora ataku. Taka pomyłka może przykładowo pozwalać na modyfikację plików strony i tym samym być źródłem infekcji. Istotne jest dlatego aktualizowanie komponentów strony, aby wykryte i znane luki nie zostały wykorzystane przez atakującego.

Innym, a równie częstym źródłem infekcji jest pobranie wtyczki czy też motywu z niezaufanego źródła. W Internecie możemy odnaleźć strony oferujące bezpłatne pobieranie komponentów, które są normalnie płatne. Najczęściej są to zmienione wersje, które mają zaszyty złośliwy kod i zostały celowo udostępnione bezpłatnie.

W poniższym artykule pokażemy sposób, który powinien pomóc w przypadku większości infekcji plików WordPressa.

Kopia zapasowa

W pierwszej kolejności należy utworzyć kopię zapasową katalogu ze stroną, aby w razie niepowodzenia była możliwość przywrócenia plików strony. Nie będziemy tego tutaj szerzej opisywać, wystarczy skopiowanie katalogu do bezpiecznego miejsca. Może być to kopia katalogu na dysk lokalny komputera, a jeżeli działamy bezpośrednio na serwerze, to kopia do innego katalogu. Jeżeli korzystasz z hostingu AttHost, to możesz skorzystać z artykułu pomocy dotyczącego tworzenia kopii zapasowej: https://atthost.pl/help/jak-wykonac-kopie-zapasowa-swojej-strony/

Rozpoczynamy działanie

Jeżeli utworzyliśmy kopię poprzez pobranie jej na własny komputer, to teraz utwórzmy jeszcze kolejną kopię, na której będziemy teraz działać. Wystarczy tutaj skopiowanie całego katalogu do kolejnego katalogu, aby finalnie posiadać na komputerze 2 katalogi ze stroną.

Czyszczenie - katalogi

Jak widać posiadamy dwa katalogi ze stroną. Katalog „wp_1”, na którym będziemy operować oraz katalog „wp_1-kopia”, który jest naszą kopią zapasową.

Usuwamy pliki

Przechodzimy do katalogu „wp_1”.

Czyszczenie - zainfekowana zawartosc

Usuwamy wszystko oprócz katalogu „wp-content” oraz plików „.htaccess” i „wp-config.php”.

czyszczenie - usunieta zawartosc

Podmieniamy pliki WordPressa

Pobierzmy teraz pliki WordPressa z oficjalnej strony i następnie rozpakujmy pobrany plik.

Czyszczenie - katalogi 2

Kopiujemy całą zawartość pobranego WordPressa do katalogu strony (kopiujemy wszystkie pliki i katalogi z katalog „wordpress” do katalogu „wp_1”), nadpisując przy tym istniejące pliki i katalogi.

czyszczenie - kopiowanie

Podmieniamy pliki motywu.

Podobnie jak w przypadku plików WordPressa, podmienimy teraz pliki motywu używanego na stronie. Pliki możemy zazwyczaj pobrać ze strony internetowej autorów danego motywu, a jeżeli wykorzystaliśmy jeden z bezpłatnych motywów, to taki motyw powinien być dostępny na stronie WordPressa. My na stronie używamy darmowego motywu Banquet Hall, możemy więc pobrać paczkę z motywem również z bazy WordPressa.

Po pobraniu pliku z motywem rozpakowujemy go, a następnie podmieniamy istniejący katalog (motywy znajdują się w podkatalogu wp-content/themes) z pobranym katalogiem.

czyszczenie - motyw

Uruchomienie strony

Strona została wstępnie oczyszczona teraz należy ją ponownie zamieścić na serwerze. Przed wgraniem strony na serwer powinniśmy jednak zwrócić uwagę na nazewnictwo folderów. Jeżeli katalog ze stroną na serwerze oraz katalog, który chcemy wysłać na serwer mają takie same nazwy, to należy uprzednio zmienić nazwę jednego z nich. Zmienimy więc nazwę katalogu na serwerze.

czyszczenie - zainfekowana na serwerzePo wprowadzeniu zmiany wysyłamy katalog ze stroną na serwer np. poprzez klienta FTP.

Instalacja i użycie wtyczki Sucuri Security

Logujemy się teraz do panelu administracyjnego świeżo oczyszczonej strony (jeżeli wymagana jest aktualizacja bazy danych, to ją potwierdzamy). Następnie przechodzimy do zakładki z wtyczkami, wyszukujemy wtyczkę Sucuri Security, instalujemy ją i aktywujemy.

czyszczenie - instalacja sucuri security

Przechodzimy teraz do ustawień wtyczki (Sucuri Security -> Settings) i wybieramy zakładkę Post-Hack. Następnie wykonujemy po kolei czynności widoczne w tej zakładce.

  1. Aktualizacja sekretnych kluczy. Zaznaczamy zgodę na to, że zmiany nie mogą być cofnięte i klikamy Generate New Security Keys.
    czyszczenie - aktualizacja kluczy
    Spowoduje to wylogowanie nas z WordPressa, więc logujemy się ponownie.
  2. Reset haseł. W tej części możemy wysłać użytkownikom nowe hasła, co w przypadku infekcji warto jest uczynić, gdyż jest ryzyko, że któreś z haseł mogło zostać ujawnione.
  3. Reset zainstalowanych wtyczek. Najistotniejsza część, pozwala na przeinstalowanie wtyczek używanych na stronie na wersje z oficjalnych repozytoriów WordPressa. Dzięki temu jeżeli któraś z wtyczek została zainfekowana, to zostanie zastąpiona bezpieczną wersją wtyczki. Zaznaczamy, więc wszystkie wtyczki i klikamy Submit.czyszczenie - sucuri plugins

Inne pliki

To jeszcze nie koniec, pozostało nam przejrzenie plików w katalogu „wp-content/uploads”. Mało prawdopodobne jest, aby w tym katalogu znajdowały się jakieś skrypty. Powinniśmy, więc wyszukać wszystkie pliki .php w tym katalogu i wszystkie podejrzane pliki usunąć.

czyszczenie - podejrzane pliki php

Podsumowanie

W artykule opisaliśmy sposób na oczyszczenie plików WordPressa. Powinien on być skuteczny w większości przypadków. Należy jednak pamiętać, że najlepszym zabezpieczeniem jest zapobieganie możliwości infekcji strony. Warto dlatego dbać o to, aby strona i wszystkie jej elementy były aktualne oraz pochodziły z zaufanych źródeł.