Perfctl Malware
Szczep groźnego oprogramowania zainfekował tysiące systemów opartych na Linuksie. Wyróżnia się on swoim ukrytym podejściem, szerokim zakresem błędnych konfiguracji, które może wykorzystać, i szerokim wachlarzem szkodliwych działań, które może wykonać.
Po raz pierwszy wykryte w 2021 r., to zagrożenie wykorzystuje ponad 20 000 powszechnie występujących błędnych konfiguracji do infiltracji systemów, stwarzając ryzyko dla milionów urządzeń podłączonych do Internetu. Ponadto wykorzystuje lukę CVE-2023-33426, krytyczną lukę o maksymalnym wyniku powagi 10, która została załatana w zeszłym roku w Apache RocketMQ, platformie do przesyłania wiadomości i strumieniowania szeroko stosowanej w systemach Linux.
Spis treści
Oprogramowanie złośliwe Perfctl jest wyposażone w szeroką gamę złośliwych możliwości
Perfctl zawdzięcza swoją nazwę złośliwemu komponentowi, który potajemnie wydobywa kryptowalutę. Twórcy, których tożsamość pozostaje nieznana, połączyli nazwę narzędzia do monitorowania wydajności Linuksa „perf” z „ctl”, powszechnym skrótem w narzędziach wiersza poleceń. Godną uwagi cechą Perfctl jest używanie nazw procesów i plików, które są bardzo podobne do tych typowych dla środowisk Linuksa, co pozwala mu uniknąć wykrycia przez dotkniętych nim użytkowników.
Aby jeszcze bardziej ukryć swoją obecność, Perfctl stosuje różne taktyki stealth. Wśród nich jest instalacja wielu komponentów jako rootkitów, określonej kategorii malware zaprojektowanej do ukrywania się przed systemem operacyjnym i narzędziami administracyjnymi. Dodatkowe strategie unikania obejmują:
- Zatrzymywanie łatwo wykrywalnych działań po zalogowaniu nowego użytkownika
- Wykorzystanie gniazda Unix przez TOR do komunikacji zewnętrznej
- Usunięcie pliku binarnego instalacji po wykonaniu i późniejsze uruchomienie jako usługa w tle
- Manipulowanie procesem Linux pcap_loop przy użyciu techniki znanej jako hooking, aby uniemożliwić narzędziom administracyjnym rejestrowanie złośliwego ruchu
- Blokowanie błędów komunikatów w celu uniknięcia widocznych alertów podczas wykonywania.
Perfctl jest zaprojektowany pod kątem trwałości, co pozwala mu pozostać na zainfekowanych maszynach nawet po ponownym uruchomieniu lub próbach wyeliminowania podstawowych komponentów. Osiąga to za pomocą technik, takich jak modyfikacja skryptu ~/.profile, który inicjuje środowisko podczas logowania użytkownika, umożliwiając załadowanie złośliwego oprogramowania przed prawidłowymi procesami serwera. Kopiuje się również do wielu lokalizacji dyskowych z pamięci. Podpięcie pcap_loop dodatkowo zwiększa trwałość, umożliwiając kontynuowanie niebezpiecznych działań nawet po wykryciu i usunięciu podstawowych ładunków.
Oprócz wykorzystywania zasobów systemowych do wydobywania kryptowaluty, Perfctl przekształca zainfekowaną maszynę w proxy generujące zyski, umożliwiając płacącym klientom przekazywanie ich ruchu internetowego. Badacze cyberbezpieczeństwa zauważyli również, że złośliwe oprogramowanie działa jako tylne wejście do instalowania innych rodzin złośliwego oprogramowania.
Przebieg ataku infekcji złośliwym oprogramowaniem Perfctl
Po wykorzystaniu luki lub błędnej konfiguracji kod exploita pobiera główny ładunek z zainfekowanego serwera, który został przekształcony w anonimowy kanał dystrybucji złośliwego oprogramowania. W badanym ataku ładunek został nazwany httpd. Po wykonaniu plik replikuje się z pamięci do nowej lokalizacji w katalogu /temp, uruchamia skopiowaną wersję, kończy oryginalny proces i usuwa pobrany plik binarny.
Po przeniesieniu do katalogu /tmp plik jest wykonywany pod inną nazwą, która naśladuje znany proces Linuxa, w tym przypadku konkretnie nazwany sh. Następnie ustanawia lokalny proces Command-and-Control (C2). Próbuje uzyskać uprawnienia roota, wykorzystując lukę CVE-2021-4043, lukę w zabezpieczeniach umożliwiającą eskalację uprawnień, która została załatana w 2021 r. w Gpac, popularnym środowisku multimedialnym typu open source.
Następnie złośliwe oprogramowanie kopiuje się z pamięci do kilku innych lokalizacji na dysku, ponownie używając nazw przypominających zwykłe pliki systemowe. Wdraża również rootkita wraz z zestawem powszechnie używanych narzędzi Linuksa, które zostały zmienione tak, aby działały jako rootkity, wraz ze składnikiem wydobywczym. W niektórych przypadkach złośliwe oprogramowanie instaluje oprogramowanie do „proxy-jacking”, co odnosi się do ukrytego kierowania ruchem przez zainfekowaną maszynę, ukrywając prawdziwe pochodzenie danych.
W ramach operacji C2 złośliwe oprogramowanie otwiera gniazdo Unix, tworzy dwa katalogi w katalogu /tmp i przechowuje tam dane operacyjne. Dane te obejmują zdarzenia hosta, lokalizacje jego kopii, nazwy procesów, dzienniki komunikacji, tokeny i dodatkowe informacje dziennika. Ponadto wykorzystuje zmienne środowiskowe do przechowywania danych, które wpływają na jego wykonywanie i zachowanie.
Wszystkie pliki binarne są spakowane, rozpakowane i zaszyfrowane, co pokazuje solidne zaangażowanie w unikanie środków bezpieczeństwa i komplikowanie wysiłków inżynierii wstecznej. Malware wykorzystuje zaawansowane taktyki unikania, takie jak wstrzymywanie swoich działań, gdy wykryje nowego użytkownika w plikach btmp lub utmp i kończenie wszelkich konkurencyjnych malware, aby utrzymać dominację nad zainfekowanym systemem.
Perfctl naraża na ryzyko dziesiątki tysięcy urządzeń
Analizując dane dotyczące liczby serwerów Linux podłączonych do Internetu w różnych usługach i aplikacjach, badacze szacują, że tysiące maszyn jest zainfekowanych Perfctl. Ich ustalenia wskazują, że pula podatnych maszyn — tych, które jeszcze nie zastosowały poprawki dla CVE-2023-33426 lub mają błędne konfiguracje — wynosi miliony. Jednak badacze nie ocenili jeszcze całkowitej kwoty kryptowaluty wygenerowanej przez szkodliwych górników.
Aby sprawdzić, czy ich urządzenie zostało zaatakowane lub zainfekowane przez Perfctl, użytkownicy powinni poszukać zidentyfikowanych wskaźników zagrożenia. Ponadto powinni być czujni na nietypowe skoki w wykorzystaniu procesora lub nieoczekiwane spowolnienia systemu, zwłaszcza w okresach bezczynności.