Missed the action at the 2018 Chrome Dev Summit? Catch up with our playlist on the Google Chrome Developers channel on YouTube. Watch now.

Jak naprawić szkody spowodowane atakiem wykorzystującym japońskie słowa kluczowe

W tym przewodniku omawiamy ataki hakerów polegające na tworzeniu w witrynie automatycznie generowanego japońskiego tekstu. Jest to tzw. atak z wykorzystaniem japońskich słów kluczowych. Narażeni są na niego użytkownicy popularnych systemów zarządzania treścią (CMS), ale podane tu informacje mogą Ci się przydać, nawet jeśli nie korzystasz z takiego systemu.

Uwaga: nie masz pewności, czy Twoja witryna nie została zaatakowana? Poczytaj, jak sprawdzić, czy witryna została zaatakowana przez hakera.

Spis treści

Jak rozpoznać ten rodzaj ataku

Atak z wykorzystaniem japońskich słów kluczowych polega zwykle na utworzeniu w witrynie kilku stron z generowanym automatycznie tekstem w języku japońskim. Strony powstają w katalogach o losowo generowanych nazwach (np. http://example.com/ltjmnjp/341.html). Te strony zarabiają na wykorzystaniu linków partnerskich do sklepów sprzedających podróbki, a potem są wyświetlane w wynikach wyszukiwania Google. Tak wygląda przykładowa strona tego typu:

W przypadku tego rodzaju ataku haker zwykle dodaje siebie jako właściciela usługi w Search Console, ponieważ może zwiększać swoje zyski, manipulując ustawieniami witryny (np. kierowaniem geograficznym czy mapami witryn). Jeśli otrzymasz powiadomienie, że nieznana Ci osoba zweryfikowała Twoją witrynę w Search Console, może to z dużym prawdopodobieństwem oznaczać, że masz do czynienia z atakiem hakera.

Najpierw skorzystaj z narzędzia Problemy z bezpieczeństwem w Search Console i sprawdź, czy Google znajduje zmodyfikowane strony w Twojej witrynie. Takie strony możesz też wykryć, wpisując site:[your site root URL] w wyszukiwarce Google. Spowoduje to wyświetlenie stron zindeksowanych przez Google w Twojej witrynie – w tym zmodyfikowanych przez hakerów. Przejrzyj kilka stron wyników wyszukiwania pod kątem nietypowych adresów URL. Jeśli za pomocą wyszukiwarki Google nie znajdziesz zmodyfikowanych treści, spróbuj wpisać te same słowa w inną wyszukiwarkę. Inne wyszukiwarki mogą wyświetlać zmodyfikowane treści, które zostały usunięte z indeksu Google. Mogłoby to wyglądać tak:

Zwróć uwagę, że w tych wynikach wyszukiwania pojawia się wiele stron, których nie utworzył właściciel witryny. Jeśli przyjrzysz się opisom, zauważysz przykłady japońskiego tekstu utworzonego przez hakera.

Gdy spróbujesz odwiedzić zmodyfikowaną stronę, być może zobaczysz komunikat, że strona nie istnieje (np. błąd 404). Nie daj się zwieść. Haker będzie usiłował Cię przekonać, że witryna działa poprawnie, bo zmodyfikowane strony zniknęły lub zostały poprawione. W tym celu zastosuje maskowanie treści. Aby sprawdzić, czy tak się nie stało, wpisz adresy URL witryny do narzędzia Pobierz jako Google w Search Console. Pozwoli to zobaczyć ukryte treści.

Jak naprawić szkody spowodowane atakiem

Zanim zaczniesz usuwać pliki, zrób ich kopię offline na wypadek, gdyby trzeba je było później przywrócić. Jeszcze lepiej jest utworzyć kopię zapasową całej witryny przed przystąpieniem do jej czyszczenia. Możesz zapisać wszystkie pliki z serwera w innej lokalizacji lub poszukać najlepszych metod tworzenia kopii zapasowej dla Twojego systemu zarządzania treścią (CMS). Jeśli korzystasz z takiego systemu, zadbaj również o kopię zapasową bazy danych.

Usuwanie nowych kont z Search Console

Jeśli do Twojego konta w Search Console został dodany nowy właściciel, którego nie rozpoznajesz, jak najszybciej unieważnij jego prawa dostępu. Na stronie weryfikacji w Search Console sprawdzisz, którzy użytkownicy są zweryfikowani. Po prostu kliknij „Szczegóły weryfikacji” przy danej witrynie.

Jeśli chcesz usunąć właściciela z Search Console, przeczytaj odpowiedni fragment artykułu Zarządzanie użytkownikami, właścicielami i uprawnieniami w Centrum pomocy. Konieczne będzie usunięcie powiązanego tokena weryfikacyjnego, czyli zwykle pliku HTML w katalogu głównym witryny lub dynamicznie generowanego pliku .htaccess, który naśladuje taki plik.

Jeśli nie możesz znaleźć w witrynie tokena weryfikacyjnego HTML, poszukaj reguły przepisywania w pliku .htaccess. Przykładowa reguła przepisywania wygląda tak:

  RewriteEngine On
  RewriteRule ^google(.*)\.html$ dir/file.php?google=$1 [L] 

Uwaga: zwykle można sprawdzić, czy udało się usunąć token weryfikacyjny generowany dynamicznie, przechodząc do pliku symulowanego tokena weryfikacyjnego, np. wwww.example.com/google[random number and letters].html. Jeśli masz witrynę www.kartypilkarskietomka.com, spróbuj wejść na www.kartypilkarskietomka.com/google1234.html. Jeśli ta strona zwraca błąd HTTP 404, prawdopodobnie token weryfikacyjny generowany dynamicznie został naprawiony.

Aby usunąć token weryfikacyjny generowany dynamicznie z pliku .htaccess, wykonaj poniższe kroki.

Sprawdzanie pliku .htaccess (dwa kroki)

Niezależnie od wykorzystywania pliku .htaccess do tworzenia tokenów weryfikacyjnych generowanych dynamicznie hakerzy często posługują się regułami .htaccess, by przekierowywać użytkowników lub tworzyć spamerskie strony z bezużytecznym tekstem. O ile nie masz niestandardowych reguł .htcacces, zastanów się nad zastąpieniem pliku .htaccess nowym.

Krok 1

Znajdź plik .htaccess w witrynie. Jeśli nie masz pewności, gdzie go szukać, a korzystasz z systemu CMS takiego jak WordPress, Joomla czy Drupal, wpisz w wyszukiwarkę „lokalizacja pliku .htaccess” oraz nazwę systemu CMS. Plików .htaccess może być więcej, w zależności od witryny. Utwórz listę lokalizacji plików .htaccess.

Krok 2

Zastąp wszystkie pliki .htaccess ich wersją czystą lub domyślną. Domyślną wersję pliku .htaccess zwykle znajdziesz, wpisując w wyszukiwarkę „domyślny plik .htaccess” wraz z nazwą systemu CMS. W witrynach z wieloma plikami .htaccess trzeba znaleźć czystą wersję każdego pliku i zastąpić wszystkie.

Uwaga: plik .htaccess jest często plikiem ukrytym. Pamiętaj, by włączyć wyświetlanie ukrytych plików, gdy go szukasz.

Usuwanie wszystkich złośliwych plików i skryptów (cztery kroki)

Rozpoznawanie złośliwych plików może być trudne i czasochłonne. Nie spiesz się, gdy sprawdzasz pliki. To dobry moment, by utworzyć kopię zapasową plików w witrynie, jeśli jeszcze jej nie masz. Wyszukaj w Google „kopia zapasowa witryny” wraz z nazwą systemu CMS, by dowiedzieć się, jak utworzyć taką kopię.

Krok 1

Jeśli używasz systemu CMS, zainstaluj ponownie wszystkie podstawowe (domyślne) pliki, które znajdują się w domyślnej wersji Twojego systemu CMS. Będziesz mieć pewność, że nie są zmodyfikowane przez hakera. Wyszukaj w Google „ponowna instalacja” wraz z nazwą systemu CMS, by dowiedzieć się, jak przeprowadzić ten proces. Jeśli masz jakieś wtyczki, moduły, rozszerzenia lub motywy, pamiętaj, by je również zainstalować ponownie.

Ponowna instalacja może spowodować utratę dostosowań, które zostały wprowadzone bezpośrednio w plikach. Zanim przystąpisz do ponownej instalacji, koniecznie utwórz kopię zapasową bazy danych i wszystkich plików.

Krok 2

Hakerzy często modyfikują mapę witryny lub dodają nowe mapy witryn, by ich adresy URL zostały szybciej zindeksowane. Jeśli był stosowany plik mapy witryny, sprawdź go pod kątem podejrzanych linków i usuń takie linki z mapy witryny. Dokładnie sprawdź pliki mapy witryny, których dodawania do witryny sobie nie przypominasz, a jeśli zawierają spamerskie adresy URL, usuń te pliki.

Krok 3

Sprawdź, czy po wykonaniu dwóch poprzednich kroków nie zostały jeszcze jakieś złośliwe lub zmodyfikowane pliki. Być może udało Ci się już wszystko usunąć, ale warto przejść kolejne etapy na wypadek, gdyby w witrynie było więcej zmodyfikowanych plików.

Nie obawiaj się, że trzeba będzie otwierać i sprawdzać każdy plik PHP. Zacznij od utworzenia listy podejrzanych plików PHP, które chcesz zbadać. Oto kilka sposobów sprawdzenia, które pliki PHP mogą być podejrzane:

  • Jeśli pliki systemu CMS zostały załadowane ponownie, sprawdź tylko te elementy, które nie są domyślnymi plikami lub folderami tego systemu. W ten sposób wyeliminujesz dużą część plików PHP i zostaną Ci do sprawdzenia tylko nieliczne.
  • Posortuj pliki w witrynie według daty ostatniej modyfikacji. Poszukaj plików, które były modyfikowane w ciągu kilku miesięcy od momentu, gdy udało Ci się wykryć atak na witrynę.
  • Posortuj pliki w witrynie według rozmiaru. Poszukaj nietypowo dużych plików.

Uwaga: hakerzy często wstrzykują skrypty do takich plików: index.php, wp-load.php, 404.php oraz view.php.

Krok 4

Gdy sporządzisz listę podejrzanych plików PHP, sprawdź, czy są one złośliwe. Jeśli nie znasz się za bardzo na PHP, może to zająć trochę czasu, pomyśl więc nad przejrzeniem dokumentacji języka PHP. Użytkownikom, którzy nie mają nic wspólnego z kodowaniem, zalecamy skorzystanie z pomocy. Tymczasem warto poznać kilka podstawowych wzorców, których można szukać w podejrzanych plikach.

Jeśli używasz systemu CMS i nie masz w zwyczaju bezpośrednio edytować plików, porównaj pliki na serwerze z listą domyślnych plików w pakiecie CMS oraz wtyczek i motywów. Szukaj plików, których nie ma na liście elementów domyślnych, oraz takich, które wydają się większe od domyślnych.

Przejrzyj podejrzane pliki pod kątem bloków zaciemnianego kodu. Może on wyglądać jak kombinacja pozornie przemieszanych liter i liczb. Zaciemniany kod zwykle poprzedza kombinacja funkcji PHP takich jak base64_decode, rot13, eval, strrev, gzinflate, chociaż czasem nawet te funkcje są zaciemniane. Poniżej znajdziesz przykładowy blok kodu. Czasem taki kod może być ściśnięty w jeden długi wiersz tekstu, dzięki czemu będzie wydawał się mniejszy niż naprawdę jest:

  $O_O0O_O0_0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70
  %78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");
  $OO0_0OO0__=$O_O0O_O0_0{26}.$O_O0O_O0_0{6}.$O_O0O_O0_0{10}.$O_O0O_O0_0{30}

Sprawdzanie, czy witryna jest czysta

Gdy zdołasz się pozbyć zmodyfikowanych plików, sprawdź, czy Twoja ciężka praca przyniosła efekty. Pamiętasz znalezione wcześniej strony z bezużytecznym tekstem? Poszukaj ich za pomocą narzędzia Pobierz jako Google, by sprawdzić, czy wciąż istnieją. Jeśli uzyskasz odpowiedź „Nie znaleziono”, prawdopodobnie jest całkiem dobrze.

Aby sprawdzić, czy w witrynie nie ma już zmodyfikowanych treści, możesz też wykonać kroki opisane w Narzędziu do rozwiązywania problemów z zaatakowanymi witrynami.

Jak zapobiec ponownym atakom?

Zlikwidowanie luk w zabezpieczeniach witryny stanowi niezbędny etap naprawiania szkód. Zgodnie z niedawnymi badaniami 12% witryn zostaje ponownie zaatakowanych przed upływem 30 dni. Wiedza o tym, jak doszło do ataku, bardzo Ci się przyda. Na początek poczytaj o najczęściej spotykanych atakach spamerskich. Jeśli nie jesteś w stanie dowiedzieć się, jak doszło do ataku, zapoznaj się z listą kontrolną rzeczy, które możesz zrobić, by ograniczyć luki w witrynie:

  • Regularnie skanuj komputer: korzystaj z zaufanego programu antywirusowego i szukaj wirusów oraz luk w zabezpieczeniach.
  • Regularnie zmieniaj hasła: regularne zmienianie haseł do wszystkich kont powiązanych z witryną (FTP, CMS, konto u dostawcy usług hostingowych) może zapobiec nieautoryzowanemu dostępowi. Ważne, by dla każdego konta tworzyć silne, niepowtarzalne hasła.
  • Stosuj uwierzytelnianie dwuskładnikowe: zastanów się nad włączeniem go we wszystkich usługach, które wymagają logowania. Uwierzytelnianie dwuskładnikowe utrudnia hakerom zalogowanie się, nawet jeśli zdobędą Twoje hasło.
  • Regularnie aktualizuj system CMS, wtyczki, rozszerzenia i moduły: ten krok już prawdopodobnie masz za sobą. Wiele witryn ulega atakom z powodu nieaktualnego oprogramowania. Niektóre systemy CMS obsługują automatyczne aktualizacje.
  • Zastanów się nad subskrypcją usługi monitorowania Twojej witryny pod kątem bezpieczeństwa: dostępnych jest wiele ciekawych usług, które za niewielką opłatą pomogą Ci w tym zadaniu. Rozważ, czy warto zarejestrować się w którejś z nich, by lepiej chronić witrynę.

Dodatkowe zasoby

Jeśli wciąż masz problem z naprawieniem szkód w witrynie, poniżej znajdziesz więcej zasobów, które mogą okazać się pomocne.

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.

Virus Total, Aw-snap.info, Sucuri Site Check, Quttera: to tylko część narzędzi, które mogą skanować witryny pod kątem podejrzanej zawartości. Pamiętaj, że nie gwarantują one wykrycia wszystkich treści, które stanowią zagrożenie.

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