Co „miau” Drupal? Luka bezpieczeństwa w popularnym CMS-ie

bezpieczeństwo
CMS
Krzysztof Surgut
09.05.2018 Krzysztof Surgut

Drupal to system zarządzania treścią. Może nie jest tak popularny jak WordPress, jednak jego obecność w sieci jest zauważalna.

Na stronie Drupal.org prezentowana jest statystyka ukazująca ilość aktywnych serwisów wykorzystujących system CMS Drupal. Stan na 29 kwietnia 2018 r. prezentuje liczbę ponad 1,1 mln serwisów, co stanowi ok. 2% serwisów internetowych w globalnej sieci.

Kto wykorzystuje Drupala? Choćby takie znane serwisy jak francuski La Figaro, General Electric, czy Mattel.

Jak widać, system jest widoczny w światowej sieci i serwisy internetowe korzystające z Drupala odwiedzane są przez miliony użytkowników na całym świecie, co wzbudziło oczywiste zainteresowanie hakerów – zwłaszcza, że Drupal jest open source’em. Ten fakt daje możliwość zapoznania się z kodem źródłowym systemu i poszukania w nim słabych punktów.

Najnowszą podatność okryto z początkiem 2018 r. CVE-2018-7600 to identyfikator podatności Drupala, pod jaką jego opis znajdziemy na stronie Common Vulnerabilities and Exposures.

Nie wdając się w szczegóły techniczne, odkryta podatność polega na możliwości zdalnych ataków na systemy wykorzystujące Drupal i wykonywanie na tym systemie dowolnego kodu. To oczywiście nie jedyna podatność, jaką zidentyfikowano w tym systemie. Jednak akurat to ta podatność pozwala hakerom wykorzystać serwisy z Drupalem do swoich nowych, przewrotnych ataków.

Miau, miau w akcji


Większości ataki hakerów kojarzą się z dwoma scenariuszami: haracz za zaszyfrowane lub skradzione dane albo kradzież ważnych danych lub pieniędzy.

Okazuje się, że można ukraść zdecydowanie więcej niż tylko dane czy pieniądze. Takim dobrem, którego poszukują hakerzy jest także… moc obliczeniowa.

Można okradać użytkowników internetu nie tylko z ich materialnej własności, ale także z własności, o której wielu z nas nie pamięta, czyli mocy obliczeniowej naszych komputerów czy terminali (np. smartfonów czy inteligentnych telewizorów).

Dotyczy to zarówno mocy procesorów, jak i prądu potrzebnego do ich pracy. W końcu nie tylko zapłaciliśmy za sprzęt, którego używamy, ale w dodatku płacimy także za prąd niezbędny do pracy tego sprzętu.

Przewrotność tej kradzieży polega na tym, że większość użytkowników nie jest świadoma, że ktoś używa ich komputera do innych celów. I nie chodzi wcale o botnety, o których pisałem wcześniej, ale o wykorzystanie komputerów osobistych i smartfonów do kopania kryptowalut.

Jak to się robi?


Kryptowaluty to w praktyce wykonywanie pewnych skomplikowanych obliczeń komputerowych. Do wykonania tych obliczeń wymaga się dwóch składników: mocy obliczeniowej oraz prądu. Bilans tych dwóch składników, w konfrontacji z kursem danej kryptowaluty, pokazuje poziom zysku, jaki można uzyskać za wykonanie obliczeń.

W przypadku profesjonalnych kopalni kryptowalut ich właściciele inwestują w zaawansowane systemy obliczeniowe i nieustannie poszukują sposobów na obniżenie rachunku za prąd.

Z kolei w przypadku wykorzystania naszych komputerów czy smartfonów odpadają dwa największe koszty ponoszone przy generowaniu krytptowaluty, czyli koszt sprzętu i koszt prądu.

Do kopania kryptowalut, przy wykorzystaniu komputerów osobistych, wykorzystuje się skrypt o nazwie pliku „me0w.js”. Nazwa brzmi jak dźwięki, które wydają koty, stąd można spotkać się z nazwą tego ataku jako „Kitty”.

Jak wygląda atak?


Infekuje się serwis internetowy, w tym wypadku wykorzystując lukę w systemie Drupal, i każdy użytkownik tego serwisu nieświadomie pobiera przez swoją przeglądarkę skrypt Java o kociej nazwie. Wykonywanie tego skryptu jest elementem procesu kopania kryptowalut (w tym wypadku chodzi o XMRig).

Dlaczego przeglądarka pobiera ten skrypt? Obecnie praktycznie każdy serwis internetowy wymaga pobrania przez przeglądarkę jakiegoś skryptu Java. Włożenie do tej gamy skryptu „me0w.js” jest tak samo proste, jak zmiana jednej linijki kodu witryny internetowej. Pod jednym warunkiem – musimy mieć dostęp do serwera, na którym jest zainstalowany serwis internetowy. Spełnienie tego warunku daje wykryta luka w Drupal.

Mogąc zdalnie wykonać dowolny kod na serwerze, można dokonać prawie każdej modyfikacji serwisu internetowego – np. dodać Java skrypt ładowany potem do przeglądarek użytkowników zainfekowanego serwisu internetowego. Skrypt na komputerze osobistym czy smartfonie będzie w tle wykonywał obliczenia, które służą do generowania kryptowalut.

Kto za ten proces obliczeniowy płaci? Właściciele stron.
A kto czerpie z całego procederu zyski? Hakerzy.

Jak się zabezpieczyć?


Metoda infekowania komputerów jest banalnie prosta, więc na szczęście i antidotum nie jest skomplikowane.

Wystarczy sprawdzić, czy na komputerze nie mamy pliku o dźwięcznej nazwie „me0w.js”. A jeżeli go znajdziemy to należy go usunąć. Można posłużyć się darmowym programem, który przeskanuje komputer i uczyni to za nas, np. Malwarebytes.

Osobnym wątkiem jest zabezpieczenie serwera Drupal przed zainfekowaniem. W tym wypadku także metoda jest prosta. Wystarczy zaktualizować wersję Drupal do najnowszej wersji. Nowa wersja załatała opisaną wcześniej podatność.

Nie znaczy to jednak, że „koci skrypt” nie trafi na Wasze komputery czy smartfony inną metodą.

Krzysztof Surgut
Krzysztof Surgut krzysztof.surgut@dataspace.pl Przez ostatnie 15 lat współrealizował zaawansowane, ogólnopolskie projekty telekomunikacyjne i informatyczne (m.in. w Dialog, HAWE). Ekspert z zakresu systemów transmisji danych, VoIP, IPTV, systemów bezpieczeństwa oraz systemów radiowych. Współtwórca pierwszego w Polsce Scrubbing Center.
Outsourcing IT
Oszczędności i inne zalety outsourcingu IT
Case study
Pełne środowisko IT dla IDEA07 - case study
   /   Newsy   /   Co „miau” Drupal? Luka bezpieczeństwa w popularnym CMS-ie