
Wprowadzenie do problemu / definicja
NetamLoader to nowo ujawniony framework do ładowania złośliwego kodu w środowisku .NET, zaprojektowany tak, aby uruchamiać kolejne komponenty malware w sposób utrudniający wykrycie. Kampania została powiązana z atakiem wymierzonym w wyspecjalizowaną kompilację systemu Windows 10 używaną przez podmioty rządowe w Azji, a jednym z kluczowych elementów operacji była iniekcja AppDomainManager pozwalająca uruchamiać nieautoryzowany kod w kontekście legalnego procesu.
Znaczenie tej kampanii wykracza poza pojedynczy incydent. Przykład NetamLoadera pokazuje, jak współczesne operacje ukierunkowane łączą zaufane komponenty systemowe, techniki charakterystyczne dla .NET oraz wieloetapowe ładowanie payloadów, aby uzyskać trwałość, ukrycie i elastyczność działania.
W skrócie
- NetamLoader został użyty przeciwko rządowym środowiskom Windows 10 w Azji.
- Łańcuch infekcji wykorzystywał AppDomainManager injection do uruchamiania złośliwego kodu w legalnym procesie.
- Pakiet malware ukryto w katalogu związanym z aktualizacjami systemu Windows.
- Ładunki były osadzane warstwowo z użyciem kodowania, kompresji i szyfrowania.
- Atak obejmował obejście AMSI, uruchamianie komponentów w procesie dllhost.exe, komunikację z serwerem C2 oraz usuwanie śladów po infekcji.
- Badacze biorą pod uwagę scenariusz kompromitacji łańcucha dostaw.
Kontekst / historia
Próbka została wykryta w pierwszej połowie 2026 roku. Złośliwy artefakt był spakowany w archiwum CAB i umieszczony w ścieżce wykorzystywanej przez system Windows do przechowywania pakietów aktualizacyjnych. Taki sposób osadzenia plików sugeruje próbę podszycia się pod zaufany mechanizm systemowy lub wykorzystania elementu środowiska, który z definicji nie budzi podejrzeń administratorów.
Dodatkowy kontekst stanowi podejrzenie ataku na łańcuch dostaw. Część plików obecnych w pakiecie odpowiadała legalnym komponentom narzędzia do zarządzania endpointami, co zwiększało wiarygodność całego zestawu. W praktyce oznacza to, że napastnicy mogli próbować wykorzystać reputację zaufanego oprogramowania administracyjnego, aby ukryć złośliwą aktywność i utrudnić wczesne wykrycie.
Analiza techniczna
Początek łańcucha infekcji stanowił plik wykonywalny inicjujący kolejne etapy poprzez konfigurację .NET. Mechanizm AppDomainManager injection został wykorzystany do przechwycenia inicjalizacji domeny aplikacji i załadowania biblioteki DLL w procesie legalnej aplikacji. Technika ta przypomina DLL sideloading, ale jest silniej osadzona w zachowaniu środowiska uruchomieniowego .NET.
Po uruchomieniu pierwszy moduł wyszukiwał lokalny plik konfiguracyjny i parsował jego zawartość w celu załadowania kolejnego zasobu. W dalszych warstwach znajdowały się zakodowane, skompresowane lub zaszyfrowane dane obejmujące pliki XAML, zestawy .NET oraz dane JSON. Takie wielowarstwowe opakowanie ładunków znacząco utrudnia analizę statyczną i wymusza obserwację dynamiczną, aby odtworzyć pełny przebieg infekcji.
Drugi etap infekcji obejmował wyspecjalizowane komponenty odpowiedzialne za uruchamianie kolejnych payloadów. Jeden z plików XAML ładował następny moduł, który inicjalizował dalsze elementy frameworka. Wśród nich znajdował się komponent odpowiedzialny za obejście AMSI, co ogranicza skuteczność mechanizmów skanowania treści wykonywanych przez interpretery i aplikacje zintegrowane z ochroną antymalware.
Następnie uruchamiany był moduł .NET odpowiedzialny za odszyfrowywanie, składanie i wykonywanie kolejnych komponentów, a także za raportowanie statusu do infrastruktury dowodzenia. Istotną rolę odgrywał również payload wykonywany w procesie dllhost.exe. Jego zadaniem było dekodowanie i ładowanie kolejnego pluginu .NET, pobieranie konfiguracji C2, zbieranie informacji o systemie z rejestru Windows oraz weryfikacja, czy malware działa we właściwym procesie.
Całość uzupełniał mechanizm opóźnienia typu jitter przed pierwszą komunikacją z serwerem C2, po którym następowało cykliczne odpytywanie infrastruktury sterującej w celu pobierania poleceń lub kolejnych ładunków wykonywanych w izolowanej domenie aplikacji. Taka architektura wskazuje, że NetamLoader nie jest jedynie pojedynczym dropperem, ale pełnoprawnym frameworkiem do elastycznego dostarczania funkcji po stronie ofiary.
Na szczególną uwagę zasługuje komponent antyforensics. Malware usuwało pliki wypakowane z archiwum CAB, logi użycia CLR oraz wpisy Prefetch systemu Windows. Takie działania utrudniają rekonstrukcję incydentu, ograniczają ilość dostępnych artefaktów i obniżają jakość materiału dowodowego dla zespołów DFIR.
Konsekwencje / ryzyko
Opisana kampania pokazuje rosnącą dojrzałość operacji wymierzonych w środowiska rządowe i inne organizacje o wysokiej wartości. Połączenie legalnych komponentów, mechanizmów .NET, wieloetapowego ładowania oraz czyszczenia śladów znacząco zwiększa skuteczność omijania klasycznych systemów detekcji opartych wyłącznie na sygnaturach.
Szczególne ryzyko dotyczy organizacji korzystających z niestandardowych obrazów systemu operacyjnego, rozbudowanych narzędzi administracyjnych i złożonego ekosystemu dostawców. Jeśli wektor ataku rzeczywiście był związany z łańcuchem dostaw, incydent potwierdza, że kompromitacja jednego zaufanego komponentu może otworzyć drogę do zaawansowanych operacji w środowiskach o bardzo wysokim poziomie ochrony.
Z perspektywy operacyjnej niebezpieczna jest również modułowość NetamLoadera. Oznacza ona możliwość dalszego rozszerzania funkcji malware o rekonesans, utrwalenie dostępu, eksfiltrację danych czy wykonywanie poleceń wyłącznie w pamięci, zależnie od odpowiedzi infrastruktury C2.
Rekomendacje
Organizacje powinny rozpocząć od przeglądu integralności ścieżek związanych z Windows Update, w tym katalogów SoftwareDistribution oraz nietypowych plików CAB, konfiguracji .config i bibliotek DLL pojawiających się w tych lokalizacjach. Każde odstępstwo od znanej konfiguracji bazowej powinno zostać skierowane do analizy bezpieczeństwa.
W środowiskach korzystających z aplikacji .NET warto wdrożyć rozszerzone monitorowanie ładowania AppDomainManager, nietypowych plików konfiguracyjnych aplikacji oraz uruchamiania legalnych procesów z anomaliami w łańcuchu modułów. Szczególnie skuteczne będą detekcje korelujące uruchomienie procesu, odczyt zasobów XAML, dynamiczne ładowanie assembly oraz późniejszą komunikację sieciową.
- Zweryfikować pochodzenie i integralność komponentów dostawców wykorzystywanych do zarządzania endpointami.
- Monitorować proces dllhost.exe pod kątem nietypowego ładowania bibliotek i aktywności sieciowej.
- Analizować artefakty wskazujące na obejście AMSI.
- Włączyć reguły wykrywające usuwanie Prefetch i śladów CLR po wykonaniu procesów.
- Rozwijać detekcję behawioralną dla wieloetapowych łańcuchów ładowania .NET.
- Ograniczać możliwość uruchamiania nieautoryzowanych komponentów z katalogów systemowych.
- Stosować ścisłą kontrolę aplikacji, podpisy kodu oraz segmentację uprawnień dla narzędzi administracyjnych.
- Regularnie testować scenariusze kompromitacji dostawcy i gotowość organizacji do reagowania na incydenty typu supply chain.
Podsumowanie
NetamLoader to przykład zaawansowanego malware, który łączy techniki in-memory, mechanizmy środowiska .NET oraz nadużycie zaufanych komponentów. Kampania pokazuje, że ataki na wyspecjalizowane systemy rządowe coraz częściej wykorzystują złożone łańcuchy wykonania, obejście mechanizmów ochronnych i działania antyforensics.
Dla obrońców oznacza to konieczność głębszego monitorowania środowisk .NET, kontroli integralności komponentów dostawców oraz wzmacniania detekcji anomalii w procesach systemowych i ścieżkach aktualizacyjnych. W praktyce skuteczna obrona wymaga dziś nie tylko ochrony punktowej, ale również korelacji zdarzeń, monitorowania zachowań i regularnej walidacji zaufanych elementów infrastruktury.