Chiński cyberprzetępca Dragon Spark w natarciu z Remote Access Trojan

Chiński cyberprzetępca Dragon Spark w natarciu z Remote Access Trojan. Sentinel Labs prowadzi analizę ostatnich ataków grupy DragonSpark nakierowane na organizacje z Azji Wschodniej, która używa narzędzia do zdalnej administracji (RAT) SparkRAT. Jest to mało znane narzędzie open source napisane w Golang, które może działać w systemach Windows, Linux i macOS i może aktualizować się do nowych wersji za pośrednictwem serwera dowodzenia i kontroli (C&C). Spark RAT implementuje nietypową technikę utrudniania analizy statycznej i unikania wykrycia. Ataki DragonSpark wykorzystują zainfekowaną infrastrukturę zlokalizowaną w Chinach i na Tajwanie.

Zespół Sentinel Labs zaobserował naruszenia serwerów WWW i serwerów baz danych MySQL wystawionych do sieci Internet, jest to wada infrastruktury, która często prowadzi do poważnych incydentów obejmujących naruszenia danych, kradzieży danych uwierzytelniających lub możliwości ruchu bocznego w sieciach. Na zaatakowanych serwerach internetowych Sentinel Labs zaobserwował użycie powłoki sieciowej China Chopper, którą można rozpoznać po &echo [S]&cd&echo [E] sekwencji żądań terminali wirtualnych. China Chopper jest powszechnie używany przez chińskie ugrupowania cyberprzestępcze, o których wiadomo, że wdrażają powłokę sieciową za pomocą różnych wektorów, takich jak wykorzystywanie luk w zabezpieczeniach serwera WWW, skrypty krzyżowe lub wstrzykiwanie kodu SQL. Po uzyskaniu dostępu do środowiska cyberprzestępca przeprowadzał różne złośliwe działania, takie jak ruch boczny, eskalacja uprawnień, wdrażanie złośliwego oprogramowania i narzędzi hostowanych w infrastrukturze kontrolowanej przez osoby atakujące. Zaobserwowano, że cyberprzestępca polega w dużej mierze na narzędziach open source, które są opracowywane przez chińskojęzycznych programistów lub chińskich dostawców. Obejmuje to SparkRAT, a także inne narzędzia:

SharpToken : narzędzie do eskalacji uprawnień, które umożliwia wykonywanie poleceń systemu Windows z uprawnieniami SYSTEMOWYMI. Narzędzie umożliwia również uzyskiwanie informacji o użytkownikach i procesach oraz dodawanie, usuwanie lub zmianę haseł użytkowników systemu.

BadPotato : narzędzie podobne do SharpToken, które podnosi uprawnienia użytkownika do SYSTEM w celu wykonania polecenia. Narzędzie zaobserwowano w kampanii ataków prowadzonej przez chińskie ugrupowanie cyberprzestępcze w celu zdobycia danych wywiadowczych.

GotoHTTP : wieloplatformowe narzędzie do zdalnego dostępu, które implementuje szeroki wachlarz funkcji, takich jak ustanawianie trwałości, przesyłanie plików i widok ekranu.

Oprócz powyższych narzędzi, cyberprzestępca użył dwóch niestandardowych złośliwych programów do wykonywania złośliwego kodu: ShellCode_Loader, zaimplementowanego w Pythonie i dostarczonego jako pakiet PyInstaller, oraz m6699.exe, zaimplementowanego w Golang.

SparkRAT to RAT opracowany w języku Golang i wydany jako oprogramowanie open source przez chińskojęzycznego programistę XZB-1248 . SparkRAT to bogate w funkcje i wieloplatformowe narzędzie obsługujące systemy operacyjne Windows, Linux i macOS. SparkRAT wykorzystuje protokół WebSocket do komunikacji z serwerem C2 i posiada system aktualizacji. Dzięki temu RAT może automatycznie zaktualizować się do najnowszej wersji dostępnej na serwerze C2 po uruchomieniu, wysyłając żądanie aktualizacji. To jest żądanie HTTP POST, w którym parametr zapytania zatwierdzenia przechowuje aktualną wersję narzędzia.

Żądanie aktualizacji SparkRAT

Zzakres funkcjonalności SparkRAT:

Wykonywanie poleceń: w tym wykonywanie dowolnych poleceń systemu Windows i PowerShell. Manipulowanie systemem: w tym zamykanie systemu, ponowne uruchamianie, hibernacja i zawieszenie. Manipulowanie plikami i procesami: w tym przerywanie procesów oraz przesyłanie, pobieranie i usuwanie plików. Kradzież informacji: w tym eksfiltracja informacji o platformie (procesor, sieć, pamięć, dysk i informacje o czasie działania systemu), pobieranie zrzutów ekranu oraz wyliczanie procesów i plików.

Złośliwe oprogramowanie Golang m6699.exe wykorzystuje platformę Yaegi do interpretowania w czasie wykonywania zakodowanego kodu źródłowego Golang przechowywanego w skompilowanym pliku binarnym, wykonując kod tak, jakby był skompilowany. Jest to technika utrudniania analizy statycznej i unikania wykrycia przez mechanizmy analizy statycznej. Głównym celem m6699.exe jest wykonanie kodu powłoki pierwszego etapu, który implementuje program ładujący dla kodu powłoki drugiego etapu.

Kod źródłowy Golanga w m6699.exe

Podczas wykonywania programu m6699.exe osoba atakująca może ustanowić sesję Meterpretera w celu zdalnego wykonywania poleceń.

ShellCode_Loader to wewnętrzna nazwa złośliwego oprogramowania w pakiecie PyInstaller zaimplementowanego w Pythonie. ShellCode_Loader służy jako moduł ładujący kodu powłoki, który implementuje odwróconą powłokę, używa kodowania i szyfrowania, aby utrudniać analizę statyczną. Złośliwe oprogramowanie najpierw dekoduje Base-64, a następnie odszyfrowuje kod powłoki. ShellCode_Loader używa algorytmu szyfrowania AES CBC oraz klucza AES zakodowanego w standardzie Base-64 i wektora inicjującego do odszyfrowania.

Ataki DragonSpark wykorzystały infrastrukturę zlokalizowaną na Tajwanie, w Hongkongu, Chinach i Singapurze i wykorzystywaną do przygotowania SparkRAT oraz innych narzędzi i złośliwego oprogramowania. Serwery C2 znajdowały się w Hongkongu i Stanach Zjednoczonych.

Infrastruktura przemieszczania złośliwego oprogramowania obejmuje zainfekowaną infrastrukturę legalnych tajwańskich organizacji i firm, takich jak sprzedawcy produktów dla dzieci, galerie sztuki oraz sklepy web z grami. W ramach tej infrastruktury Sentinel Labs zaobserwował również instancję Amazon Cloud EC2.

Ponieważ SparkRAT jest wieloplatformowym i bogatym w funkcje narzędziem, które w dodatku regularnie jest aktualizowane o nowe funkcje, Sentil Labs szacuje, że w przyszłości ten RAT będzie bardzo atrakcyjnym narzędziem wśród cyberprzestępców. Ponadto cyberprzestępcy na pewno będą nadal badać techniki i specyfikę środowisk wykonawczych w celu unikania wykrycia i zaciemniania złośliwego oprogramowania.

Wskaźniki kompromisu

Opis Wskaźnik
ShellCode_Loader (pakiet PyInstaller) 83130d95220bc2ede8645ea1ca4ce9afc4593196
m6699.exe 14ebed449ccedac3610618b5265ff803243313d
SparkRAT 2578efc12941ff481172dd4603b536a3bd322691
Punkt końcowy sieci serwera C2 dla ShellCode_Loader 103.96.74[.]148:8899
Punkt końcowy sieci serwera C2 dla SparkRAT 103.96.74[.]148[:]6688
Punkt końcowy sieci serwera C2 dla m6699.exe 103.96.74[.]148:6699
Adres IP serwera C2 dla China Chopper 104.233.163[.]190
Pomostowy adres URL dla ShellCode_Loader hxxp://211.149.237[.]108:801/py.exe
Pomostowy adres URL dla m6699.exe hxxp://211.149.237[.]108:801/m6699.exe
Staging URL dla SparkRAT hxxp://43.129.227[.]159:81/c.exe
Pomostowy adres URL dla GotoHTTP hxxp://13.213.41.125:9001/go.exe
Pomostowy adres URL dla ShellCode_Loader hxxp://www.bingoplanet[.]com[.]tw/images/py.exe
Pomostowy adres URL dla ShellCode_Loader hxxps://www.moongallery.com[.]tw/upload/py.exe
Pomostowy adres URL dla ShellCode_Loader hxxp://www.holybaby.com[.]tw/api/ms.exe