Jak naprawić szkody spowodowane atakiem wykorzystującym bezużyteczny tekst

W tym przewodniku omawiamy ataki hakerów polegające na dodawaniu do witryny stron z bezużytecznym tekstem zawierającym dużo słów kluczowych. Jest to tzw. atak z wykorzystaniem bezużytecznego tekstu. 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 hakerów.

Spis treści

Jak rozpoznać ten rodzaj ataku

Atak z wykorzystaniem bezużytecznego tekstu polega na automatycznym utworzeniu w witrynie wielu stron z pozbawionymi sensu zdaniami, zawierającymi słowa kluczowe. Nie są to strony utworzone przez Ciebie, ale wyświetlone na nich adresy URL mogą zachęcać użytkowników do kliknięcia. Celem hakerów jest wyświetlanie zhakowanych stron na wysokich pozycjach w wynikach wyszukiwania Google. Użytkownicy, którzy klikają te strony, są przekierowywani do witryn niepowiązanych z wynikiem wyszukiwania – np. do serwisów pornograficznych. Odwiedziny na tych niepowiązanych stronach przynoszą zyski hakerom. Oto kilka przykładowych plików, które można znaleźć w witrynie po ataku z wykorzystaniem bezużytecznego tekstu:

  • www.example.com/super-fryzury-tanio.html
  • www.example.com/darmowe-fajne-zdjecia.html
  • www.example.com/fajny-utwor-plik-do-pobrania.php

Czasem pojawiają się w folderze o nazwie składającej się z losowych znaków i utworzonej w różnych językach:

  • www.example.com/jfwoea/super-fryzury-tanio.html
  • www.example.com/jfwoea/darmowe-fajne-zdjecia.html
  • www.example.com/jfwoea/www-ki-motn-dudh-photo.php
  • www.example.com/jfwoea/foto-cewe-zaman-sekarang.php

Najpierw skorzystaj z narzędzia Problemy dotyczące bezpieczeństwa w Search Console i sprawdź, czy Google znajduje zmodyfikowane strony w Twojej witrynie. Czasem takie strony można również wykryć, wpisując site:your site url w wyszukiwarkę Google i podając główny adres URL witryny. Spowoduje to wyświetlenie stron zindeksowanych przez Google w Twojej witrynie – w tym stron 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ę. 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 bezużytecznego tekstu utworzonego przez hakera.

Zazwyczaj kliknięcie linka do zmodyfikowanej strony powoduje przekierowanie do innej witryny lub wyświetlenie bezużytecznego tekstu. Możesz też zobaczyć komunikat, że strona nie istnieje (np. błąd 404). Nie daj się zwieść. Haker będzie usiłował Cię przekonać, że zmodyfikowana strona zniknęła lub została poprawiona. W tym celu zastosuje maskowanie treści. Aby sprawdzić, czy tak się nie stało, wpisz adres URL witryny do narzędzia Pobierz jako Google. Pozwoli to zobaczyć ukryte treści.

Jeśli stwierdzisz takie problemy, prawdopodobnie Twoja witryna została zaatakowana właśnie w ten sposób.

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ć offline wszystkie pliki z serwera lub poszukać najlepszych metod tworzenia kopii zapasowej dla Twojego systemu zarządzania treścią.

Sprawdzanie pliku .htaccess (dwa kroki)

W przypadku ataku z wykorzystaniem bezużytecznego tekstu użytkownicy są przekierowywani z Twojej witryny za pomocą pliku .htaccess.

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.

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

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.

Jeśli nie ma domyślnego pliku .htaccess, a plik .htaccess w Twojej witrynie nie był przez Ciebie konfigurowany, znaleziony plik jest prawdopodobnie złośliwy. Zapisz kopię pliku (plików) .htaccess na wszelki wypadek offline, a następnie usuń plik .htaccess z witryny.

Znajdowanie i usuwanie innych złośliwych plików (pięć kroków)

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 (a także motywy, moduły i wtyczki). 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ę ewentualnych dostosowań. Zanim przystąpisz do ponownej instalacji, koniecznie utwórz kopię zapasową bazy danych i wszystkich plików.

Krok 2

Teraz musisz sprawdzić, czy w witrynie nie pozostały jeszcze jakieś złośliwe lub zmodyfikowane pliki. To najtrudniejsza i najbardziej czasochłonna część procesu, ale po niej niewiele już zostanie do zrobienia.

Po ataku tego rodzaju w witrynie najczęściej pozostają dwa typy plików: .txt i .php. Pliki .txt służą jako szablony, natomiast pliki .php określają, jakiego rodzaju pozbawiona sensu zawartość ma zostać załadowana w witrynie. Zacznij od wyszukania plików .txt. W zależności od sposobu łączenia się z witryną powinna być dostępna jakaś opcja wyszukiwania plików. Wyszukaj „.txt”, by zobaczyć wszystkie pliki z rozszerzeniem .txt. Większość będzie prawidłowymi plikami tekstowymi, takimi jak umowy licencyjne, pliki readme itp. Ty szukasz szczególnego zbioru plików .txt, zawierających kod HTML stosowany do tworzenia spamerskich szablonów. Poniżej prezentujemy fragmenty różnych kawałków kodu, które mogą się znaleźć w złośliwych plikach .txt.

Hakerzy tworzą spamerskie strony, posługując się metodą zastępowania słów kluczowych. Prawdopodobnie zobaczysz ogólne słowa, które można zastąpić innymi w całym modyfikowanym pliku.

  <title>{keyword}</title>
  <meta name="description" content="{keyword}" />
  <meta name="keywords" content="{keyword}" />
  <meta property="og:title" content="{keyword}" />

Ponadto większość tych plików zawiera pewien rodzaj kodu, który umieszcza spamerskie linki oraz spamerski tekst poza widoczną częścią strony.

  <div style="position: absolute; top: -1000px; left: -1000px;">
  Cheap prescription drugs
  </div>

Usuń te pliki .txt. Jeśli wszystkie znajdują się w tym samym folderze, możesz usunąć cały folder.

Krok 3

Złośliwe pliki PHP jest wykryć trochę trudniej. W witrynie może znajdować się jeden taki plik lub więcej. Mogą być umieszczone w tym samym podkatalogu bądź rozproszone w całej witrynie.

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.

Krok 4

Gdy utworzysz listę podejrzanych plików PHP, sprawdź, czy są prawidłowe czy 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. Ale nawet jeśli nie masz nic wspólnego z kodowaniem, warto poznać kilka podstawowych wzorców, których można szukać w podejrzanych plikach.

Najpierw przejrzyj podejrzane pliki pod kątem dużych bloków tekstu zawierającego kombinacje pozornie przemieszanych liter i liczb. Taki blok zwykle poprzedza kombinacja funkcji PHP takich jak base64_decode, rot13, eval, strrev, gzinflate. 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:

<!--Hackers try to confuse webmasters by encoding malicious code into blocks
of texts. Be wary of unfamiliar code blocks like this.-->

base64_decode(strrev("hMXZpRXaslmYhJXZuxWd2BSZ0l2cgknbhByZul2czVmckRWYgknYgM3ajFGd0FGIlJXd0VnZgk
nbhBSbvJnZgUGdpNHIyV3b5BSZyV3YlNHIvRHI0V2Zy9mZgQ3Ju9GRg4SZ0l2cgIXdvlHI4lmZg4WYjBSdvlHIsU2chVmcnBydv
JGblBiZvBCdpJGIhBCZuFGIl1Wa0BCa0l2dgQXdCBiLkJXYoBSZiBibhNGIlR2bjBycphGdgcmbpRXYjNXdmJ2blRGI5xWZ0Fmb
1RncvZmbVBiLn5WauVGcwFGagM3J0FGa3BCZuFGdzJXZk5Wdg8GdgU3b5BicvZGI0xWdjlmZmlGZgQXagU2ah1GIvRHIzlGa0B
SZrlGbgUGZvNGIlRWaoByb0BSZrlGbgMnclt2YhhEIuUGZvNGIlxmYhRWYlJnb1BychByZulGZhJXZ1F3ch1GIlR2bjBCZlRXY
jNXdmJ2bgMXdvl2YpxWYtBiZvBSZjVWawBSYgMXagMXaoRFIskGS"));

Czasem kod nie jest przemieszany i wygląda jak normalny skrypt. Jeśli nie masz pewności, czy kod jest nieprawidłowy, na forach pomocy dla webmasterów znajdziesz doświadczonych programistów, którzy pomogą Ci przejrzeć pliki.

Krok 5

Gdy wiesz już, które pliki są podejrzane, utwórz kopię zapasową lub lokalną – zapisz pliki na komputerze na wypadek, gdyby okazało się, że jednak nie są złośliwe, a potem usuń te podejrzane.

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 20% witryn zostaje ponownie zaatakowanych przed upływem jednego dnia. 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 zabezpieczeniach witryny:

  • Regularnie skanuj komputer: korzystaj z któregoś z popularnych programów antywirusowych 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ć:

Brakuje narzędzia, które Twoim zdaniem mogłoby się przydać? Napisz komentarz i daj nam znać.