Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Graphite – malware pobierany najechaniem kursora myszy na element prezentacji Powerpoint

03 października 2022, 15:16 | W biegu | 1 komentarz

Badacze z Cluster25 zebrali i przeanalizowali załączniki wykorzystywane do instalacji złośliwego oprogramowania o nazwie Graphite, które jest powiązane z grupą APT28 “Fancy Bear”. Według Departamentu Sprawiedliwości USA, grupa jest wspierana i bezpośrednio związana z wywiadem rosyjskim. Graphite jest rodziną malware, która wykorzystuje bibliotekę cloudową Microsoft Graph API oraz dysk OneDrive jako komunikację serwera C2. 

Według analizy na blogu Cluster25, przechwycony dokument jest formą dwuslajdowej prezentacji w programie PowerPoint, której złośliwy kod jest wywoływany gdy użytkownik uruchomi prezentację dokumentu oraz najedzie na link kursorem myszy. Brzmi nieco Sci-Fi jednak poniższa analiza wskazuje, że to realny scenariusz. 

Według zebranych metadanych z przechwyconego dokumentu, hakerzy użyli szablonu wykorzystywanego przez Organizację Współpracy Gospodarczej i Rozwoju (OECD), współpracującej z rządami, politykami w sprawie rozwiązywania problemów społecznych, ekonomicznych i środowiskowych. Prezentacja zawiera dwa identyczne slajdy różniące się językiem. Pierwszy jest w wersji angielskiej, drugi we francuskiej. Dokument jest formą instrukcji jak wykorzystywać funkcję Interpretacji językowej w komunikatorze Zoom.

Rys. 1. Przykładowy slajd z dokumentu grupy APT28, źródło.

Prezentacja poprzez najechanie kursorem myszy, wyzwala wykonanie kodu, który jest osadzony pod hiperłączem na slajdzie. Jest to metoda inna niż powszechnie znana, gdzie infekowanie następuje typowo poprzez uruchomienie programu / makra. Po najechaniu kursorem myszy na link, wywoływany jest skrypt PowerShell. Niestety nie jest nigdzie dokładnie opisane w jaki sposób napastnicy osiągneli ten cel. Można jednak wnioskować, że pod kształt “Pole tekstowe” zostało umieszczone hiperłącze o konstrukcji “powershell://(…)” z zaznaczoną opcją “Screen Tip” jak przeprowadziliśmy testy na rys. 2. 

Rys. 2. Test funkcji Screen Tip dla linku w PowerPoint podczas widoku prezentacji slajdów.

Następnie skrypt uruchamia narzędzie SyncAppvPublishingServer (wywołanie operacji odświeżenia środowiska wirtualizacji App-V) – które służy jako loader do pobrania właściwej infekcji. Następnie pobierany jest rzekomy plik obrazu z konkretnego linku OneDrive DSC0002.jpeg, który tak naprawdę jest biblioteką DLL deszyfrowaną i zapisywaną w lokalizacji C:\ProgramiData\lmapi2.dll realizowaną komendą: 

/c reg ADD HKCU\Software\Classes\CLSID\{2735412E-7F64-5B0F-8F00-5D77AFBE261E}\InProcServer32 /t
REG_SZ /d C:\ProgramData\lmapi2.dll /ve /f /reg:64 && rundll32.exe C:\ProgramData\lmapi2.dll,#1

Rys. 2. Złośliwy skrypt PowerShell pod linkiem, źródło.

Plik lmapi2.dll tworzy nowy wątek, który jest jego własną mutacją nazwaną 56rd68kow. Następnie sprawdzany jest warunek, czy w/w. nazwa pliku już istnieje. Jeżeli nie to pobierany jest kolejny plik DSC0001.jpeg z innego konta OneDrive. Plik ten jest deszyfrowany za pomocą RSA i AES z API WinCrypt z zakodowanym kluczem publicznym. Następnie pobrany plik wywołuje nagłówek ntifs.h i odszyfrowuje zawartość w nowo przydzielonym regionie pamięci wirtualnej (rys. 3.). Następnie plik lmapi2.dll mutuje ponownie pod nazwą 42Htb600y i dokonywane jest pozostałe odszyfrowywanie i infekowanie celu.

Rys. 3. Wywołanie NtAllocateVirtualMemory, źródło.

Ciekawy natomiast jest sposób komunikacji z serwerem zarządzającym (C&C), gdyż korzysta z domeny grap[.]microsoft[.]com, czyli usługi Web API RESTful zapewniającej zasoby usługi chmurowej Microsoft. W celu autoryzowania dostępu do usługi niezbędne jest uzyskanie prawdziwego tokenu OAuth2 pod adresem login[.]microsoftonline[.]com/common/oauth2/v2.0/token. Odbywa się to za pomocą stałego klienta o identyfikatorze 62272a08-fe9d-4825-bc65-203842ff92bc.

Rys. 4. Uzyskany ID OAuth2 tokenu, źródło.

Badacze z Cluster25 opublikowali także gotowe reguły identyfikujące dla SNORT i YARA, więc przeklejamy je dla Was do implementacji:

SNORT:

alert tcp any any -> any any (
msg:"Cluster25 APT28 Graphite CnC Communication via client_id";
content:"POST";
http_method;
content:"client_id=62272a08-fe9d-4825-bc65-203842ff92bc";
http_client_body;
fast_pattern;
sid:10001;)

YARA:

rule Powerpoint_Code_Execution_87211_00007 {
meta:
author = "Cluster25"
description ="Detects Code execution technique in Powerpoint (Hyperlink and Action)"
hash1 = "d1bceccf5d2b900a6b601c612346fdb3fa5bb0e2faeefcac3f9c29dc1d74838d"
strings:
$magic = {D0 CF 11 E0 A1 B1 1A E1}
$s1 = "local.lnk" fullword wide
$s2 = "lmapi2.dll" fullword wide
$s3 = "rundll32.exe" fullword wide
$s4 = "InProcServer32" fullword wide
$s5 = "DownloadData" fullword wide
$s6 = "SyncAppvPublishingServer" fullword wide
condition: ($magic at 0) and (all of ($s*)) and filesize < 10MB
}

Na podstawie zebranych dowodów, prace nad kampanią odbywały się w pierwszym kwartale 2022, jednak aktywne linki pojawiły się dopiero w trzecim, co może być ewidentnym powiązaniem ataku z rosyjską grupą APT28 jako ataku wspierającego działania tradycyjnego pola walki w walce z Ukrainą.

Źródło:

  1. https://www-bleepingcomputer-com.cdn.ampproject.org/c/s/www.bleepingcomputer.com/news/security/hackers-use-powerpoint-files-for-mouseover-malware-delivery/amp/
  2. https://blog.cluster25.duskrise.com/2022/09/23/in-the-footsteps-of-the-fancy-bear-powerpoint-graphite/

~tt

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Mieczysław

    To win32.Adam, nowa technika wytrawnych hakerów Kremla

    Odpowiedz

Odpowiedz