Jak naprawić szkody spowodowane atakiem wykorzystującym maskowanie słów kluczowych i linków

Ten przewodnik został stworzony specjalnie na potrzeby typu hackowania, który polega na dodawaniu do witryny stron z bezsensownym tekstem zawierającym dużo słów kluczowych. Nazywamy to hackiem polegającym na ukrywaniu słów kluczowych i linków. Przewodnik jest przeznaczony dla użytkowników popularnych systemów zarządzania treścią (CMS), ale znajdziesz w nim przydatne informacje, nawet jeśli nie korzystasz z CMS.

Chcemy mieć pewność, że ten przewodnik jest dla Ciebie naprawdę przydatny. Prześlij opinię, aby pomóc nam ulepszyć tę usługę.

Zidentyfikuj ten typ włamania

Atak z wykorzystaniem maskowanych słów kluczowych i linków polega na tworzeniu wielu stron zawierających pozbawione sensu teksty, linki i obrazy. Czasami tego typu strony zawierają podstawowe elementy szablonu oryginalnej witryny, dlatego na pierwszy rzut oka – do momentu przeczytania ich treści – wyglądają jak zwykła część witryny.

Strony zhakowane są tworzone w celu manipulowania czynnikami rankingowymi Google. Często próbują zarabiać na tym, sprzedając linki na zhakowanych stronach innym stronom trzecim. Często zhakowane strony przekierowują użytkowników na nieistniejącą stronę, na której hakerzy mogą zarabiać.

Najpierw sprawdź w Search Console narzędzie Problemy dotyczące bezpieczeństwa, aby się dowiedzieć, czy Google wykryło w Twojej witrynie jakieś zhakowane strony. Czasami takie strony możesz też odkryć, otwierając okno wyszukiwarki Google i wpisując site:_your site url_ z adresem URL poziomu katalogu swojej witryny. Zobaczysz na niej strony zindeksowane przez Google w Twojej witrynie, w tym strony z hakerskim kodem. Przejrzyj kilka stron wyników wyszukiwania, aby sprawdzić, czy nie ma na nich nietypowych adresów URL. Jeśli w wyszukiwarce Google nie widzisz żadnych zhakowanych treści, użyj tych samych haseł wyszukiwania w innej wyszukiwarce. Oto przykład tego, jak to wygląda:

Wyniki wyszukiwania wygenerowane przez ten hack.
Zhakowane strony pojawiają się w wynikach wyszukiwania Google.

Gdy klikniesz link do zhakowanej strony, zwykle zostaniesz przekierowany do innej witryny lub zobaczysz stronę pełną niezrozumiałych treści. Możesz też zobaczyć komunikat o tym, że strona nie istnieje (np. błąd 404). Nie daj się oszukać. Hakerzy mogą próbować nakłonić Cię do przekonania, że strona została usunięta lub naprawiona, podczas gdy nadal jest zaatakowana. Robią to, ukrywając treści. Aby sprawdzić, czy w witrynie nie występuje wyświetlanie różnych wersji strony, wpisz adresy URL witryny w narzędziu do sprawdzania adresów URL. Narzędzie Pobierz jako Google pozwala zobaczyć ukryte treści.

Jeśli widzisz te problemy, Twoja witryna prawdopodobnie została zaatakowana w ten sposób.

Przykładowa strona utworzona przez ten hack.
Przykład strony utworzonej dzięki temu rozwiązaniu.

Napraw hack

Zanim usuniesz pliki, utwórz ich kopię offline na wypadek, gdyby trzeba było je później przywrócić. Lepiej jeszcze, utwórz kopię zapasową całej witryny przed rozpoczęciem procesu czyszczenia. Możesz to zrobić, zapisując wszystkie pliki na serwerze w innej lokalizacji lub wyszukując najlepsze opcje kopii zapasowej dla danego systemu zarządzania treścią (CMS). Jeśli używasz systemu CMS, utwórz też kopię zapasową bazy danych.

Sprawdzanie pliku .htaccess (3 kroki)

Atak z wykorzystaniem maskowanych słów kluczowych i linków polega na automatycznym tworzeniu w Twojej witrynie stron z maskowaniem za pomocą pliku .htaccess. Zapoznaj się z .htaccesspodstawowymi informacjami na oficjalnej stronie Apache, aby lepiej zrozumieć, jak hakowanie wpływa na Twoją witrynę. Nie jest to jednak wymagane.

Krok 1

Znajdź w witrynie plik .htaccess. Jeśli nie wiesz, gdzie go znaleźć, a korzystasz z systemu CMS, takiego jak WordPress, Joomla czy Drupal, wyszukaj w wyszukiwarce „lokalizacja pliku .htaccess” wraz z nazwą systemu CMS. W zależności od witryny możesz zobaczyć wiele plików .htaccess. Utwórz listę wszystkich lokalizacji plików .htaccess.

Krok 2

Otwórz plik .htaccess, aby wyświetlić jego zawartość. Poszukaj wiersza kodu, który wygląda mniej więcej tak:

RewriteRule (.*cj2fa.*|^tobeornottobe$) /injected_file.php?q=$1 [L]

Zmienne w tym wierszu mogą być inne. Zarówno cj2fa, jak i tobeornottobe mogą składać się z dowolnej kombinacji liter lub słów. Ważne jest, aby zidentyfikować .php, do którego odwołuje się ta linijka.

Zapisz plik .php, o którym mowa w pliku .htaccess. W tym przykładzie plik .php ma nazwę injected_file.php, ale w rzeczywistości nazwa pliku nie będzie tak oczywista. Zwykle jest to losowy zestaw nieszkodliwych słów, takich jak horsekeys.php lub potatolake.php. Prawdopodobnie jest to złośliwy plik .php, który musimy wyśledzić i usunąć później.

Krok 3

Zastąp wszystkie pliki .htaccess czystą lub domyślną wersją pliku .htaccess. Domyślną wersję pliku .htaccess możesz zwykle znaleźć, wyszukując „domyślny plik .htaccess” i nazwę systemu CMS. W przypadku witryn z większą liczbą plików .htaccess znajdź czystą wersję każdego z nich i wykonaj ich wymianę.

Jeśli nie ma domyślnego pliku .htaccess i nigdy nie skonfigurowano w witrynie pliku .htaccess, znaleziony w niej plik .htaccess jest prawdopodobnie złośliwy. Na wszelki wypadek zapisz kopię plików .htaccess offline ze swojej witryny.

Znajdowanie i usuwanie innych złośliwych plików (5 kroków)

Zidentyfikowanie szkodliwych plików może być trudne i czasochłonne. Poświęć trochę czasu na sprawdzenie plików. Jeśli jeszcze tego nie zrobisz, warto utworzyć kopię zapasową plików w witrynie. Wyszukaj w Google hasła „tworzenie kopii zapasowej witryny” oraz nazwę swojego systemu CMS, aby znaleźć instrukcje tworzenia kopii zapasowej witryny.

Krok 1

Jeśli używasz systemu CMS, zainstaluj ponownie wszystkie podstawowe (domyślne) pliki, które są dostępne w domyślnej dystrybucji systemu CMS, a także wszystko, co zostało przez Ciebie dodane (np. motywy, moduły, wtyczki). Dzięki temu masz pewność, że pliki nie zawierają treści pochodzących z hakowania. Aby znaleźć instrukcje ponownej instalacji, wyszukaj w Google hasło „reinstall” (czyli „ponowna instalacja”) wraz z nazwą systemu CMS. Jeśli masz wtyczki, moduły, rozszerzenia lub motywy, zainstaluj je ponownie.

Krok 2

Najpierw znajdź plik .php, który został zidentyfikowany wcześniej w pliku .htaccess. W zależności od tego, jak uzyskujesz dostęp do plików na serwerze, powinna być dostępna jakaś funkcja wyszukiwania. Wyszukaj nazwę pliku z złośliwym kodem. Jeśli ją znajdziesz, najpierw utwórz kopię zapasową i przechowuj ją w innym miejscu na wypadek, gdyby trzeba było ją przywrócić, a potem usuń ją ze swojej witryny.

Krok 3

Sprawdź, czy nie ma żadnych pozostałych złośliwych lub naruszonych plików. Być może wszystkie złośliwe pliki zostały już usunięte w poprzednich 2 krokach, ale warto wykonać kilka kolejnych czynności na wypadek, gdyby na stronie znajdowały się jeszcze inne zainfekowane pliki.

Nie przejmuj się, że musisz otworzyć i przejrzeć każdy plik PHP. Najpierw utwórz listę podejrzanych plików PHP, które chcesz zbadać. Oto kilka sposobów na określenie, które pliki PHP są podejrzane:

  • Jeśli pliki CMS zostały już ponownie załadowane, sprawdź tylko pliki, które nie są częścią domyślnych plików lub folderów CMS. Dzięki temu wykluczysz wiele plików PHP i będziesz mieć do sprawdzenia tylko kilka plików.
  • Posortuj pliki w witrynie według daty ostatniej modyfikacji. Poszukaj plików, które zostały zmodyfikowane w ciągu kilku miesięcy od momentu, gdy po raz pierwszy odkryto, że Twoja witryna została zhakowana.
  • Posortuj pliki w witrynie według rozmiaru. Poszukaj nietypowo dużych plików.

Krok 4

Po uzyskaniu listy podejrzanych plików PHP sprawdź, czy są one szkodliwe. Jeśli nie znasz języka PHP, ten proces może zająć więcej czasu, dlatego warto zapoznać się z dokumentacją PHP. Jeśli kodowanie jest dla Ciebie zupełnie nowe, poproś o pomoc. Tymczasem możesz zwracać uwagę na pewne podstawowe wzorce, aby identyfikować złośliwe pliki.

Jeśli używasz systemu CMS i nie edytujesz tych plików bezpośrednio, porównaj pliki na serwerze z listą domyślnych plików dołączonych do systemu CMS oraz wszelkich wtyczek i motywów. Poszukaj plików, które nie pasują do folderu, a także plików większych niż ich domyślna wersja.

Najpierw przejrzyj już zidentyfikowane podejrzane pliki, aby znaleźć duże bloki tekstu zawierające kombinację pozornie przypadkowych liter i liczb. Duży blok tekstu jest zwykle poprzedzony kombinacją funkcji PHP, takich jak base64_decode, rot13, eval, strrev lub gzinflate. Oto przykładowy blok kodu. Czasami cały ten kod jest wciśnięty w jeden długi wiersz tekstu, przez co wygląda na mniejszy, niż jest w rzeczywistości.

// Hackers try to confuse webmasters by encoding malicious code into
// blocks of text. Be wary of unfamiliar code blocks like this.

base64_decode
(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0Vn
ZgknbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2c
hVmcnBydvJGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2b
lRGI5xWZ0Fmb1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah
1GIvRHIzlGa0BSZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch
1GIlR2bjBCZlRXYjNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"
));

Czasami kod nie jest pomieszany i wygląda jak zwykły skrypt. Jeśli nie masz pewności, czy kod jest uszkodzony, odwiedź nasze fora pomocy dla webmasterów, gdzie grupa doświadczonych webmasterów pomoże Ci sprawdzić pliki.

Krok 5

Teraz, gdy już wiesz, które pliki są podejrzane, utwórz ich kopię zapasową lub lokalną, zapisując je na komputerze. W ten sposób, na wszelki wypadek, zachowasz pliki, które nie są złośliwe. Następnie usuń podejrzane pliki ze swojej witryny.

Sprawdź, czy witryna jest wolna od błędów

Gdy pozbędziesz się zhakowanych plików, sprawdź, czy Twoja ciężka praca przyniosła efekty. Pamiętasz te strony z bełkotem, które zidentyfikowałeś wcześniej? Aby sprawdzić, czy nadal istnieją, użyj narzędzia Pobierz jako Google. Jeśli w Fetch as Google pojawi się komunikat „Nie znaleziono”, prawdopodobnie wszystko jest w porządku i możesz przejść do naprawiania luk w bezpieczeństwie w swojej witrynie.

Jak zapobiec ponownym atakom?

Naprawienie luk w bezpieczeństwie witryny jest niezbędnym ostatnim krokiem w procesie naprawiania witryny. Niedawne badanie wykazało, że 20% zaatakowanych witryn zostaje ponownie zhakowanych w ciągu jednego dnia. Wiedza o tym, jak doszło do ataku, bardzo Ci się przyda. Aby rozpocząć dochodzenie, przeczytaj nasz przewodnik Najczęściej spotykane ataki spamerskie. Jeśli jednak nie możesz ustalić, w jaki sposób Twoja witryna została zhakowana, wykonaj tę listę kontrolną, aby zmniejszyć podatność witryny na ataki:

  • Regularnie skanuj komputer: użyj dowolnego popularnego skanera antywirusowego, aby sprawdzić, czy nie ma wirusów ani luk w zabezpieczeniach.
  • Regularnie zmieniaj hasła: regularna zmiana haseł do wszystkich kont Twojej witryny, takich jak konto dostawcy hostingu, FTP czy CMS, może uniemożliwić nieautoryzowany dostęp do Twojej witryny. Do każdego konta musisz utworzyć silne, unikalne hasło.
  • Używajuwierzytelniania dwuskładnikowego: rozważ włączenie uwierzytelniania dwuskładnikowego w przypadku każdej usługi, która wymaga logowania. 2 FA utrudnia hakerom logowanie się, nawet jeśli uda im się wykraść Twoje hasło.
  • Regularnie aktualizuj CMS, wtyczki, rozszerzenia i moduły: Mam nadzieję, że ten krok został już przez Ciebie wykonany. Wiele witryn jest hakowanych, ponieważ działają one na nieaktualnym oprogramowaniu. Niektóre systemy CMS obsługują automatyczne aktualizacje.
  • Rozważ wykupienie subskrypcji usługi bezpieczeństwa, która będzie monitorować Twoją witrynę: istnieje wiele świetnych usług, które za niewielką opłatą mogą pomóc Ci w monitorowaniu witryny. Rozważ, czy warto zarejestrować się w którejś z nich, by lepiej chronić witrynę.

Dodatkowe materiały

Jeśli nadal masz problemy z poprawieniem witryny, skorzystaj z tych dodatkowych zasobów.

Te narzędzia przeskanują witrynę i być może znajdą problematyczne treści. Oprócz VirusTotal żadne z nich nie jest obsługiwane przez Google.

To tylko niektóre z narzędzi, które mogą skanować Twoją witrynę pod kątem problematycznych treści. Pamiętaj, że te skanery nie są w stanie wykryć wszystkich rodzajów problematycznych treści.

Dodatkowe zasoby Google, które mogą się przydać: