hamburger

(jeśli zgłaszasz przypadek phishingu, zapisz mail (przesuń go z programu pocztowego na pulpit komputera lub wybierz opcję plik/zapisz jako), a następnie załącz)

Podejrzany SMS prześlij na nr 508 700 900

Jeśli zgłoszenie dotyczy bezpieczeństwa dzieci, zgłoś je również pod http://www.dyzurnet.pl
@CERT_OPL

Analiza kampanii GHOSTPULSE+SectopRAT

Cyberprzestępcy stale modyfikują swoje techniki ataku, by skutecznie omijać mechanizmy ochrony użytkowników oraz detekcji zagrożeń. Dziś analizujemy kampanię malware SectopRAT, podszywającą się m.in. pod oprogramowanie AnyDesk.

Pod koniec 2023 roku zidentyfikowano ataki wykorzystujące pliki MSIX. Była to odpowiedź na coraz skuteczniejsze mechanizmy, utrudniające uruchamianie plików pobranych z internetu (funkcjonalność Mark-of-the-Web). Nowe podejście do dostarczania malware znalazło zastosowanie w kampanii GHOSTPULSE. Technika ta jest nową implementacją modułu, ładującego złośliwe oprogramowanie, atakujące komputery z systemem Windows. W ostatnich dniach zidentyfikowaliśmy kampanie phishingowe podszywające się pod różne znane aplikacje. Dalsza analiza wykazała, że wraz z fałszywymi domenami mamy do czynienia z GHOSTPULSE jako metodą dostarczenia malware SectopRat.

Fałszywy serwis AnyDesk

Na serwerze o IP 45.93.20[.]93 należącym do CHANGWAY-AS (kraj: Hongkong, AS57523) przestępca zarejestrował domeny: notliion[.]com, www.notliion[.]com, notlilon[.]co, amydlesk[.]com. Nazwy fałszywy domen wskazują w oczywisty sposób na próby podszycia się pod oprogramowanie Notion oraz AnyDesk. W dalszej analizie skupiliśmy się na wątku, związanym z AnyDesk.

Pod adresem amydlesk[.]com przestępcy umieścili dokładną kopię serwisu anydesk.com, z możliwością pobrania znanego i popularnego oprogramowania AnyDesk. Fałszywa domena jest typowym homografem domeny oryginalnej. Przy pobieżnej ocenie adresu ofierze może umknąć różnica w nazwie. Dodatkowo atakujący wykorzystali SEO poisoning i przy pomocy reklam przekierowywali użytkowników, których interesował AnyDesk, na swoją fałszywą stronę.

Fałszywa strona to kopia witryny AnyDesk

Rys. 1. Fałszywa strona AnyDesk

Sam docelowy serwis okazuje się być kopią na poziomie źródła strony. Jedyną różnicą jest przycisk „Download Now”, prowadzący do lokalnej strony ./download/dwnl.php. Z podstrony tej użytkownik w sposób niezauważalny przekierowywany jest do serwisu hxxps://monkeybeta[.]com/build/, gdzie czeka już na niego plik instalacyjny AnyDesk-x86.msix.

AnyDesk, ale nie tylko

Pobrany plik to paczka instalacyjna, zawierająca pliki, wymagane do działania formatu MSIX.

Paczka instalacyjna zawiera prawdziwy program AnyDesk

Rys. 2. Zawartość paczki instalacyjnej.

Co ciekawe, paczka zawiera oryginalny AnyDesk w wersja 7.1.12.0 (rys. 3). Co więcej, użytkownik faktycznie instaluje ten plik. Z tą różnicą, że normalnie pobrałby go z oryginalnych stron producenta. W opisywanej sytuacji atakujący jedną z nowszych technik infekowania ofiary złośliwym oprogramowaniem. Zastosowanie instalatora w formacie MSIX pozwala atakującemu przede wszystkim na ominięcie mechanizmu ochrony Mark-of-the-Web (MOTW), gdyż pliki MSIX nie podlegają tej kontroli. Co więcej, instalator jest podpisany cyfrowo, dzięki czemu nie wzbudza niepokoju mechanizmów bezpieczeństwa Windows.

Jak widać instalowany AnyDesk jest oryginalny

Rys. 3. Oryginalny AnyDesk dostarczany w złośliwej paczce instalacyjnej

Użytkownik nieświadomy, iż pobrał strojanizowany instalator AnyDesk, uruchomia go i instaluje oprogramowanie. Fakt, iż wykorzystujemy plik MSIX, powoduje iż poza uruchomieniem plików wykonywalnych ofiara uruchamia również skonfigurowany w config.json startowy skrypt powershell iiu.ps1.

Rys. 4. Plik konfiguracyjny instalatora MSIX: config.json

Na pozór nie wygląda on groźnie (rys. 5.), więc też systemy detekcji nie wykrywają zagrożenia. 

Rys. 5. Skrypt iis.ps1.

Wprawne oko od razu dojrzy kilka charakterystycznych elementów:

URl: hxxps://utr-jopass[.]com/buy/
User-Agent: lkmns32Sf3lkn
iwr – polecenie Invoke-WebRequest – pobranie zawartości z serwera WWW
iex – polecenie Invoke-Expression – uruchomienie polecenia na komputerze lokalnym

Skrypt pobiera kolejny plik ze zdalnego serwera i go uruchamia. W kolejnych krokach analizy zauważyliśmy, że ten docelowy drugi skrypt pobierany jest wyłącznie, gdy w komunikacji występuje właściwy User-Agent (lkmns32Sf3lkn). To pewna forma zapewnienia, by skrypt był pobierany tylko w konkretnym łańcuchu infekcji i nie został „przez przypadek” pobrany przez wyszukiwarki oraz inne działania analityczne wykonywane na docelowym serwerze.

Pobrany i uruchomiony plik (powershell-1.ps1) w pierwszej kolejności zbiera informacje o ofierze, m.in. te dotyczące systemu operacyjnego oraz zainstalowanego programu antywirusowego.

Get-WmiObject -Class Win32_OperatingSystem
Get-WmiObject Win32_ComputerSystem
Get-WmiObject -Namespace "root\SecurityCenter2" -Class AntiVirusProduct

Zebrane dane, skonwertowane do formatu JSON oraz zaszyfrowane kluczem RSA, przekazywane są do serwera C2 (hxxps://utr-jopass[.]com/index.php?utm_content=$encryptedString). W kolejnym kroku z serwera (hxxps://monkeybeta[.]com/crypt/ lub hxxps://trypython[.]cc/crypt/) pobierany jest plik Package.tar.gpg. Plik ten stanowi zaszyfrowaną paczkę ze złośliwym docelowym malware.

Oto GHOSTPULSE

Nasz skrypt dekoduje paczkę, rozpakowuje ją i instaluje (rys. 6.).

Rys. 6. Fragment skryptu odpowiedzialny za pobranie i dekodowanie złośliwego payloadu

Warto zwrócić uwagę, że paczka zapisywana jest w pliku o losowej nazwie składającej się z 8 znaków. Następnie jest deszyfrowana przy pomocy narzędzia gpg.exe. Sam gpg.exe jest dostarczany w instalatorze MSIX (lokalizacja: AnyDesk-x86.msix\VFS\AppData\local\gpg.exe). Deszyfracja pliku wykorzystuje linię poleceń GPG z następującymi parametrami:

echo 'riudswrk' | .$env:APPDATA\local\gpg.exe --batch --yes --passphrase-fd 0
--decrypt --output $env:APPDATA\$jam.rar $env:APPDATA\$jam.gpg

riudswrk – hasło do odkodowania pliku $env:APPDATA\$jam.gpg
--batch – wykonuje GPG w trybie nieinteraktywnym
--yes – odpowiedź „yes” na każde zapytanie programu
--passphrase-fd 0 – czyta hasło z deskryptora 0 (w tym wypadku jest to STDIN i hasło riudswrk) 
--decrypt – parametr nakazujący deszyfrację pliku
--output – parametr definiujący plik do zapisania wyniku

Efektem jest archiwum zip, rozpakowywane pod nazwą IEDSurvey.exe, które malware następnie uruchamia. Status uruchomienia raportuje się (po zakodowaniu kluczem RSA) do serwera C2 (hxxps://utr-jopass[.] com/index.php?utm_content=$encryptedString). W ten sposób na komputer ofiary trafia malware rodziny SectopRat. Przestępcy coraz częściej wykorzystują opisany wyżej sposób dostarczenia. Ma on już swoją nazwę – GHOSTPULSE.

Pora na SectopRAT

Uruchomiony IEDSurvey.exe z serwera o adresie hxxp://5.78.103[.]219 plik Ypmnasnb.wav. To zakodowany heksadecymalnie plik wykonywalny DLL (nazwijmy go Ypmnasnb.dll).  W dalszej fazie uruchomienia tworzy on nowy proces msbuild.exe, wstrzykując pobraną bibliotekę DLL za pomocą techniki “process doppelgänging”.

Analiza wstrzykniętego pliku binarnego wskazuje, że mamy do czynienia z SectopRAT, malware typu infostealer, napisanym w .NET. Gdy przyjrzeliśmy się głębiej kodowi, okazało sie, że w wielu miejscach jest on podobny do innego infostealera – RedLine.  Przykładowo pojawiają się takie same kontrakty danych (rys.  7). 

Rys. 7. Kontrakty danych w SectopRat oraz RedLine.

Malware wczytuje łańcuchy znaków z zasobów pliku wykonywalnego, a następnie deszyfruje je przy użyciu algorytmu XOR jednobajtowym kluczem, podanym w 3 argumencie metody decryptStrings (rys. 8.)

Rys. 8. Metoda decryptStrings malware SectopRat.

Jednobajtowy klucz umożliwia łatwe zdeszyfrowanie łańcuchów znaków. Dzięki temu proces może odczytać istotne dla działania tej próbki informacje, takie jak lokalizacja internetowa, skąd pobierany jest adres serwera C2. W tym wypadku jest to wpis na popularnym serwisie Pastebin: hxxps://pastebin[.]com/raw/wikwTRQc

Rys. 9. Adres C2 dostarczany za pośrednictwem Pastebin.

W badanej próbce serwerem C2 był IP: 109.107.182[.]209. Z adresem tym zainfekowany komputer prowadzi komunikację na dwóch portach:

109.107.182[.]209:15647
hxxp://109.107.182[.]209:9000/wbinjget?q=<uuid>

Podsumowanie

Przedstawiona analiza opisuje kampanię, używającą do infekcji infostealera SectopRat. Ofiary pozyskiwane były z wykorzystaniem SEO Poisoning. Ponieważ metoda ta jest coraz skuteczniejsza, przestępcy chętniej ją wykorzystują. Przestępcy reklamują serwisy, tworzą fałszywe repozytoria lub „zatruwają” istniejące strony tak, by przekierowywać użytkowników do swoich serwisów.  Rysunek 10 przedstawia wszystkie etapy działania kampanii GHOSTPULSE oraz końcowego stealera SectopRat.

Rys. 10. Łańcuch infekcji: GHOSTPULSE + SectopRat.

Całościowa analiza przynosi kilka spostrzeżeń:

  1. SEO Poisoning, wraz z towarzyszącymi mu serwisami podszywającymi się pod dostawców oprogramowania, stanowią coraz częstszy wektor ataku (infekcji malware).
  2. Dzięki użyciu pliku MSIX malware może łatwo ominąć zabezpieczenia związane z mechanizmem Mark-of-the-Web.
  3. Format MSIX pozwala na dostarczenie dodatkowych niezbędnych plików, takich jak GPG.
  4. MSIX wymaga interakcji z użytkownikiem (użytkownik jednak jest przekonany, iż instaluje niezłośliwy plik).
  5. Złośliwy payload pobierany jest w postaci zaszyfrowanej. Dzięki temu nie wykrywają go sieciowe narzędzia bezpieczeństwa.
  6. Wykorzystano Pastebin jako element konfiguracji C2. Ułatwia to szybką zmianę IP serwerów, na które prowadzona jest eksfiltracja danych.
  7. Komunikacja pomiędzy zainfekowanym komputerem a serwerem odbywa się na porty 15647 oraz 9000.
  8. Fałszywe serwisy utrzymywane są w infrastrukturze CHANG WAY TECHNOLOGIES CO. LIMITED, chętnie wykorzystywanej przez różne grupy cyberprzestępcze (analiza CTI).

Indicators of Compromise

amydlesk[.]com
monkeybeta[.]com
utr-jopass[.]com
utr-krubz[.]com trypython[.]cc

45.93.20[.]93
24.199.119[.]240
194.36.191[.]196
147.182.238[.]139
5.78.103[.]219
109.107.182[.]209

AnyDesk-x86.msix
95795940943602b907de356a63a95c32424237b7df2db563d2d4df3a25b83c51

iiu.ps1
5ee273180702a54f32520be02c170ad154588893b63eefe2062cdb34ad83712c

powershell-1.ps1
cea1c4f2229e7aa0167c07e22a3809f42ec931332da7cc28f7d14b9e702af66b

Package.gpg
bf14784b1aca3c3202ae3b9bf357d74b0f45b871e680c566ad228e95f16aa109

Package.rar
46f375b4726f9aaee390d75f3ed96322eaa14f254456f015b25a47a2f2c12d9d

IEDSurvey.exe
fc5117c136c1687eec2ae5ca5fcff7ffaa4036e384ed1594113122f75ddbca59

Ypmnasnb.wav
cdadd5fb5230a3cd60ac4398c0e33690905cfd5b737f48b2b29f2049b2f12a844

Ypmnasnb.dll
086a7fbed0be78c7959d3e630625304f08c67e341c3f5f89187d6e3849cd33b0

Ireneusz Tarnowski
Arkadiusz Bazak


Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Zobacz także