Eksperci ds. cyberbezpieczeństwa odkryli nowe zagrożenie skierowane na systemy Linux – rootkit o nazwie PUMAKIT. Oprogramowanie to charakteryzuje się zaawansowanymi możliwościami, takimi jak eskalacja uprawnień, ukrywanie plików i katalogów oraz zapewnianie pełnej niewidzialności przed tradycyjnymi narzędziami systemowymi, co utrudnia jego wykrycie i eliminację.
Zespół badaczy Elastic Security Lab, w skład którego wchodzą Remco Sprooten i Ruben Groenewoud, podkreśla, że „PUMAKIT to wyrafinowany rootkit oparty na załadowalnym module jądra (LKM). Wykorzystuje zaawansowane mechanizmy ukrywania swojej obecności oraz mechanizmy komunikacji z serwerami dowodzenia i kontroli (C2).” Wyniki analizy technicznej zostały opublikowane w raporcie, zwracając uwagę na rosnące wyzwania związane z ochroną systemów Linux przed tego typu zagrożeniami.
Analiza samego rootkita została przeprowadzona na podstawie artefaktów przesłanych na platformę do skanowania złośliwego oprogramowania VirusTotal we wrześniu. Wykorzystano w tym celu zaawansowane narzędzia do analizy kodu złośliwego, dzięki czemu możliwe było pełne zrozumienie działania tej wieloetapowej architektury.
Rootkit PUMAKIT składa się z kilku warstw, które obejmują dropper o nazwie „cron”, dwa pliki wykonywalne w pamięci („/memfd:tgt” i „/memfd:wpn”), rootkit jądra w postaci modułu „puma.ko” oraz moduł użytkownika na poziomie przestrzeni (SO) o nazwie „Kitsune” („lib64/libs.so”). Taka konstrukcja umożliwia stopniowe uruchamianie poszczególnych komponentów, co sprzyja unikaniu podejrzeń i znacznie utrudnia wykrycie oraz analizę zagrożenia.
Kluczowym elementem jest wykorzystanie funkcji ftrace, wewnętrznego narzędzia Linuksa do śledzenia działań w jądrze systemu. PUMAKIT modyfikuje aż 18 różnych wywołań systemowych i funkcji jądra, takich jak „preparecreds” czy „commitcreds”, co pozwala na manipulację zachowaniem systemu na bardzo niskim poziomie. To sprawia, że rootkit jest w stanie modyfikować działanie systemu operacyjnego, pozostając jednocześnie praktycznie niewidzialnym dla jego użytkownika.
Zastosowane przez PUMAKIT metody są unikalne, a komunikacja z rootkitem odbywa się poprzez niestandardowe techniki, takie jak użycie syscall „rmdir()” do eskalacji uprawnień czy specjalne komendy pozwalające na ekstrakcję konfiguracji i danych runtime. Ważnym aspektem działania tego malware jest sprawdzanie specyficznych warunków, takich jak dostępność symboli jądra czy aktywność funkcji Secure Boot, przed jego pełnym uruchomieniem. Wszystkie niezbędne pliki są zakodowane w postaci binariów ELF w obrębie droppera, co eliminuje konieczność pobierania dodatkowych plików z zewnętrznych źródeł.
Co ciekawe, plik wykonywalny „/memfd:tgt” jest niezmodyfikowanym narzędziem Cron z systemu Ubuntu, które wykorzystano do potajemnej dystrybucji i inicjalizacji rootkita. Natomiast „/memfd:wpn” pełni rolę ładowarki, która aktywuje kolejny komponent, jeśli wcześniej wspomniane warunki zostaną spełnione. Rootkit jądra integruje się z plikiem SO (lib64/libs.so), który udostępnia interfejs komunikacji między rootkitem a częścią użytkownika systemu.
Autorzy raportu z Elastic podkreślają, że każdy etap infekcji został zaprojektowany tak, aby maksymalnie kamuflować obecność malware. PUMAKIT nie został jeszcze przypisany żadnej znanej grupie haktywistycznej lub operatorowi APT, jednak jego poziom zaawansowania czyni go wyjątkowo groźnym i trudnym do zwalczania zagrożeniem.
Eksperci podsumowują, że PUMAKIT reprezentuje rosnącą tendencję do tworzenia wyrafinowanych narzędzi złośliwego oprogramowania skierowanych przeciwko systemom Linux. Wykorzystanie takich technik, jak hakowanie syscalli, egzekucja z pamięci czy unikalne metody eskalacji uprawnień, wskazuje na ewolucję w sposobach atakowania środowisk pracy serwerów oraz urządzeń opartych o systemy uniksowe.