The Cobalt Strike payload

FortiGuard Labs je nedavno identifikovao sofisticirani cyber napad koji uključuje Excel datoteku ugrađenu sa VBA macro dizajniranim za primjenu DLL datoteke.

Napadač koristi strategiju zlonamjernog softvera u više faza kako bi isporučio ozloglašeni “Cobalt Strike”  payload i uspostavio komunikaciju sa komandnim i kontrolnim (C2) serverom.Ovaj napad koristi različite tehnike izbjegavanja kako bi se obezbijedila uspješna isporuka payload.

U proteklih nekoliko godina Ukrajina je bila značajna meta zbog svoje geopolitičke situacije. Istorija ovih napada otkriva obrazac sve veće složenosti i učestalosti, posebno tokom perioda geopolitičke napetosti. Na primjer, 2022, FortiGuard Labs je izvještavao o kampanji koja koristi zlonamjerni Excel dokument o ukrajinskoj vojsci za isporuku višestepenog Cobalt Strike loader. 2023. godine, ukrajinski tim za hitne slučajeve (CERT-UA) otkrio je da je UAC-0057 bio uključen u napad koristeći zlonamjerni XLS fajl koji sadrži macro i sliku mamca za postavljanje PicassoLoader-a i Cobalt Strike Beacon-a na zloupotrebljene sisteme.

U ovom tekstu ćemo istražiti tehničke detalje ovog najnovijeg napada u više faza.

Slika 1: proces napada

Excel dokument

Zlonamjerni Excel dokument sadrži elemente na ukrajinskom jeziku koji su dizajnirani da namame korisnika da omogući svoje makronaredbe

Slika 2: Excel dokument prije omogućavanja VBA

Kada se VBA macronaredba omogući, dokument se prebacuje na sheets koji se odnose na obračun „iznosa budžetskih sredstava dodijeljenih vojnim jedinicama“ (prevedeno sa „obsâgu budžetskih sredstava, koja se usmjeravaju do vojnih dijelova“).

Slika 3: Excel dokument nakon omogućavanja VBA

Primarna funkcija VBA makronaredbe je da implementira DLL program za preuzimanje, koji je kodiran u HEX-u. Osim toga, većina nizova u VBA kodu je HEX kodirana kako bi se izbjegli osnovni mehanizmi detekcije nizova.

Slika 4: Funkcija “workbook_open()”.

Nakon ispuštanja DLL datoteke “Ac83faafb23919Ae9.DLl” u “%APPDATA%\VIBERrpc\bIn\biN”, macronatredba kreira prečicu pod nazivom “ACtIVEPRObE” u “%APPDATA%\Microsoft”.

Zatim koristi naredbu “Shell” da izvrši “RunDLL32.EXE shell32.dll,ShellExec_RunDLL ‘%APPDATA%\Microsoft\ACtIVEPRObE.lnk’, 0.” Ova LNK datoteka je dizajnirana da poziva regsvr32 za izvršavanje DLL datoteke „Ac83faafb23919Ae9.DLl.“

Slika 6: LNK datoteka

DLL Downloader

Program za preuzimanje “Ac83faafb23919Ae9.DLl.” je zamagljen sa ConfuserEx.

DLL program za preuzimanje. Kod je zamagljen pomoću ConfuserExa.

Slika 7: DLL program za preuzimanje “Ac83faafb23919Ae9.DLl”

Prvo, ispituje imena procesa za određene stringove: “processhacker”, “avastui”, “aswtoolssvc”, “wsc_proxy”, “procexp”, “overseer” i “avastsvc”. Ako otkrije proces podudaranja povezan s alatom za analizu ili antivirusnim softverom, ukida program.

Provjera naziva procesa za određene nizove koji se odnose na alate za analizu i antivirusni softver

Slika 8: Provjera naziva procesa

Jednom kada prođe provjeru procesa, konstruira web zahtjev za dobivanje korisnog opterećenja sljedeće faze sa URL-a “hxxps://goudieelectric[.]shop/cms/svg/6364.2809640e[.]chunk.svg.” Može preuzeti potrebnu datoteku samo ako se uređaj nalazi u Ukrajini. Zatim izdvaja base64 kodirane podatke u dodatku koji počinje s “href=” i XOR ih sa tvrdo kodiranim nizom. Zatim generiše nasumično ime datoteke i sprema dekodirane podatke u TEMP folder. 

Program za preuzimanje kreira web zahtjev.

Slika 9: Izrada web zahtjeva

SVG fajl

Slika 10: SVG datoteka s neuspješnom verifikacijom geolokacije

SVG fajl

Slika 11: SVG datoteka sa uspješnom verifikacijom geolokacije

Zatim izvršava dekodiranu datoteku koristeći “rundll32.exe”, nakon čega slijedi naredba za sleep da čeka da se izvršavanje završi. Kada se završi, briše dekodirani fajl kako bi uklonio sve tragove.

Datoteka rundll32.exe koja izvršava dekodirane podatke

Slika 12: Izvršite dekodirane podatke

Dekodirani podaci su takođe .NET DLL datoteka koja ima zadatak da dešifruje datoteku za sljedeću fazu i uspostavi postojanost.

Dekodirani fajl

Slika 13: Dekodirani fajl je upakovan u ConfuserEx

Zatim provjerava postoji li ciljana datoteka. Ako ne, kreira se datoteka “C:\ProgramData\Windows\Containers\BaseImages\9cb03978-56d9-4f38-8f05-d1fdf135f0ab\Files\Windows\System32\ResetEngine.dll.” Zatim koristi tvrdo kodirani ključ za dešifriranje podataka pomoću RC4 algoritma i upisuje podatke u novostvorenu datoteku. 

Kod za pisanje RC4 dešifrovanog sadržaja u novu datoteku

Slika 14: Upišite RC4 dešifrirani sadržaj u novokreiranu datoteku

Zatim dodaje vrijednost registratora “C:\Windows\System32\regsvr32.exe /s C:\ProgramData\Windows\Containers\BaseImages\9cb03978-56d9-4f38-8f05-d1fdf135f0ab32set\Set\Setys\Set\Steee\Stee. u “SOFTWARE\Microsoft\Widows\CurrentVersion\Run” radi postojanosti i koristi InvokeMethod sa “Create” da izvrši naredbu u registru.

Kod za dodavanje vrijednosti registra

Slika 15: Dodajte registar

Kod koji izvršava datoteku ResetEngine.dll

Slika 16: Izvršite “ResetEngine.dll”

DLL Injector

Datoteka “ResetEngine.dll” služi kao osnovna komponenta za dešifriranje i ubacivanje konačnog tereta. Koristi “NtDelayExecution” da izbjegne otkrivanje zlonamjernih aktivnosti unutar sandboxova. Zatim ponavlja kako bi pregledao procese i pokušava prekinuti  parent  proces, ako ga ima, kako bi implementirao svoje mjere protiv otklanjanja grešaka.

ResetEngine.dll koristi funkciju NtDelayExecution da izbjegne otkrivanje i implementira mjere protiv otklanjanja grešaka

Slika 17: Odlaganje izvršenja i Anti-debug

Nakon što je proces otkrivanja izbjegavanja završen, on dešifrira konačni korisni payload pomoću AES algoritma.

Kod za dešifriranje konačnog tereta

Slika 18: Dešifriranje podataka

Nakon dešifriranja, on ubacuje dešifrirane podatke u sebe i koristi različite API-je, uključujući “GetCurrentProcessId”, “OpenProcess”, “VirtualAllocEx”, “WriteProcessMemory”, “CreateRemoteThread” i “WaitForSingleObject” za izvršavanje konačnog Cobalttrika.

Kod ubrizgava dešifrovane podatke u sebe i izvršava konačni Cobalt Strike
Kobalt Strike nosivost

Slika 19: Zapisivanje Cobalt Strike u memoriju

The Cobalt Strike Payload

Proces ekstrakcije konfiguracije uključuje XOR-ing sa 0x2E, što nam omogućava da dešifrujemo informacije skrivene unutar. Ekstrahujući i analizirajući konfiguraciju, otkrili smo URL-ove Beaconovog Cobalt Strike Team Server-a (C2):

  1. “hxxps://simonandschuster[.]shop/the-zero-residual-concept/products” i
  2. “hxxps://simonandschuster[. ]shop/the-zero-residual-concept/sjj-solutions.” 

Dekodirana konfiguracija

Slika 20: Dekodirana konfiguracija

Cobalt Strikeov POST zahtjev

Slika 21: Cobalt Strike POST zahtjev

Zaključak

U ovom sofisticiranom napadu, napadač koristi taktiku zlonamjernog softvera u više faza kako bi spriječio otkrivanje, istovremeno osiguravajući operativnu stabilnost. Implementacijom provjera zasnovanih na lokaciji tokom preuzimanja korisnog opterećenja, napadač ima za cilj prikriti sumnjivu aktivnost, potencijalno izmičući nadzoru analitičara. Koristeći kodirane stringove, VBA skriva ključne nizove za uvoz, olakšavajući primenu DLL datoteka za postojanost i dešifrovanje naknadnih korisnih podataka.

Nadalje, funkcija samo-brisanja pomaže taktici izbjegavanja, dok DLL injector koristi taktiku odlaganja i prekida parent procese kako bi izbjegao mehanizme za uklanjanje grešaka i za uklanjanje grešaka.

Ovi orkestrirani manevri konvergiraju ka raspoređivanju Cobalt Strike na ciljane krajnje tačke, posebno unutar granica geopolitičkog landscape Ukrajine . Kako Office dokumenti nude mnoštvo funkcionalnosti, uključujući brojne dodatke i skripte, korisnici moraju biti krajnje oprezni kada rukuju datotekama sumnjivog porijekla. Pažnja je najvažnija, posebno u pogledu bilo kakvih sumnjivih ispuštanja datoteka ili nepoznatih programa za pokretanje unutar postavki registra.

Fortinet Protections

FortiGuard Antivirus otkriva i blokira zlonamjerni softver opisan u ovom tekstu kao:

  1. VBA/Agent.APO!tr
  2. W32/Injector.S!tr
  3. MSIL/Agent.QTS!tr

FortiGate, FortiMail, FortiClient i FortiEDR podržavaju uslugu FortiGuard AntiVirus. FortiGuard AntiVirus motor je dio svakog od ovih rješenja. Kao rezultat toga, kupci koji imaju ove proizvode sa modernom zaštitom su zaštićeni.

FortiGuard Web Filtering Service blokira C2 server.

Usluga FortiGuard CDR (deaktiviranje i rekonstrukcija sadržaja) može deaktivirati zlonamjerne macronaredbe u dokumentu.

Takođe predlažemo da organizacije prođu kroz Fortinet-ov besplatni modul obuke o cyber sigurnosti: Fortinet Certified Fundamentals . Ovaj modul je dizajniran da pomogne krajnjim korisnicima da nauče kako se identificirati i zaštititi od phishing napada.

FortiGuard IP Reputation i Anti-Botnet Security Service proaktivno blokiraju ove napade agregirajući zlonamjerne izvorne IP podatke iz Fortinet distribuirane mreže senzora prijetnji, CERT-ova, MITRE-a, kooperativnih konkurenata i drugih globalnih izvora koji sarađuju kako bi pružili ažurirane podatke o prijetnjama o neprijateljskim izvorima.

Ako vjerujete da je ova ili bilo koja druga prijetnja cyber sigurnosti utjecala na vašu organizaciju, kontaktirajte naš Globalni FortiGuard tim za odgovor na incidente .

IOCs

Domains

  • goudieelectric[.]shop

  • simonandschuster[.]shop

Files

  • 88c97af92688d03601e4687b290d4d7f9f29492612e29f714f26a9278c6eda5b 

  • 815c1571356cf328a18e0b1f3779d52e5ba11e5e4aac2d216b79bb387963c2be  

  • 9649d58a220ed2b4474a37d6eac5f055e696769f87baf58b1d3d0b5da69cbce5  

  • af8104e567c6d614547acb36322ad2ed6469537cd1d78ae1be65fbde1d578abc 

  • de1bceb00c23e468f4f49a79ec69ec8ad3ed622a3ffc08f84c0481ad0f6f592b  

  • 6f4642a203541426d504608eed7927718207f29be2922a4c9aa7e022f22e0deb 

  • d90f6e12a917ba42f7604362fafc4e74ed3ce3ffca41ed5d3456de28b2d144bf  

  • d9b16f077cd6e00137ba208031d22fd6423d0ef303883ad4b6f78638693f2044  

Izvor:Cyware Labs

Recent Articles

spot_img

Related Stories