
Co znajdziesz w tym artykule?
Wprowadzenie do problemu / definicja
Badacze bezpieczeństwa opisali nowy, wcześniej nieudokumentowany łańcuch infekcji wykorzystujący loader HollowFrame oraz backdoor Matryoshka. Kampania pokazuje, jak współczesne operacje malware łączą socjotechnikę, legalne komponenty systemowe i wieloetapowe ładowanie modułów, aby utrudnić wykrycie oraz analizę incydentu.
Szczególnie niebezpieczne jest tu połączenie kilku technik: spear-phishingu, uruchamiania złośliwego kodu przez pliki LNK, użycia PowerShell, DLL side-loadingu oraz mechanizmów trwałości. Taki model ataku zwiększa skuteczność w środowiskach Windows i ogranicza liczbę oczywistych artefaktów widocznych na pierwszym etapie kompromitacji.
W skrócie
- Atak rozpoczyna się od wiadomości spear-phishingowej z linkiem do zaszyfrowanego archiwum.
- W archiwum znajduje się plik LNK podszywający się pod dokumenty sprawy.
- Po uruchomieniu skrótu uruchamiany jest PowerShell pobierający kolejne komponenty.
- HollowFrame działa jako loader i mechanizm trwałości.
- Matryoshka pełni rolę backdoora i występuje co najmniej w dwóch wariantach komunikacji C2.
- Atak obejmuje techniki antyanalityczne, osłabianie ochrony oraz utrzymywanie dostępu w systemie.
Kontekst / historia
Opisana aktywność została zaobserwowana podczas ataku na dwa endpointy należące do nieujawnionej kancelarii prawnej. Taki wybór celu nie jest przypadkowy, ponieważ kancelarie przetwarzają dokumenty o wysokiej wartości operacyjnej, w tym dane klientów, materiały procesowe, umowy i poufną korespondencję biznesową.
Tematyka phishingu była dostosowana do codziennego kontekstu pracy ofiary. Plik podszywał się pod „Case Documents”, co zwiększało szansę na otwarcie archiwum i uruchomienie skrótu. To klasyczny przykład precyzyjnego spear-phishingu, w którym treść wiadomości i forma przynęty są dobierane do profilu organizacji.
Kampania wpisuje się również w rosnący trend modularnych infekcji. Zamiast jednego rozbudowanego malware operator rozdziela funkcje między loader, moduły uruchomieniowe, mechanizmy trwałości i właściwy backdoor. Dzięki temu poszczególne etapy wyglądają mniej podejrzanie, a obrona oparta wyłącznie na pojedynczych wskaźnikach kompromitacji ma mniejsze szanse na pełne wykrycie incydentu.
Analiza techniczna
Początkowym wektorem dostępu była wiadomość spear-phishingowa zawierająca odnośnik do zaszyfrowanego archiwum. Po jego pobraniu użytkownik trafiał na plik LNK, którego uruchomienie aktywowało sekwencję działań z użyciem PowerShell. Skrypt pobierał dalsze elementy z infrastruktury zdalnej, co pozwalało operatorowi elastycznie zmieniać kolejne etapy infekcji bez konieczności umieszczania pełnego zestawu narzędzi w pierwszym ładunku.
HollowFrame, napisany w Go, pełnił rolę modularnego frameworka ładującego oraz komponentu odpowiedzialnego za utrzymywanie dostępu. Został uruchomiony z użyciem DLL side-loadingu poprzez legalny plik wykonywalny python.exe oraz złośliwą bibliotekę python311.dll. To podejście pozwala ukryć start malware pod przykrywką zaufanego procesu i utrudnia wykrycie przez narzędzia bazujące głównie na reputacji plików.
Loader zawierał zaszyfrowany kontener, który po rozpakowaniu inicjował kolejny etap side-loadingu prowadzący do wdrożenia backdoora Matryoshka. W analizowanej kampanii HollowFrame realizował również funkcje antyanalityczne, sprawdzając między innymi czas działania systemu, ilość pamięci, liczbę plików w profilu użytkownika oraz aktywność kursora. Celem takich testów jest wykrycie środowisk sandboxowych i maszyn analitycznych, które często nie odzwierciedlają typowego środowiska użytkownika.
Trwałość została osiągnięta przez utworzenie zaplanowanego zadania. To popularna technika zapewniająca ponowne uruchomienie komponentu po restarcie systemu, a jednocześnie łatwa do ukrycia wśród legalnych zadań administracyjnych.
Matryoshka, napisana w Rust, była właściwym backdoorem kampanii. Występowała co najmniej w dwóch wariantach: jeden komunikował się przez HTTP, a drugi wykorzystywał prywatne repozytorium GitHub jako kanał C2. Funkcjonalnie malware umożliwiało zdalne wykonywanie poleceń, rekonesans, transfer plików oraz dostarczanie kolejnych narzędzi do już skompromitowanego hosta.
Szczególnie interesujący jest wariant oparty na GitHubie. W tym modelu dla każdej ofiary tworzony był osobny katalog nazwany według schematu host-użytkownik, zawierający pliki odpowiedzialne za beaconing, polecenia, wyniki działań oraz czasem dostarczanie dodatkowych plików. Takie użycie popularnej usługi internetowej może utrudniać odróżnienie ruchu C2 od zwykłej aktywności sieciowej.
Konsekwencje / ryzyko
Połączenie HollowFrame i Matryoshka daje atakującemu stabilny przyczółek w sieci ofiary. Umożliwia zdalne wykonywanie poleceń, rekonesans Active Directory, przesyłanie plików oraz uruchamianie dodatkowych payloadów. W praktyce otwiera to drogę do kradzieży poświadczeń, eskalacji uprawnień, ruchu bocznego i kompromitacji kolejnych systemów.
Dla kancelarii prawnych skutki mogą być szczególnie dotkliwe. Zagrożone są nie tylko dane klientów, lecz także dokumenty procesowe, materiały due diligence, projekty umów i wewnętrzna komunikacja związana ze sporami lub transakcjami. Nawet ograniczona początkowo infekcja endpointowa może szybko przerodzić się w incydent obejmujący większą część środowiska.
Dodatkowym problemem jest architektura wieloetapowa. Gdy każda faza ujawnia tylko część logiki ataku, organizacje monitorujące jedynie pojedyncze zdarzenia mogą nie zauważyć pełnego obrazu kompromitacji. Bez korelacji aktywności PowerShell, tworzenia zadań harmonogramu, nietypowego ładowania DLL oraz ruchu wychodzącego do usług zewnętrznych ryzyko przeoczenia incydentu znacząco rośnie.
Rekomendacje
Priorytetem powinno być wzmocnienie ochrony przed spear-phishingiem. Organizacje powinny filtrować wiadomości zawierające linki do archiwów, izolować zaszyfrowane archiwa z nieznanych źródeł oraz ograniczać możliwość uruchamiania plików LNK pobranych z internetu. Duże znaczenie ma także edukacja użytkowników, szczególnie w obszarze wiadomości podszywających się pod dokumentację prawną, finansową lub kadrową.
Na poziomie endpointów warto monitorować użycie PowerShell, zwłaszcza gdy jest uruchamiany przez skróty LNK, procesy potomne programów archiwizujących lub nietypowe aplikacje użytkownika. Istotne jest włączenie rejestrowania linii poleceń, logowania skryptów oraz wykrywania pobierania kolejnych etapów malware z zewnętrznych adresów.
Krytyczne pozostaje wykrywanie DLL side-loadingu. Zespoły bezpieczeństwa powinny identyfikować sytuacje, w których legalne binaria ładują biblioteki DLL z niestandardowych lokalizacji. Telemetrię EDR należy korelować z tworzeniem nowych plików DLL obok zaufanych plików wykonywalnych oraz z uruchamianiem procesów z katalogów tymczasowych i profili użytkowników.
W obszarze trwałości zalecane jest aktywne monitorowanie nowych zadań harmonogramu, szczególnie tych tworzonych krótko po otwarciu załącznika lub uruchomieniu skryptu. Pomocne są polityki ograniczające możliwość tworzenia takich zadań przez nieuprzywilejowanych użytkowników oraz alertowanie dla zadań uruchamiających interpretery, skrypty lub binaria z nietypowych ścieżek.
Ze względu na modułowy charakter zagrożenia i obecność technik antyanalitycznych warto postawić na analizę behawioralną, a nie wyłącznie na sygnatury. Dodatkowo należy monitorować ruch HTTP do nietypowych endpointów oraz użycie usług zewnętrznych jako potencjalnych kanałów C2. W środowiskach o wyższym poziomie ryzyka uzasadnione może być także ograniczenie dostępu stacji roboczych do publicznych platform deweloperskich tam, gdzie nie jest to niezbędne biznesowo.
Po stronie tożsamości i domeny kluczowe są segmentacja, zasada najmniejszych uprawnień, ochrona kont uprzywilejowanych, MFA oraz monitoring działań wskazujących na rekonesans Active Directory. W przypadku podejrzenia infekcji konieczne jest szybkie zabezpieczenie artefaktów z hosta, weryfikacja zadań harmonogramu, analiza procesów i ładowanych bibliotek oraz przegląd połączeń wychodzących i ewentualnych kolejnych payloadów.
Podsumowanie
Kampania wykorzystująca HollowFrame i Matryoshka jest przykładem dojrzałego, modułowego łańcucha infekcji zaprojektowanego z myślą o unikaniu wykrycia. Łączy starannie przygotowany spear-phishing, skróty LNK, PowerShell, DLL side-loading, mechanizmy trwałości oraz rozdzielenie funkcji pomiędzy wiele komponentów.
Dla zespołów bezpieczeństwa najważniejszy wniosek jest prosty: pojedynczy alert rzadko pokazuje pełny przebieg nowoczesnego ataku. Skuteczna obrona wymaga korelacji telemetrii z wielu warstw, w tym poczty, endpointów, tożsamości i ruchu sieciowego, oraz gotowości do analizy legalnych narzędzi i usług nadużywanych przez napastników.