
Wprowadzenie do problemu / definicja
Grupa APT Mustang Panda, znana również jako HoneyMyte, rozbudowała malware CoolClient o komponent działający w trybie jądra systemu Windows. Taka zmiana znacząco podnosi poziom ukrycia zagrożenia, ponieważ rootkit kernel-mode może wpływać na widoczność procesów, plików, rejestru oraz części aktywności sieciowej z perspektywy systemu i narzędzi bezpieczeństwa.
W praktyce oznacza to przejście od klasycznego backdoora działającego w przestrzeni użytkownika do bardziej zaawansowanego implantu, który nie tylko utrzymuje dostęp do środowiska ofiary, ale również aktywnie utrudnia wykrycie, analizę i usunięcie infekcji.
W skrócie
- Nowy wariant CoolClient wdraża podpisany sterownik jądra jako usługę Windows.
- Komunikacja ze sterownikiem odbywa się przez żądania IOCTL.
- Rootkit ukrywa procesy, pliki, katalogi, wpisy rejestru i wybrane dane sieciowe.
- Malware chroni własne komponenty przed odczytem, modyfikacją i zakończeniem działania.
- Kampanie przypisywane Mustang Panda obserwowano m.in. w Pakistanie, Mongolii i Mjanmie.
- Profil ataków wskazuje przede wszystkim na cele rządowe i operacje cyberwywiadowcze.
Kontekst / historia
CoolClient nie jest nowym narzędziem w arsenale Mustang Panda. Wcześniejsze analizy opisywały ten backdoor jako modularne narzędzie szpiegowskie zdolne do prowadzenia rekonesansu, zarządzania plikami, przechwytywania danych oraz rozszerzania funkcji zależnie od potrzeb operatora.
W poprzednich kampaniach grupa wykorzystywała również inne implanty, w tym PlugX, a jej operacje wielokrotnie łączono z długotrwałym utrzymaniem dostępu i zbieraniem informacji z systemów o wysokiej wartości. Dodanie sterownika jądra pokazuje jednak istotny skok jakościowy: celem staje się już nie tylko eksfiltracja danych, ale także świadome zafałszowywanie obrazu systemu widzianego przez obrońców.
Analiza techniczna
Łańcuch infekcji wykorzystuje technikę DLL sideloading. Napastnicy przygotowują katalog imitujący legalne komponenty ochronne i używają prawidłowego pliku wykonywalnego do załadowania złośliwej biblioteki DLL. Pierwszy etap loadera odszyfrowuje kolejny moduł i ładuje go bezpośrednio do pamięci, a następne elementy odpowiadają za wykonanie właściwego backdoora oraz przechowywanie konfiguracji.
Po uruchomieniu implant ustanawia persistence na kilka sposobów. Może tworzyć zadanie harmonogramu uruchamiane przy starcie systemu z uprawnieniami SYSTEM, dodawać wpis AutoRun albo instalować się jako usługa Windows. Zanim wykona te działania, sprawdza obecność wybranych produktów bezpieczeństwa, co sugeruje próbę dostosowania zachowania do środowiska ofiary.
Ważnym etapem jest uzyskanie podwyższonych uprawnień. CoolClient korzysta z technik obejścia UAC, wstrzykiwania kodu do procesów systemowych, mechanizmów RPC i parent-process spoofing, aby działać w kontekście uprzywilejowanym bez wywoływania oczywistego alertu dla użytkownika. Dopiero wtedy rozpakowuje i instaluje sterownik msagent.sys.
Sterownik komunikuje się z komponentem user-mode za pomocą zestawu handlerów IOCTL i odpowiada za najważniejsze funkcje stealth oraz ochrony. Malware może przekazać do niego listy procesów, plików, katalogów, kluczy rejestru i wartości rejestru, które mają zostać ukryte lub zabezpieczone. Konfiguracja jest przechowywana w rejestrze systemowym, co ułatwia jej późniejsze odczytywanie i aktualizowanie.
Na poziomie procesów rootkit dynamicznie lokalizuje strukturę ActiveProcessLinks w obiektach EPROCESS, zamiast opierać się na stałych offsetach zależnych od wersji Windows. Dzięki temu może usuwać proces z aktywnej listy i przywracać go w późniejszym czasie, co utrudnia wykrycie przez narzędzia korzystające ze standardowej enumeracji. Dodatkowo sterownik rejestruje callbacki obiektów, procesów i ładowania obrazów, aby ograniczać prawa dostępu do chronionych procesów i wątków.
Ochrona plików jest realizowana przez minifilter systemu plików. Jeżeli ścieżka pliku lub katalogu odpowiada wpisowi z listy chronionej, sterownik może zablokować dostęp lub sprawić, że obiekt nie pojawi się podczas przeglądania zawartości. Analogicznie działa ochrona rejestru, gdzie klucze i wartości mogą zostać ukryte, a próby ich otwarcia, modyfikacji lub usunięcia kończą się odmową dostępu.
Szczególnie istotna jest funkcja filtrowania danych sieciowych. Rootkit podpina się do sterownika Nsiproxy, aby modyfikować informacje zwracane do warstwy user-mode. Po wskazaniu adresu serwera C2 może usuwać odpowiadające mu wpisy z wyników zwracanych aplikacjom i narzędziom analitycznym. W efekcie połączenie z infrastrukturą atakującego może nadal istnieć, ale nie być widoczne dla części narzędzi działających wyłącznie w przestrzeni użytkownika.
Analiza kodu wskazuje też na znacznie szerszy zestaw możliwości niż te wykorzystane w obserwowanej kampanii. W sterowniku wykryto liczne handlery IOCTL, które mogą służyć do ukrywania modułów jądra, manipulowania rejestrem, kończenia procesów, ładowania dodatkowych sterowników oraz wykonywania operacji na arbitralnych adresach pamięci jądra. To sugeruje, że msagent.sys pełni rolę pełnoprawnego zestawu narzędzi kernel-mode, a nie tylko prostego dodatku maskującego aktywność malware.
Konsekwencje / ryzyko
Wdrożenie rootkita jądra znacząco zwiększa odporność malware na detekcję i usunięcie. Dla zespołów SOC, DFIR i administratorów oznacza to, że klasyczne wskaźniki kompromitacji na poziomie procesów, plików czy autostartu mogą być niewystarczające, ponieważ część danych prezentowanych przez system może zostać celowo zafałszowana.
Ryzyko obejmuje kilka warstw jednocześnie. Po pierwsze, trwałość infekcji rośnie dzięki wielu mechanizmom persistence i ochronie komponentów. Po drugie, analiza incydentu staje się trudniejsza, ponieważ wymaga weryfikacji sterowników, callbacków jądra, filtrów systemu plików oraz anomalii w danych sieciowych. Po trzecie, obecność niewykorzystanych jeszcze funkcji wskazuje, że operatorzy mogą szybko rozszerzyć możliwości działania w kolejnych etapach kampanii.
Dla organizacji rządowych, dyplomatycznych i innych podmiotów o wysokiej wartości wywiadowczej oznacza to ryzyko długotrwałej, trudnej do wykrycia kompromitacji. Taki implant wspiera ciche utrzymanie dostępu, zbieranie poświadczeń i danych operacyjnych oraz utrudnia rzetelne oszacowanie skali incydentu.
Rekomendacje
Organizacje powinny traktować tego typu aktywność jako incydent wymagający analizy również na poziomie jądra systemu. Kluczowe jest korelowanie telemetrii z wielu źródeł, w tym EDR, Sysmon, logów usług, zmian w harmonogramie zadań, artefaktów sterowników oraz danych sieciowych zbieranych poza hostem.
- Monitorować instalację nowych usług i sterowników, szczególnie uruchamianych z nietypowych lokalizacji.
- Wykrywać przypadki DLL sideloading oraz tworzenie katalogów podszywających się pod komponenty bezpieczeństwa.
- Egzekwować polityki ograniczające ładowanie sterowników i stosować listy dopuszczeń.
- Analizować użycie sterowników podpisanych starymi lub nietypowymi certyfikatami.
- Regularnie sprawdzać anomalia w callbackach jądra, minifilterach oraz listach modułów i procesów.
- Przy podejrzeniu rootkita wykonywać analizę pamięci i badanie offline, zamiast polegać wyłącznie na lokalnych poleceniach systemowych.
- Porównywać widok systemu z perspektywy hosta i zewnętrznych sensorów sieciowych.
W środowiskach wysokiego ryzyka warto dodatkowo aktualizować playbooki detekcyjne o techniki ukrywania procesów, plików i wpisów rejestru, a także wzmacniać segmentację administracyjną, kontrolę aplikacji i monitoring działań wykonywanych z uprawnieniami SYSTEM.
Podsumowanie
Nowy wariant CoolClient pokazuje, że Mustang Panda konsekwentnie rozwija swoje operacje w kierunku głębszej ingerencji w system Windows i skuteczniejszego ukrywania aktywności. Dodanie podpisanego sterownika jądra zmienia charakter zagrożenia z rozbudowanego backdoora szpiegowskiego w implant zdolny do aktywnego manipulowania widocznością procesów, plików, rejestru i części komunikacji sieciowej.
Dla obrońców to wyraźny sygnał, że analiza zagrożeń APT nie może kończyć się na warstwie user-mode. Współczesne kampanie coraz częściej łączą persistence, stealth i ochronę własnych komponentów w jeden spójny łańcuch operacyjny, który wymaga głębszej telemetrii i bardziej zaawansowanych metod dochodzeniowych.
Źródła
- https://securityaffairs.com/197274/apt/mustang-panda-upgrades-coolclient-with-a-kernel-rootkit.html
- https://securelist.com/honeymyte-updates-coolclient-uses-browser-stealers-and-scripts/118664/
- https://www.trendmicro.com/vinfo/my/security/research-and-analysis/threat-reports/roundup/calibrating-expansion-2023-annual-cybersecurity-threat-report
- https://www.sophos.com/en-us/blog/border-hopping-plugx-usb-worm/