Jak naprawić swoją stronę po ataku hakerów?

Na fali ostatnich masowych włamań na strony internetowe oparte o Wordpress postanowiliśmy napisać dla Was poradnik o tym, jak zabezpieczyć swoją stronę przed tym, aby do takowych włamań nie dochodziło. W poniższym artykule opiszemy jedno z podejść, które stosowane jest przez profesjonalne firmy zabezpieczające strony internetowe, do których to zgłaszacie się, kiedy ktoś zainfekuje Waszą stronę wirusem.

Uważamy, że dostęp do wiedzy powinien być wolny, dlatego mamy nadzieję, iż firmy, które utrzymują się z takich zleceń, nie będą miały nam za złe, że opisujemy, jak można wykonywać taką pracę i jak przebiegają te czynności. Pokażemy tylko jedną z dróg, a jest ich wiele! Każda z nich jest dobra, jeżeli prowadzi do zabezpieczenia strony. Za samo przekazywanie wiedzy nie bierzemy pieniędzy – te powinny należeć się za wykonaną pracę.

Na co dzień bardzo rzadko zdarza się, by ktoś stworzył swoją stronę internetową i przed jej premierą zwracał się do firmy o sprawdzenie jej poziomu bezpieczeństwa. Dlaczego tak się dzieje? Uważamy, iż powodów jest co najmniej kilka. Oto najważniejsze z nich:

  • większość osób nie ma świadomości tego, iż mogą być celem ataków hakerskich;
  • testy penetracyjne stron internetowych są dodatkowym kosztem, którego małe firmy nie chcą ponosić (duże zresztą też nie chcą, ale to się zmienia ze względu na przepisy prawne, wymogi regulatorów oraz to, że coraz więcej poważnych wycieków danych jest nagłaśniana przez media – a chyba każdy chciałby mieć „podkładkę”, że zrobił wszystko, co mógł, aby ustrzec się przed włamaniem).

Zazwyczaj klienci firmy, która musi uporać się z włamaniem, zobaczą na stronie internetowej komunikat podobny do poniższego.

 

           

Problemem w tym momencie jest już to, że z pewnością jako właściciel strony internetowej, nie jesteś pierwszą osobą, która zobaczyła komunikat danego rodzaju. Prawda wygląda tak, że gdy już zobaczysz taką „wiadomość”, to zazwyczaj już od jakiegoś czasu możesz odczuwać negatywne skutki ataku hakerskiego na Twoją stronę. Aby skutki ataku były jak najmniejsze, trzeba działać jak najszybciej – tutaj liczą się naprawdę minuty.

Powyższy komunikat pojawia się tylko wtedy, gdy hakerzy, którzy zaatakowali Twoją stronę, usiłowali wykorzystać ją do ataku na innych użytkowników Internetu. Ty możesz nigdy nie zobaczyć tego komunikatu, podczas gdy Twoja strona jest już dawno przejęta przez hakerów. Dlaczego? Choćby dlatego, że hakerzy nie chcą zdradzać tego, że się do niej włamali – nie chcą jej do niczego wykorzystywać, ale jedynie mieć do niej dostęp ze względu na Twoje dane lub dane użytkowników danej strony.

Ale nie o tym miał być ten artykuł. Chcieliśmy stworzyć odpowiedni wstęp tak, aby każdy czytelnik, także ten mniej zorientowany, wiedział, o co dokładnie chodzi.

Wróćmy do sedna. Jedna z naszych specjalnie przygotowanych do wykrywania nowych malware stron internetowych (honeypot) została w ostatnim czasie zaatakowana i zawirusowana przez hakerów – wgrali oni wiele plików, które były zaciemnione i na pierwszy rzut oka nie było wiadomo, co takiego one robią. Jesteśmy profesjonalistami, dlatego mamy zintegrowane systemy wykrywania włamań, które niezwłocznie informują nas, kiedy tylko dojdzie do naruszenia.

Wyszło na jaw, że na serwer został wgrany plik /var/www/html/wordpress/wp-content/uploads/2017/02/scuko2.PHP o sumie kontrolnej 893409be04a160e14c150826bc7f6fdd. Sprawdziliśmy w kopiach zapasowych, czy takie pliki istniały wcześniej. Okazało się, że nie, więc sprawdziliśmy, o co chodzi. Uruchomienie pliku mogłoby wyrządzić szkody na serwerze produkcyjnym. Aby temu zapobiec, należy przekopiować go na bezpieczne środowisko.

Sam plik wyglądał następująco (fragment):

Jak widać wyżej, jest to zaciemniony kod PHP. Jako specjaliści od analizy malware zajmujemy się przekształcaniem takich kodów do postaci czytelnej. Jest to trudne – wymaga specjalistycznej wiedzy, a także jest czasochłonne. W danym artykule nie zamierzamy zgłębiać tego tematu. Bardziej zainteresowanych czytelników odsyłamy do https://www.acromediainc.com/blog/how-decode-obfuscated-php-files oraz naszego rodzimego http://sekurak.pl, gdzie z pewnością znajdziecie przydatne i ciekawe informacje odnośnie deobfuskacji („odciemniania”) kodu.

W tym celu trzeba było przeszukać pliki z logami naszego serwera webowego pod kątem wgranego pliku – w naszym przypadku będzie to scuko2.PHP. Bardzo ważne, aby wcześniej logować wszystko, co jest wysyłane z serwera. Niestety zazwyczaj administratorzy zapominają o tym, by logować dane przesyłane metodą POST. Na szczęście my pamiętamy!

Udało nam się odnaleźć request (żądanie wysłane do serwera WWW), które zawiera frazę, której szukaliśmy – scuko2.PHP.

 

Gdy odczytamy szczegóły tego requestu, znajdziemy więcej informacji.

 

Udało nam się uzyskać adres IP atakującego (103.25.78.111) oraz szczegóły ataku, tj. dane wysłane metodą POST (zawartość pliku uploadowanego na serwer wraz z nazwą).

Po zajrzeniu do źródła pliku upload_handler.php możemy zobaczyć, że nigdzie nie jest weryfikowane, czy osoba, która zamierza umieścić plik na serwerze, ma do tego prawa. Jak się okazuje, może to zrobić każdy, nawet anonimowy, użytkownik.

Całe źródło tego pliku udostępniamy tutaj http://pastebin.com/gKD6VfjY

Aby potwierdzić nasze słowa, spróbujemy uploadować własny plik na serwer za pomocą błędu, który odkryliśmy powyżej.

 

Powyższy zrzut ekranu – po lewej stronie – prezentuje wysyłane przez nas żądanie uploadwania pliku 38977.txt o zawartości TEST. Prawa strona zrzutu ekranu pokazuje odpowiedź serwera – że przyjął i zapisał plik w lokalizacji wp-content/uploads/2017/02/.

Kolejną czynnością jest pobranie tego pliku z serwera, aby upewnić się, że wszystko się udało (tak jak hakerowi, który również wykrył tę podatność).

 

Jak pokazujemy wyżej, pobraliśmy plik z http://site.lab/wp-content/uploads/2017/02/38977.txt o zawartości TEST.

OK. Czyli już wiemy, jak hakerzy włamali się na naszą stronę internetową. Teraz pora, by zdecydować, jak zabezpieczyć swoją stronę internetową. Najprościej będzie zaktualizować plik, który jest dziurawy – oczywiście, jeśli podatność ta jest znana publicznie.

Jeśli potrafimy programować w PHP, możemy sami zabezpieczyć plik. Ewentualnie możemy go usunąć lub zablokować dyrektywami w .htaccess.

Powyżej ukazaliśmy, jak „na piechotę” wykrywają włamania osoby znające się na bezpieczeństwie. Poniżej pokażemy, co możemy osiągnąć stosując ogólnodostępne oprogramowanie, które to powinno ułatwiać nam ocenę bezpieczeństwa naszego Wordpressa. W tym celu skorzystamy z darmowego narzędzia wpscan.

 

 

 

Wpscan to dosyć ciekawe narzędzie, które ma za zadanie sprawdzić, z jakich wtyczek i tematów graficznych korzystamy, by następnie porównać ich wersje. Jeżeli w bazie wpscan znajduje się dana wersja i jest do niej dopisana znana podatność, zostanie ona nam zaraportowana.

Bazując na powyższym przykładzie znaleźliśmy poważne błędy we wtyczce Yoast SEO – który to należałoby natychmiast zaktualizować, ponieważ jest to kolejny wektor ataku, jaki zostanie wykorzystany przez hakerów. Wpscan dostarczył nam także innych informacji – takich jak wersja używanego Wordpress, który również nie jest pierwszej świeżości i posiada znane podatności. Ponadto poinformował nas o katalogach, które możemy przeglądać. Niestety, jak pokazujemy – wpscan (tak bardzo uwielbiany przez wiele firm, które zabezpieczają wordpressy) nie pokazał podatności, którą znaleźliśmy w artykule powyżej. Nie pomoże tutaj nawet przełącznik –enumerate pt.

Powyższy przykład miał Wam pokazać, jak ważna jest ręczna praca, która powinna być tylko i wyłącznie uzupełniana narzędziami automatycznymi.

W sieci znajdziecie bardzo wiele poradników, które powiedzą Wam, że jeśli dojdzie do włamania, to powinniście usunąć wirusa (zazwyczaj antywirusem przeznaczonym dla PC – ale, jak pokazaliśmy w poście https://blog.webanti.com/pl/article/case-study-quot-wirusowy-quot-marketing-butw/, nie zawsze się o sprawdza, ponieważ nie każdy złośliwy kod wygląda jak wirus). 

W poradnikach tych zazwyczaj pisze się o tym, że należy zmienić hasła do FTP itp. Owszem, jest to również ważny krok.

Często spotykaną radą jest również odzyskanie swojej strony z kopii zapasowej sprzed włamania (infekcji). Ale skąd mamy wiedzieć, kiedy doszło do infekcji? Często jest tak, że wiemy o infekcji kilka tygodni po tym, gdy do niej doszło (a kopie zapisowe z tego okresu już dawno nie istnieją). Często bywa tak, że podatność istnieje od początku stworzenia naszej strony. Jest to więc tylko kwestia czasu, kiedy strona zostanie ponownie złamana.

Pamiętać należy również o tym, że kiedy już zrobimy porządek z naszą stroną, należy o tym powiadomić Google (jeśli widzieliście na swojej stronie ten czerwony komunikat z początku artykułu). Aby powiadomić Google o tym, że już uporaliśmy się z naszym problemem, należy skorzystać z tego poradnika https://developers.google.com/webmasters/hacked/docs/request_review.

 

 

 

Przetestuj darmową ochronę

Jak mówią – lepiej zapobiegać niż leczyć. Dotyczy to także bezpieczeństwa stron internetowych. Każdego roku zwiększa się ilość cyberprzestępstw wynikających z działalności hakerów bądź szkodliwego oprogramowania przez nich tworzonego. Wirusy/malware, ransomware, backdoor – lista zagrożeń jest długa. Na szczęście istnieją skuteczne sposoby zapobiegania im. Sprawdź, jak o bezpieczeństwo Twojej strony zadba Webanti.

Webanti to oprogramowanie antywirusowe, które umożliwia ochronę witryny internetowej w czasie rzeczywistym, a w przypadku próby ataku przez hakerów poinfrmuje właściciela strony.

Jesteś zainteresowany? Narzędzie Webanti możesz przetestować za darmo. W razie pomocy możesz także skorzystać z pomocy naszych konsultantów – 7 dni w tygodniu, przez całą dobę, przez cały rok.

Zaufaj wiedzy specjalistów i zacznij skutecznie chronić swoją stronę – sprawdź Webanti.