Zespół Morphisec Labs namierzył i opisał unikalną, trwającą kampanię dostarczania malware typu RAT (Remote Access Trojan), która rozpoczęła się w lutym tego roku. Kampania jest wyjątkowa, ponieważ w dużym stopniu wykorzystuje język skryptowy AutoHotKey (AHK). Jest to darmowy i otwarty niestandardowy język skryptowy dla systemu Microsoft Windows, początkowo mający na celu zapewnienie łatwych skrótów klawiaturowych, szybkie tworzenie makr i automatyzację oprogramowania. Aktualnie nie jest powszechnie stosowany, ale jest idealną alternatywą dla hackerów, ponieważ może zostać wykorzystany do obejścia systemów AV i podszywania się pod legalny proces systemowy.
Sama kampania korzysta z kilku ścieżek infekcji, które ostatecznie prowadzą do tego samego celu – wdrożenia trojana zdalnego dostępu, czyli przejęcia kontroli nad maszyną.
Atakujący w tej kampanii używają wiele interesujących technik, takich jak:
- Obejście UAC
- Obejście emulatora
- Manipulacja Microsoft Defender
- Kompilacja In-Place
- Dostarczanie plików za pomocą usług udostępniania tekstu
Szczegóły techniczne
Kampania dostarczania RAT rozpoczyna się od skompilowanego skryptu AutoHotKey (AHK). Jest to samodzielny złośliwy plik wykonywalny (EXE) zawierający w sobie następujące elementy: interpreter AHK, skrypt AHK i wszelkie pliki, które zostały włączone za pomocą polecenia FileInstall. Zidentyfikowano kilka łańcuchów ataków powiązanych z tą kampanią, z których wszystkie zaczynają się od pliku wykonywalnego AHK, który prowadzi do różnych skryptów VBScript, które ostatecznie ładują RAT. Poniżej omówimy szczegóły techniczne każdego z zaobserwowanych łańcuchów ataków pokazanych na poniższym rysunku. Wszystkie obrazy zostały pobrane z artykułu Morphisec Labs.
Łańcuch ataku Houdini
Łańcuch ataku, który dostarcza VjW0rm i Houdini RAT, jest pierwszym, jaki zaobserwowano z modułem ładujący AHK. Został po raz pierwszy użyty w lutym 2021 roku i jest nadal wykorzystywany.
Najpierw skrypt AHK zrzuca legalną aplikację do katalogu %appdata% i wykonuje ją. Następnie umieszcza dwa pliki w katalogu %programdata%. Pierwszy plik nazywa się conhost.exe, a drugi – conhost.exe.manifest. Plik manifestu (XML) zawiera kod VBScript z kodowaniem base64 i informacje o sposobie wykonania skryptu. Plik musi znajdować się obok programu uruchamiającego conhost.exe. Dzięki takiemu zabiegowi, sam program uruchamiający jest legalnym narzędziem, nie wykrywanym w VirusTotalu, a cała złośliwa aktywność znajduje się w manifeście, którego treść jest zakodowana. Skrypt wykonuje legalną aplikację conhost.exe, która prowadzi do wykonania złośliwego manifestu poprzez przejęcie ścieżki.
Łańcuch ataku PowerShell
Ta ścieżka ataku pojawiła się po raz pierwszy pod koniec kwietnia 2021 r. Jest bardzo podobna do wcześniejszej, z wyjątkiem techniki dostarczania i rodzaju ostatecznego ładunku, którymi są tutaj LimeRAT i RevengeRAT. Oba dostarczone RAT-y komunikują się z tym samym adresem C2 – gamers2020.ownip[.]net.
RAT jest dostarczany przez zaciemniony VBScript (jak pokazano na obrazku poniżej), który jest upuszczany do katalogu %ProgramData% ofiary. Skrypt ten odszyfrowuje polecenie PowerShell, które pobiera następny etap z usługi podobnej do Pastebin o nazwie stikked.ch.
Etap Powershell z wklejenia osadza następny element łańcucha jako kod źródłowy C# reprezentowany w zakodowanym szesnastkowo obiekcie BLOB ($Win32Runpe na rysunku poniżej). Aby wykonać następny etap, Powershell dekoduje obiekt BLOB, kompiluje go i zapisuje w katalogu %temp% pod nazwą RegAsm.exe, a następnie wykonuje skompilowany plik EXE.
Zauważmy, że autor skompilował plik wykonywalny z GenerateExecutable = true, co jest rzadkością dla atakujących, ponieważ zazwyczaj plik wykonywalny kompilowany jest w pamięci za pomocą flagi GenerateInMemory = true. Może to być próba uniknięcia sytuacji wykrycia przez systemy AV właśnie tej flagi w kodzie.
Kod źródłowy C# osadza ładunek RAT jako obiekt blob zaszyfrowany algorytmem AES. Klucze deszyfrujące są również osadzone w kodzie źródłowym.
Łańcuch ataku HCrypt
Ten łańcuch różni się nieco od pozostałych, ponieważ pliki w pakiecie skryptów AHK mają różne konwencje nazewnictwa i nie zawierają programu uruchamiającego VBS.
Podobnie jak w poprzednich łańcuchach, skrypt AHK upuszcza i wykonuje legalną aplikację. Następnie zapisuje i wykonuje VBScript, który pobiera i uruchamia skrypt PowerShell w pamięci, który z kolei prowadzi do HCrypt. W tej kampanii obserwowano AsyncRAT jako ostateczny ładunek.
Podsumowanie
Mimo, że w tej kampanii opisaliśmy różne łańcuchy ataków, można je przypisać temu samemu aktorowi na podstawie poniższych artefaktów:
- Wszystkie ścieżki ataku upuszczają legalną aplikację przed wykonaniem jakiejkolwiek złośliwej aktywności.
- Mają tę samą konwencję nazewnictwa zasobów we wszystkich wersjach: * .MP4, KELLVBS.VBS, CONHOST.EXE itp.
- Skrypt AHK jest bardzo podobny we wszystkich łańcuchach, używając tych samych poleceń: FileInstall, run, sleep, drop.
- Zaobserwowano taką samą technikę spamowania katalogowego. a
- Łańcuchy używają tych samych skryptów i technik obejścia UAC, aby wyłączyć Defendera.
Różne techniki używane w tych kampaniach nie wpłynęły na ostateczną infekcje. Cele taktyczne pozostały takie same – upuszczenie trojana zdalnego dostępu. Zmiany techniki miały na celu ominięcie pasywnej kontroli bezpieczeństwa. Wspólnym mianownikiem wśród tych metod jest nadużywanie pamięci procesowej, co może pomóc w wykryciu zagrożenia na wczesnym etapie za pomocą np. systemów typu EDR.