Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Worok: duży obraz

Skupiona głównie na Azji, ta nowa grupa cyberszpiegowska używa nieudokumentowanych narzędzi, w tym steganograficznego wyodrębniania ładunków PowerShell z plików PNG

Badacze z firmy ESET odkryli niedawno ataki ukierunkowane, które wykorzystywały nieudokumentowane narzędzia przeciwko różnym znanym firmom i samorządom, głównie w Azji. Ataki te zostały przeprowadzone przez wcześniej nieznaną grupę szpiegowską, którą nazwaliśmy Worok i która jest aktywna od co najmniej 2020 roku. Zestaw narzędzi Woroka zawiera program ładujący C++ CLRLoad, backdoora PowerShell PowHeartBeat oraz program ładujący C# PNGLoad, który wykorzystuje steganografię do wyodrębniania ukrytych złośliwych ładunki z plików PNG.

Kim jest Worok?

Podczas ProxyShell (CVE-2021-34523) zaobserwowaliśmy ujawnienie podatności na początku 2021 r. aktywność z różnych grup APT. Jeden wykazywał cechy wspólne z TA428:

  • Czasy aktywności
  • Branże docelowe
  • Korzystanie z ShadowPad

Reszta zestawu narzędzi jest zupełnie inna: na przykład TA428 wzięła udział w Kompromis w stanie Desktop w 2020 r. Uważamy, że powiązania nie są wystarczająco silne, aby uznać Worok za tę samą grupę co TA428, ale obie grupy mogą mieć wspólne narzędzia i mieć wspólne interesy. Postanowiliśmy stworzyć klaster i nazwać go Worok. Nazwa została wybrana po muteksie w programie ładującym używanym przez grupę. Z tą grupą powiązano następnie dalszą działalność z wariantami tych samych narzędzi. Zgodnie z telemetrią ESET, Worok jest aktywny od końca 2020 roku i nadal jest aktywny w chwili pisania tego tekstu.

Pod koniec 2020 roku Worok atakował rządy i firmy w wielu krajach, w szczególności:

  • Firma telekomunikacyjna w Azji Wschodniej
  • Bank w Azji Centralnej
  • Firma z branży morskiej w Azji Południowo-Wschodniej
  • Jednostka rządowa na Bliskim Wschodzie
  • Prywatna firma w Afryce Południowej

Nastąpiła znaczna przerwa w obserwowanych operacjach od 2021-05 do 2022-01, ale aktywność Woroków powróciła w 2022-02, ukierunkowana na:

  • Firma energetyczna w Azji Centralnej
  • Podmiot sektora publicznego w Azji Południowo-Wschodniej

Rysunek 1 przedstawia wizualną mapę termiczną docelowych regionów i branż.

Rysunek 1. Mapa docelowych regionów i branż

Biorąc pod uwagę profile celów i narzędzia, które widzieliśmy przeciwko tym ofiarom, uważamy, że głównym celem Woroka jest kradzież informacji.

Analiza techniczna

Chociaż większość początkowych dostępów jest nieznana, w niektórych przypadkach w latach 2021 i 2022 widzieliśmy exploity wykorzystywane przeciwko lukom ProxyShell. W takich przypadkach zazwyczaj webshelle są ładowane po wykorzystaniu tych luk w celu zapewnienia trwałości w sieci ofiary. Następnie operatorzy używali różnych implantów, aby uzyskać dalsze możliwości.

Po uzyskaniu dostępu operatorzy wdrożyli wiele publicznie dostępnych narzędzi rozpoznawczych, w tym: Mimikatz, Dżdżownica, Jerzy, Skanowanie NBT, a następnie wdrożyły własne implanty: program ładujący pierwszego etapu, a następnie program ładujący .NET drugiego etapu (PNGLoad). Niestety nie udało nam się odzyskać żadnego z ostatecznych ładunków. W 2021 pierwszym etapem programu ładującego był zespół CLR (CLRLoad), natomiast w 2022 został on w większości przypadków zastąpiony w pełni funkcjonalnym backdoorem PowerShell (PowHeartBeat) – oba łańcuchy wykonania przedstawiono na rysunku 2. Te trzy narzędzia są szczegółowo opisane w kolejnych podrozdziałach.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 2. Łańcuchy kompromisów woroka

CRLLoad: moduł ładujący zespół CLR

CRLLoad to ogólny system Windows PE, który widzieliśmy zarówno w wersjach 32-, jak i 64-bitowych. Jest to loader napisany w C++, który ładuje następny etap (PNGLoad), który musi być Zespół środowiska uruchomieniowego języka wspólnego (CLR) Plik DLL. Ten kod jest ładowany z pliku znajdującego się na dysku w legalnym katalogu, prawdopodobnie po to, by zmylić ofiary lub osoby odpowiadające na incydenty, myśląc, że jest to legalne oprogramowanie.

Niektóre próbki CRLLoad zaczynają się od dekodowania pełnej ścieżki pliku, którego zawartość zostaną załadowane w następnym etapie. Te ścieżki plików są zakodowane za pomocą jednobajtowego XOR, z innym kluczem w każdej próbce. Dekodowane lub jawne, te ścieżki plików są bezwzględne, a następujące to te, które napotkaliśmy:

  • C:Pliki programówVMwareVMware ToolsVMware VGAuthxsec_1_5.dll
  • C:Pliki programówUltraViewermsvbvm80.dll
  • C:Pliki programówInternet ExplorerJsprofile.dll
  • C:Program FilesWinRarRarExtMgt.dll
  • C:Pliki programów (x86)Foxit SoftwareFoxit Readerlucenelib.dll

Następnie tworzony jest muteks i w każdej próbce widzieliśmy inną nazwę. Program ładujący sprawdza ten mutex; jeśli zostanie znaleziony, kończy działanie, ponieważ program ładujący jest już uruchomiony. W jednej z próbek mutex Wo0r0KGWhYGO został napotkany, co dało grupie nazwę Worok.

Następnie CLRLoad ładuje zestaw CLR z prawdopodobnie zdekodowanej ścieżki pliku. Jako kod niezarządzany CRLLoad osiąga to poprzez CorBindToRuntimeEx Wywołania Windows API w 32-bitowych wariantach lub CLRCreateInstancja wywołania w wariantach 64-bitowych.

PowHeartBeat: backdoor PowerShell

PowHeartBeat to w pełni funkcjonalny backdoor napisany w PowerShell, zaciemniony przy użyciu różnych technik, takich jak kompresja, kodowanie i szyfrowanie. Na podstawie telemetrii ESET uważamy, że PowHeartBeat zastąpił CRLLoad w nowszych kampaniach Woroka jako narzędzie używane do uruchamiania PNGLoad.

Pierwsza warstwa kodu backdoora składa się z wielu fragmentów kodu PowerShell zakodowanego w base64. Po zrekonstruowaniu ładunku jest on wykonywany przez IEX. Po zdekodowaniu wykonywana jest kolejna warstwa zaciemnionego kodu, co widać na rysunku 3.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 3. Fragment zdekodowanej funkcji głównej drugiej warstwy PowHeartBeat

Druga warstwa backdoora pierwsza base64 dekoduje następną warstwę jego kodu, który jest następnie odszyfrowywany za pomocą Potrójny DES (tryb CBC). Po odszyfrowaniu ten kod jest dekompresowany za pomocą gzip algorytm, dając w ten sposób trzecią warstwę kodu PowerShell, która jest faktycznym backdoorem. Jest podzielony na dwie główne części: konfigurację i obsługę poleceń backdoora.

Główna warstwa kodu backdoora jest również napisana w PowerShell i używa protokołu HTTP lub ICMP do komunikacji z serwerem C&C. Działa tak, jak pokazano na rysunku 4.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 4. Funkcjonowanie PowHeartBeat

systemu

Konfiguracja zawiera wiele pól, w tym numer wersji, opcjonalną konfigurację proxy i adres C&C. Tabela 1 opisuje znaczenie pól konfiguracyjnych w różnych obserwowanych przez nas wersjach.

Tabela 1. Znaczenie pól konfiguracji

Nazwa pola Opis
nouse / ikuyrtydyfg
(inne próbki)
Nie używany.
Identyfikator klienta Identyfikator Klienta, wykorzystywany w następujących celach:
· Jako wartość przy konstruowaniu Nagłówek pliku cookie do komunikacji C&C.
· Jako artefakt kryptograficzny do szyfrowania przesyłanych danych.
Wersja Numer wersji PowHeartBeat.
ExecTimes Liczba dozwolonych prób wykonania przy wydawaniu UruchomCmd (polecenie uruchomione).
Agent użytkownika Agent użytkownika używany do komunikacji z C&C.
Referer Referer nagłówek używany do komunikacji C&C.
AkceptujKodowanie Nie używany.
Identyfikator klienta cookie
Identyfikator zadania cookie
CookieTerminalId
Wartości użyte do skonstruowania Cookies nagłówek komunikacji C&C.
URLHttps Protokół używany do komunikacji C&C.
Domena URL
Adres IP
domeny
Adres URL, domena(y) lub adres IP używany jako serwer C&C. Jeśli domeny nie jest pusty, jest wybierany zamiast Adres IP. W innych sprawach, Adres IP jest zajęty.
UrlWyślijSerceBeat Ścieżka URL używana, gdy backdoor prosi serwer C&C o polecenia.
UrlWyślijWynik Ścieżka URL używana, gdy backdoor wysyła wyniki polecenia z powrotem do serwera C&C.
PobierzUrl Pełny adres URL używany przez PowHeartBeat do żądania poleceń z serwera C&C. Jest to konkatenacja powyższych elementów adresu URL.
UmieśćUrl Taki sam jak PobierzUrl ale używany do wysyłania wyników polecenia z powrotem do serwera C&C.
obecna ścieżka Nie używany.
Flaga Włącz proxy Flaga wskazująca, czy backdoor musi korzystać z serwera proxy, czy nie, aby komunikować się z serwerem C&C.
Proxyg Adres proxy do użycia, jeśli Flaga Włącz proxy jest ustawione na $prawda.
Przedział Czas uśpienia skryptu w sekundach między żądaniami GET.
Podstawowa ścieżka konfiguracji Ścieżka do opcjonalnego pliku konfiguracyjnego zawierającego Czas pracy, Przestój, Domyślny przedział, domeny. Te wartości zostaną nadpisane, jeśli plik będzie obecny.
Czas pracy Pora dnia, od której backdoor zaczyna działać, co oznacza, że ​​zaczyna wysyłać żądania GET do serwera C&C.
Przestój Pora dnia, do której backdoor może działać, czyli czas, w którym przestaje wysyłać żądania do serwera C&C.
Indeks domeny Indeks bieżącej nazwy domeny, która ma być używana do komunikacji z serwerem C&C. W przypadku, gdy żądanie zwraca komunikat o błędzie inny niż 304 ("Niezmodyfikowany"), Indeks domeny jest zwiększony.
Sekretny klucz Klucz używany do odszyfrowania/szyfrowania konfiguracji. Konfiguracja jest szyfrowana wielobajtowym XOR.
Jeśli log Nie używany.
Jeśli ścieżka do pliku dziennika Flaga wskazująca, czy rejestrowanie jest włączone.
ścieżka dziennika Ścieżka do pliku dziennika.
Plik proxy Ścieżka do pliku opcjonalnej konfiguracji proxy. Jeśli jest pusty lub nie został znaleziony w systemie plików, backdoor pobiera ustawienia proxy użytkownika z wartości rejestru HKCUOprogramowanieMicrosoftWindowsAktualna wersjaUstawienia internetoweProxyServer .
JeśliKonfig Flaga wskazująca, czy użyć pliku konfiguracyjnego.

Rysunek 5 przedstawia przykład konfiguracji wyodrębnionej z próbki PowHeartBeat (SHA-1: 757ABA12D04FD1167528FDD107A441D11CD8C427).

Rysunek 5. Przykład konfiguracji

Szyfrowanie danych

PowHeartBeat szyfruje logi i dodatkową zawartość pliku konfiguracyjnego.

Zawartość pliku dziennika jest szyfrowana za pomocą wielobajtowego XOR z kluczem określonym w postaci zwykłego tekstu w próbce. Co ciekawe, Identyfikator klienta jest używany jako sól dla indeksu w tablicy kluczy. Kluczem jest 256-bajtowa tablica, która była identyczna w każdej napotkanej próbce. Dodatkowa zawartość pliku konfiguracyjnego jest szyfrowana za pomocą wielobajtowego XOR o wartości od Sekretny klucz jako jego klucz.

Komunikacja C&C

PowHeartBeat używał protokołu HTTP do komunikacji z C&C do wersji 2.4, a następnie przełączył się na ICMP. W obu przypadkach komunikacja nie jest szyfrowana.

HTTP

W nieskończonej pętli backdoor wysyła żądanie GET do serwera C&C, prosząc o wydanie polecenia. Zaszyfrowana odpowiedź jest odszyfrowywana przez backdoora, który przetwarza polecenie i zapisuje dane wyjściowe polecenia w pliku, którego zawartość jest następnie wysyłana do serwera C&C za pośrednictwem żądania POST.

Format żądań GET jest następujący:

Zwróć uwagę, że żądanie jest tworzone przy użyciu tytułowych pól konfiguracji.

W odpowiedzi z serwera C&C trzeci bajt treści to identyfikator polecenia, który wskazuje polecenie, które ma zostać przetworzone przez backdoora. Nazwiemy to polecenie_id. Pozostała zawartość odpowiedzi zostanie przekazana jako argument do przetwarzanego polecenia. Ta treść jest zaszyfrowana algorytmem pokazanym na rysunku 6, identyfikator zadania będąca wartością pliku cookie o nazwie Identyfikator zadania cookiewartość z konfiguracji.

Rysunek 6. Algorytm szyfrowania danych treści żądań

Odpowiedź z serwera C&C zawiera również inne ciasteczko, którego nazwa jest określona przez backdoora CookieTerminalId zmienna konfiguracyjna. Wartość tego pliku cookie jest powtarzana w żądaniu POST z tylnego wejścia i nie może być pusta. Po wykonaniu polecenia backdoora PowHeartBeat wysyła wynik jako żądanie POST do serwera C&C. Wynik jest wysyłany jako plik o nazwie .png.

ICMP

Począwszy od wersji 2.4 PowHeartBeat, HTTP został zastąpiony przez ICMP, wysyłał pakiety z limitem czasu wynoszącym sześć sekund i niefragmentowany. Komunikacja przez ICMP jest najprawdopodobniej sposobem na uniknięcie wykrycia.

Nie ma większych zmian w wersjach 2.4 i późniejszych, ale zauważyliśmy pewne modyfikacje w kodzie:

  • PowHeartBeat wysyła pakiet pulsu w każdej pętli zawierającej ciąg ABCDEFGHIJKLMNOPQRSTU VWXYZ, przed żądaniem polecenia. Informuje to serwer C&C, że backdoor jest gotowy do odbierania poleceń.
  • Żądania pobrania poleceń wykonywanych przez backdoora zawierają ciąg abcdefghijklmnop.

Pakiety bicia serca mają format opisany na rysunku 7.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 7. Układ pakietów pulsu

Różnica pomiędzy Identyfikator klienta i flaga klienta jest to, że Identyfikator klienta różni się w każdej próbce, podczas gdy flaga klienta jest taki sam w każdej próbce, która używa ICMP. flaga bicia serca wskazuje, że backdoor wysyła puls. Odpowiedź z serwera C&C ma format opisany na rysunku 8.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 8. Układ odpowiedzi serwera C&C

flaga tutaj wskazuje, czy istnieje polecenie do wydania backdoorowi. Żądania pobrania poleceń mają format opisany na rysunku 9.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 9. Układ żądań pobrania poleceń

Zwróć uwagę, że tryb ICMP backdoora umożliwia odbieranie nieograniczonej ilości danych podzielonych na porcje i zmienne długość danych, aktualna pozycja i długość całkowita służą do śledzenia przesyłanych danych. Odpowiedzi na te prośby mają format opisany na rysunku 10.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 10. Układ odpowiedzi na prośby o pobranie poleceń

Podobnie jak w odpowiedziach HTTP, identyfikatorem polecenia jest trzeci bajt dane.

Po siedmiu kolejnych odpowiedziach ICMP zawierających pustą lub niespójnie sformatowaną treść, transfery między backdoorem a serwerem C&C są uważane za zakończone.

W przypadku żądań wysłania wyniku wydanego polecenia do serwera C&C tryb serwera zmienia się na tryb post, a końcowy ciąg (abcdefghijklmnop) zmienia się dla danych wynikowych.

Polecenia tylnego wejścia

PowHeartBeat ma różne możliwości, w tym wykonywanie poleceń/procesów i manipulację plikami. W tabeli 2 wymieniono wszystkie polecenia obsługiwane przez różne analizowane próbki.

Tabela 2. Opisy poleceń PowHeartBeat

Imię Identyfikator polecenia Opis
Cmd 0x02 Wykonaj polecenie PowerShell.
Exe 0x04 Wykonaj polecenie jako a wygląda tak.
Udostępnianie pliku 0x06 Prześlij plik na zaatakowaną maszynę. Zawartość pliku jest skompresowana w formacie gzip.
Pobieranie pliku 0x08 Pobierz plik z zaatakowanej maszyny i zwróć ścieżkę pliku, długość pliku, czas utworzenia, czas dostępu oraz zawartość pliku na serwer C&C.
Widok pliku 0x0A Uzyskaj informacje o plikach z określonego katalogu, w szczególności:
· Nazwy plików
· Atrybuty plików
· Czasy ostatniego zapisu
· Zawartość pliku
Usuń plik 0x0C Usuń plik.
Zmień nazwę pliku 0x0E Zmień nazwę lub przenieś plik.
Zmień reż 0x10 Zmień bieżącą lokalizację roboczą backdoora.
Informacia 0x12 Uzyskaj kategorię informacji zgodnie z podanym argumentem:
· "Podstawowe informacje": Identyfikator klienta, Wersja, nazwa hosta, adresy IP, explorer.exe informacje o wersji i rozmiarze, system operacyjny (architektura i flaga wskazująca, czy maszyna jest serwerem), Przedział, bieżący katalog, informacje o dysku (nazwa, typ, wolne miejsce i całkowity rozmiar), aktualny czas
· „Informacje o przedziale czasowym”: Przedział i aktualny czas
· „Informacje o domenie”: odszyfrowana zawartość pliku konfiguracyjnego
Config 0x14 Zaktualizuj zawartość pliku konfiguracyjnego i ponownie załaduj konfigurację.
N / A 0x63 Wyjście tylnymi drzwiami.

W przypadku błędów po stronie backdoora, backdoor używa określonego identyfikatora komendy 0x00 w żądaniu POST do serwera C&C, co wskazuje na wystąpienie błędu.

Zwróć uwagę, że przed wysłaniem informacji z powrotem do serwera C&C, dane są kompresowane w formacie gzip.

PNGLoad: ładowarka steganograficzna

PNGLoad to ładunek drugiego etapu wdrożony przez Worok w zaatakowanych systemach i, zgodnie z telemetrią ESET, ładowany przez CRLLoad lub PowHeartBeat. Chociaż nie widzimy żadnego kodu w PowHeartBeat, który bezpośrednio ładuje PNGLoad, backdoor ma możliwość pobierania i wykonywania dodatkowych ładunków z serwera C&C, co jest prawdopodobnym sposobem, w jaki osoby atakujące wdrożyły PNGLoad w systemach zaatakowanych przez PowHeartBeat. PNGLoad to program ładujący, który używa bajtów z plików PNG do tworzenia ładunku do wykonania. Jest to 64-bitowy plik wykonywalny .NET – zaciemniony za pomocą Reaktor .NET – który podszywa się pod legalne oprogramowanie. Na przykład Rysunek 11 pokazuje nagłówki CLR przykładu maskującego się jako WinRAR DLL.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 11. Przykład fałszywego pliku WinRAR DLL

Po usunięciu zaciemnienia obecna jest tylko jedna klasa. W tej klasie jest GłównaŚcieżka atrybut zawierający ścieżkę katalogu, który backdoor przeszukuje, łącznie z jego podkatalogami, w poszukiwaniu plików z . PNG przedłużenie, jak pokazano na rysunku 12.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 12. . PNG lista plików

Każdy . PNG plik zlokalizowany przez to wyszukiwanie GłównaŚcieżka jest następnie sprawdzany pod kątem zawartości osadzonej steganograficznie. Po pierwsze, najmniej znaczący bit wartości R (czerwony), G (zielony), B (niebieski) i A (alfa) każdego piksela jest pobierany i składany w buforze. Jeśli pierwsze osiem bajtów tego bufora pasuje do magicznej liczby widocznej na rysunku 13, a następna ośmiobajtowa wartość control nie będzie pusta, plik przejdzie kontrolę zawartości steganograficznej PNGLoad. W przypadku takich plików przetwarzanie jest kontynuowane z pozostałą częścią bufora odszyfrowaną wielobajtowym XOR przy użyciu klucza przechowywanego w PNGLoad Tajne bajty kluczy atrybut, a następnie odszyfrowany bufor jest dekompresowany w formacie gzip. Oczekuje się, że wynikiem będzie skrypt PowerShell, który jest uruchamiany natychmiast.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Rysunek 13. Format bufora PNGLoad tworzonego z przetwarzania . PNG pliki

Co ciekawe, operacje wykonywane przez PNGLoad są rejestrowane w pliku, którego ścieżka jest zapisana w zmiennej Ścieżka do pliku dziennika. Operacje są rejestrowane tylko wtedy, gdy istnieje plik, którego ścieżka jest określona przez zmienną wewnętrzną Jeśli ścieżka do pliku dziennika.

Nie udało nam się uzyskać próbki . PNG używany wraz z PNGLoad, ale sposób działania PNGLoad sugeruje, że powinien on działać z prawidłowymi plikami PNG. Aby ukryć złośliwy ładunek, Worok używa obiektów Bitmap w C#, które pobierają tylko informacje o pikselach z plików, a nie metadane plików. Oznacza to, że Worok może ukrywać swoje złośliwe ładunki w prawidłowych, nieszkodliwie wyglądających obrazach PNG, a tym samym ukrywać się na widoku.

Wnioski

Worok to grupa cyberszpiegowska, która opracowuje własne narzędzia, a także wykorzystuje istniejące narzędzia, aby narażać swoje cele. Uważamy, że operatorzy chcą kradzieży informacji od swoich ofiar, ponieważ koncentrują się na znanych podmiotach w Azji i Afryce, atakując różne sektory, zarówno prywatne, jak i publiczne, ale ze szczególnym naciskiem na podmioty rządowe. Czasy aktywności i zestaw narzędzi wskazują na możliwe powiązania z TA428, ale dokonujemy tej oceny z małą pewnością. Ich niestandardowy zestaw narzędzi zawiera dwa programy ładujące — jeden w C++ i jeden w C# .NET — oraz jeden backdoor PowerShell. Chociaż nasza widoczność jest ograniczona, mamy nadzieję, że rzucenie światła na tę grupę zachęci innych badaczy do dzielenia się informacjami o tej grupie.

W przypadku jakichkolwiek pytań dotyczących naszych badań opublikowanych na WeLiveSecurity, prosimy o kontakt pod adresem groźba intel@eset.com.

Firma ESET Research oferuje teraz także prywatne raporty analityczne APT i źródła danych. W przypadku jakichkolwiek pytań dotyczących tej usługi, odwiedź Analiza zagrożeń firmy ESET strona.

IOCs

Akta

SHA-1 Nazwa pliku Nazwa wykrywania ESET Komentarz
3A47185D0735CDECF4C7C2299EB18401BFB328D5 scenariusz PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0003.
27ABB54A858AD1C1FF2863913BDA698D184E180D scenariusz PowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003.
678A131A9E932B9436241402D9727AA7D06A87E3 scenariusz PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0003.
757ABA12D04FD1167528FDD107A441D11CD8C427 scenariusz PowerShell/PowHeartBeat.B PowHeartBeat 2.1.3.0003.
54700A48D934676FC698675B4CA5F712C0373188 scenariusz PowerShell/PowHeartBeat.A PowHeartBeat 1.1.3.0002.
C2F53C138CB1B87D8FC9253A7088DB30B25389AF scenariusz PowerShell/PowHeartBeat.A PowHeartBeat 1.1.3.0002.
C2F1954DE11F72A46A4E823DE767210A3743B205 tmp.ps1 PowerShell/PowHeartBeat.B PowHeartBeat 2.4.3.0004.
CE430A27DF87A6952D732B4562A7C23BEF4602D1 tmp.ps1 PowerShell/PowHeartBeat.A PowHeartBeat 2.1.3.0004.
EDE5AB2B94BA85F28D5EE22656958E4ECD77B6FF scenariusz PowerShell/PowHeartBeat.A PowHeartBeat 2.4.3.0003.
4721EEBA13535D1EE98654EFCE6B43B778F13126 vix64.dll MSIL/PNGLoader.A Ładowarka PNG.
728A6CB7A150141B4250659CF853F39BFDB7A46C RarExtMgt.dll MSIL/PNGLoader.A Ładowarka PNG.
864E55749D28036704B6EA66555A86527E02AF4A jsprofile.dll MSIL/PNGLoader.A Ładowarka PNG.
8DA6387F30C584B5FD3694A99EC066784209CA4C vssxml.dll MSIL/PNGLoader.A Ładowarka PNG.
AA60FB4293530FBFF00D200C0D44EEB1A17B1C76 xsec_1_5.dll MSIL/PNGLoader.A Ładowarka PNG.
B2EAEC695DD8BB518C7E24C4F37A08344D6975BE MSVBVM80.DLL MSIL/PNGLoader.A Ładowarka PNG.
CDB6B1CAFEE098615508F107814179DEAED1EBCF lucenelib.dll MSIL/PNGLoader.A Ładowarka PNG.
4F9A43E6CF37FF20AE96E564C93898FDA6787F7D vsstrace.dll Win64/CRLLoad.C CLRLload.
F181E87B0CD6AA4575FD51B9F868CA7B27240610 plik szyfrujący.dll Win32/CRLLoad.A CLRLload.
4CCF0386BDE80C339EFE0CC734CB497E0B08049C plik szyfrujący.dll Win32/CRLLoad.A CLRLload.
5CFC0D776AF023DCFE8EDED5CADA03C6D7F9C244 wlbsctrl.dll Win64/CRLLoad.E CLRLload.
05F19EBF6D46576144276090CC113C6AB8CCEC08 wlbsctrl.dll Win32/CRLLoad.A CLRLload.
A5D548543D3C3037DA67DC0DA47214B2C2B15864 secur32.dll Win64/CRLLoad.H CLRLload.
CBF42DCAF579AF7E6055237E524C0F30507090F3 dbghelp.dll Win64/CRLLoad.C CLRLload.

Ścieżki plików

Niektóre z GłównaŚcieżka, Ścieżka do pliku dziennika i Jeśli ścieżka do pliku dziennika wartości, które napotkaliśmy w przykładach PNGLoad:

GłównaŚcieżka Ścieżka do pliku dziennika Jeśli ścieżka do pliku dziennika
C:Pliki programówVMwareVMware Tools C:Pliki programówVMwareVMware ToolsVMware VGAuthreadme.txt C:Pliki programówVMwareVMware ToolsVMware VGAuthVMWSU_V1_1.dll
C:Pliki programówWinRar C:Program FilesWinRarrrinstall.log C: Program FilesWinRardes.dat
C: Pliki programu UltraViewer C: Program Files UltraViewer (CopyRights.dat) C:Pliki programówUltraVieweruvcr.dll

Sieć

Domena IP
żaden 118.193.78[.]22
żaden 118.193.78[.]57
airplane.travel-commercials[.]agencja 5.183.101[.]9
central.suhypercloud[.]org 45.77.36[.]243

muteksy

W próbkach CRLLoad napotkane nazwy muteksów to:

aB82UduGX0EX
ad8TbUIZl5Ga
Mr2PJVxbIBD4
oERiQtKLgPgK
U37uxsCsA4Xm
Wo0r0KGWhYGO
xBUjQR2vxYTz
zYCLBTydzieńRX3t
3c3401ad-e77d-4142-8db5-8eb5483d7e41
9xvzMsaWqxMy

Obszerną listę wskaźników kompromisu (IoC) i próbek można znaleźć w nasze repozytorium GitHub.

Techniki SKOŚNE ATT&CK

Ten stół został zbudowany przy użyciu wersja 11 ramy MITER ATT&CK.

Taktyka ID Imię Opis
Rozpoznawczy T1592.002 Zbierz informacje o gospodarzu ofiary: Oprogramowanie PowHeartBeat zbiera explorer.exe's informacje.
T1592.001 Zbierz informacje o gospodarzu ofiary: Sprzęt PowHeartBeat zbiera informacje o dyskach.
T1590.005 Zbierz informacje o sieci ofiar: adresy IP PowHeartBeat zbiera adresy IP zhakowanego komputera.
Rozwój zasobów T1583.004 Uzyskaj infrastrukturę: serwer Worok korzysta z własnych serwerów C&C.
T1588.002 Uzyskaj możliwości: Narzędzie Worok wdrożył wiele publicznie dostępnych narzędzi na zaatakowanych maszynach.
T1583.001 Zdobądź infrastrukturę: domeny Worok zarejestrował domeny w celu ułatwienia komunikacji i stagingu C&C.
T1588.005 Zdobądź możliwości: Exploity Worok wykorzystał lukę ProxyShell.
T1587.001 Rozwijanie możliwości: złośliwe oprogramowanie Worok opracował własne złośliwe oprogramowanie: CLRLoad, PNGLoad, PowHeartBeat.
T1587.003 Rozwijanie możliwości: Certyfikaty cyfrowe Worok stworzył certyfikaty Let's Encrypt SSL, aby umożliwić wzajemne uwierzytelnianie TLS dla złośliwego oprogramowania.
Egzekucja T1059.001 Interpreter poleceń i skryptów: PowerShell PowHeartBeat jest napisany w PowerShell.
Uporczywość T1505.003 Składnik oprogramowania serwera: powłoka internetowa Worok używa webshell Jerzy.
Unikanie obrony T1140 Rozszyfruj/dekoduj pliki lub informacje Worok używa różnych niestandardowych schematów opartych na XOR do szyfrowania ciągów i dzienników w PowHeartBeat, PNGLoad i CLRLoad.
T1036.005 Maskarada: Dopasuj legalną nazwę lub lokalizację Próbki PNGLoad są instalowane w legalnie wyglądających katalogach VMWare.
Dostęp do poświadczeń T1003.001 Zrzucanie poświadczeń systemu operacyjnego: pamięć LSASS Worok używa Mimikatz do zrzucania poświadczeń z pamięci LSASS.
odkrycie T1082 Wykrywanie informacji o systemie PowHeartBeat zbiera informacje o systemie operacyjnym.
T1083 Wykrywanie plików i katalogów PowHeartBeat może wyświetlać listę plików i katalogów.
T1046 Wykrywanie usług sieciowych Zastosowania woroka NbtSkan w celu uzyskania informacji o sieci na zaatakowanych maszynach.
T1124 Wykrywanie czasu systemowego PowHeartBeat zbiera informacje o czasie ofiary.
Collection T1005 Dane z systemu lokalnego PowHeartBeat zbiera dane z lokalnego systemu.
T1560.002 Archiwizuj zebrane dane: Archiwum przez bibliotekę PowHeartBeat gzip kompresuje dane przed wysłaniem ich na serwer C&C.
Dowodzenia i kontroli T1071.001 Protokół warstwy aplikacji: protokoły internetowe Niektóre warianty PowHeartBeat używają HTTP jako protokołu komunikacji z serwerem C&C.
T1090.001 Pełnomocnik: Pełnomocnik wewnętrzny PowHeartBeat obsługuje konfigurację proxy na komputerze ofiary.
T1001.002 Zaciemnianie danych: steganografia PNGLoad wyodrębnia wartości pikseli z . PNG pliki do rekonstrukcji ładunków.
T1573.002 Szyfrowany kanał: kryptografia asymetryczna PowHeartBeat obsługuje komunikację HTTPS z serwerem C&C.
T1095 Protokół warstwy nieaplikacyjnej Niektóre warianty PowHeartBeat wykorzystują ICMP jako protokół komunikacyjny z serwerem C&C.
T1132.001 Kodowanie danych: kodowanie standardowe Worok używa kodowania XOR w PowHeartBeat i PNGLoad.
T1132.002 Kodowanie danych: niestandardowe kodowanie Worok używa algorytmów kodowania XOR, które wykorzystują dodatkową sól.
Exfiltracja T1041 Eksfiltracja przez kanał C2 PowHeartBeat wykorzystuje swój kanał komunikacji C&C do wydobywania informacji.

Worok: Pełen obraz PlatoBlockchain Data Intelligence. Wyszukiwanie pionowe. AI.

Znak czasu:

Więcej z Żyjemy w bezpieczeństwie