WinorDLL64: Zadnja vrata iz velikega arzenala Lazarus?

WinorDLL64: Zadnja vrata iz velikega arzenala Lazarus?

Izvorno vozlišče: 1975596

Ciljna regija ter prekrivanje v obnašanju in kodi nakazujeta, da orodje uporablja zloglasna skupina APT, povezana s Severno Korejo

ESET-ovi raziskovalci so odkrili eno od uporabnih obremenitev Prenosnik Wslink ki smo ga odkrili leta 2021. To koristno vsebino smo poimenovali WinorDLL64 glede na njeno ime datoteke WinorDLL64.dll. Wslink, ki je imela ime datoteke WinorLoaderDLL64.dll, je nalagalnik za binarne datoteke Windows, ki za razliko od drugih tovrstnih nalagalnikov deluje kot strežnik in izvaja prejete module v pomnilniku. Kot nakazuje besedilo, nalagalnik služi kot orodje za nalaganje tovora ali dejanske zlonamerne programske opreme v že ogrožen sistem. Začetni ogroženi vektor Wslink ni bil identificiran.

Sprva neznani tovor Wslink je bil naložen v VirusTotal iz Južne Koreje kmalu po objavi našega spletnega dnevnika in je dosegel eno od naših pravil YARA na podlagi edinstvenega imena Wslink WinorDLL64. Kar zadeva Wslink, je telemetrija ESET opazila le nekaj zaznav – v srednji Evropi, Severni Ameriki in na Bližnjem vzhodu.

O WinorDLL64 koristna obremenitev služi kot stranska vrata, ki predvsem pridobi obsežne sistemske informacije, zagotavlja sredstva za manipulacijo datotek, kot je eksfiltracija, prepisovanje in odstranjevanje datotek, ter izvaja dodatne ukaze. Zanimivo je, da komunicira prek povezave, ki jo je že vzpostavil nalagalnik Wslink.

Leta 2021 nismo našli nobenih podatkov, ki bi nakazovali, da je Wslink orodje znanega akterja grožnje. Vendar smo po obsežni analizi tovora pripisali WinorDLL64 skupini Lazarus APT z nizko stopnjo zaupanja glede na ciljno regijo in prekrivanjem v vedenju in kodi z znanimi vzorci Lazarus.

Ta zloglasna severnokorejska skupina, ki je aktivna vsaj od leta 2009, je odgovorna za odmevne incidente, kot sta Vdor v Sony Pictures Entertainment in na desetine milijonov dolarjev cyberheists leta 2016je WannaCryptor (aka WannaCry) izbruh leta 2017 in dolga zgodovina motečih napadov na Južnokorejska javna in kritična infrastruktura vsaj od leta 2011. US-CERT in FBI to skupino imenujeta SKRITA KOBRA.

Na podlagi našega obsežno znanje aktivnosti in delovanja te skupine menimo, da Lazarus sestavlja velika ekipa, ki je sistematično organizirana, dobro pripravljena in sestavljena iz več podskupin, ki uporabljajo velik nabor orodij. Lani smo odkril orodje Lazarus ki je izkoristil CVE-2021-21551 ranljivost za tarčo zaposlenega v letalskem podjetju na Nizozemskem in političnega novinarja v Belgiji. To je bila prva zabeležena zloraba ranljivosti; v kombinaciji sta orodje in ranljivost vodila do onemogočanja spremljanja vseh varnostnih rešitev na ogroženih strojih. Podali smo tudi obsežen opis strukturo virtualnega stroja uporabljen v vzorcih Wslink.

Ta objava v spletnem dnevniku pojasnjuje dodelitev WinorDLL64 Lazarusu in nudi analizo koristnega tovora.

Povezave do Lazarusa

Odkrili smo prekrivanja v vedenju in kodi z vzorci Lazarusa iz Operacija GhostSecret in Bankshot implantat opisal McAfee. Opis vsadkov v člankih GhostSecret in Bankshot vsebuje prekrivanja v funkcionalnosti z WinorDLL64 in našli smo nekaj prekrivanja kode v vzorcih. V tej objavi v blogu bomo uporabili samo FE887FCAB66D7D7F79F05E0266C0649F0114BA7C vzorec iz GhostSecret za primerjavo z WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), razen če je določeno drugače.

Naslednje podrobnosti povzemajo dejstva, ki podpirajo naše pripisovanje Lazarju z nizko stopnjo zaupanja:

1. Viktimologija

  • Kolegi raziskovalci iz AhnLaba so v svoji telemetriji potrdili južnokorejske žrtve Wslinka, kar je relevanten pokazatelj glede na tradicionalne tarče Lazarusa in da smo opazili le nekaj zadetkov.

Slika 1. Prijavljena južnokorejska žrtev, kjer je mstoned7 raziskovalec iz Ahnlaba

2. Zlonamerna programska oprema

  • Najnovejši vzorec GhostSecret, ki ga je poročal McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) je od februarja 2018; prvi vzorec Wslink smo opazili konec leta 2018, kolegi raziskovalci pa so avgusta 2018 poročali o zadetkih, ki so jih razkrili po naši objavi. Zato so bili ti vzorci opaženi v razmeroma kratkem časovnem razmaku.
  • O PE bogate glave kažejo, da so bili isto razvojno okolje in projekti podobne velikosti uporabljeni v več drugih znanih vzorcih Lazarusa (npr. 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). To prekrivanje smo ugotovili z uporabo naslednjih pravil, ki zajemajo samo te vzorce Wslink in Lazarus, kar je indikator z nizko težo. Preizkusili smo jih na VirusTotalov povratni lov in naš notranji datotečni korpus.

rich_signature.length == 80 in
pe.rich_signature.toolid(175, 30319) == 7 in
pe.rich_signature.toolid(155, 30319) == 1 in
pe.rich_signature.toolid(158, 30319) == 10 in
pe.rich_signature.toolid(170, 30319) >= 90 in
pe.rich_signature.toolid(170, 30319) <= 108

To pravilo je mogoče prevesti v naslednji zapis, ki je bolj berljiv in ga uporablja VirusTotal, kjer je mogoče videti različico izdelka in ID gradnje (VS2010 build 30319), število in vrsta uporabljenih izvornih/predmetnih datotek ([LTCG C++] kjer LTCG pomeni generiranje časovne kode povezave, [ASM], [ C ])in število izvozov ([EXP]) v pravilu:

[LTCG C++] VS2010 build 30319 count=7
[EXP] VS2010 build 30319 count=1
[ASM] VS2010 build 30319 count=10
[ C ] VS2010 build 30319 šteje v [ 90 .. 108 ]

  • Članek GhostSecret opisuje "edinstveno komponento za zbiranje podatkov in namestitev vsadkov, ki na vratih 443 posluša vhodne povezave nadzornega strežnika", ki se poleg tega izvaja kot storitev. To je natančen opis vedenja prenosnika Wslink, razen številke vrat, ki se lahko razlikuje glede na konfiguracijo. Če povzamem, čeprav je izvedba različna, obe služita istemu namenu.
  • Nalagalnik virtualizira Oreansov Code Virtualizer, ki je komercialni zaščitnik, ki se uporablja pogosto avtor Lazarus.
  • Nakladalnik uporablja MemoryModule knjižnica za nalaganje modulov neposredno iz pomnilnika. Knjižnice zlonamerna programska oprema običajno ne uporablja, vendar je zelo priljubljena med skupinami, ki so povezane s Severno Korejo, kot sta Lazarus in Kimsuky.
  • Prekrivanje v kodi med WinorDLL64 in GhostSecret, ki smo ga odkrili med analizo. Rezultati in pomen pri atribuciji so navedeni v tabeli 1.

Tabela 1. Podobnosti med WinorDLL64 in GhostSecret ter njihov pomen pri pripisovanju obeh istemu akterju grožnje

Druge podobnosti med WinorDLL64 in GhostSecret vpliv
Prekrivanje kode v kodi, odgovorno za pridobitev arhitekture procesorja nizka
Prekrivanje kode pri trenutni manipulaciji imenika nizka
Prekrivanje kod pri pridobivanju seznama procesov nizka
Prekrivanje kod pri pošiljanju datoteke nizka
Prekrivanje vedenja v postopkih kotiranja nizka
Prekrivanje vedenja pri trenutni manipulaciji imenika nizka
Prekrivanje vedenja v seznamu datotek in imenikov nizka
Prekrivanje vedenja v količinah kotacij nizka
Prekrivanje vedenja pri branju/pisanju datotek nizka
Prekrivanje vedenja pri ustvarjanju procesov nizka
Precejšnje prekrivanje vedenja pri varnem odstranjevanju datotek nizka
Precejšnje prekrivanje vedenja pri zaključku procesov nizka
Precejšnje prekrivanje vedenja pri zbiranju informacij o sistemu nizka

Prekrivanje kode v funkciji pošiljanja datoteke je označeno na sliki 2 in sliki 3.

Slika 2. GhostSecret pošilja datoteko

Slika 3. Wslink pošilja datoteko

Tehnična analiza

WinorDLL64 služi kot stranska vrata, ki predvsem pridobiva obsežne sistemske informacije, zagotavlja sredstva za manipulacijo datotek in izvaja dodatne ukaze. Zanimivo je, da komunicira prek povezave TCP, ki jo je že vzpostavil njegov nalagalnik, in uporablja nekatere funkcije nalagalnika.

Slika 4. Vizualizacija komunikacije Wslink

Zadnja vrata so DLL z enim neimenovanim izvozom, ki sprejme en parameter – strukturo za komunikacijo, ki je bila že opisana v našem prejšnja objava v spletnem dnevniku. Struktura vsebuje TLS-kontekst – socket, key, IV – in povratne klice za pošiljanje in prejemanje sporočil, šifriranih z 256-bitnim AES-CBC, ki WinorDLL64 omogočajo varno izmenjavo podatkov z operaterjem prek že vzpostavljene povezave.

Naslednja dejstva nas vodijo k prepričanju, da je knjižnica res del Wslink:

  • Edinstvena struktura se povsod uporablja na pričakovan način, npr. TLS-kontekst in drugi pomembni parametri so dobavljeni v pričakovanem vrstnem redu pravilnim povratnim klicem.
  • Ime DLL-ja je WinorDLL64.dll in Wslinku je bilo ime WinorLoaderDLL64.dll.

WinorDLL64 sprejme več ukazov. Slika 5 prikazuje zanko, ki sprejema in obravnava ukaze. Vsak ukaz je vezan na edinstven ID in sprejme konfiguracijo, ki vsebuje dodatne parametre.

Slika 5. Glavni del zanke za sprejemanje ukazov stranskih vrat

Seznam ukazov z našimi oznakami je na sliki 6.

Slika 6. Seznam ukazov

Tabela 2 vsebuje povzetek ukazov WinorDLL64, kjer so bili spremenjeni, stare kategorije pa se nanašajo na razmerje s predhodno dokumentirano funkcionalnostjo GhostSecret. Izpostavljamo le pomembne spremembe v spremenjeni kategoriji.

Tabela 2. Pregled backdoor ukazov

Kategorija ID ukaza funkcionalnost Opis
Novo 0x03 Izvedite ukaz PowerShell WinorDLL64 tolmaču PowerShell naroči, naj deluje neomejeno in bere ukaze iz standardnega vnosa. Nato stranska vrata podani ukaz posredujejo tolmaču in izhod pošljejo operaterju.
0x09 Stisnite in prenesite imenik WinorDLL64 rekurzivno iterira po določenem imeniku. Vsebina vsake datoteke in imenika se stisne ločeno in zapiše v začasno datoteko, ki se nato pošlje operaterju in nato varno odstrani.
0x0D Prekinite sejo Prekine povezavo določenega prijavljenega uporabnika iz uporabnikove seje storitev oddaljenega namizja. Ukaz lahko izvaja tudi različne funkcije glede na parameter.
0x0D Seznam sej Pridobi različne podrobnosti o vseh sejah na napravi žrtve in jih pošlje operaterju. Ukaz lahko izvaja tudi različne funkcije glede na parameter.
0x0E Izmerite čas povezave Uporablja Windows API GetTickCount za merjenje časa, potrebnega za povezavo z določenim gostiteljem.
Spremenjeno 0x01 Pridobite informacije o sistemu Pridobi izčrpne podrobnosti o sistemu žrtve in jih pošlje operaterju.
0x0A Varno odstranite datoteke Prepiše določene datoteke z blokom naključnih podatkov, preimenuje vsako datoteko v naključno ime in jih na koncu varno odstrani eno za drugo.
0x0C Ubij procese Zaključi vse procese, katerih imena se ujemajo s podanim vzorcem in/ali z določenim PID.
Staro 0x02/0x0B Ustvarite proces Ustvari proces kot trenutni ali določen uporabnik in po želji pošlje svoj izhod operaterju.
0x05 Nastavi/pridobi trenutni imenik Poskuša nastaviti in nato pridobiti pot trenutnega delovnega imenika.
0x06 Seznam zvezkov Ponavlja pogone od C: do Z: in pridobi vrsto pogona in ime nosilca. Ukaz lahko izvaja tudi različne funkcije glede na parameter.
0x06 Seznam datotek v imeniku Ponavlja datoteke v določenem imeniku in pridobiva informacije, kot so imena, atributi itd. Ukaz lahko izvaja tudi različne funkcije glede na parameter.
0x07 Pišite v datoteko Prenese in doda navedeno količino podatkov v določeno datoteko.
0x08 Branje iz datoteke Navedena datoteka se prebere in pošlje operaterju.
0x0C Seznam procesov Pridobi podrobnosti o vseh tekočih procesih na napravi žrtve in dodatno pošlje ID trenutnega procesa.

zaključek

Koristna obremenitev Wslink je namenjena zagotavljanju sredstev za manipulacijo datotek, izvajanje nadaljnje kode in pridobivanje obsežnih informacij o osnovnem sistemu, ki jih je mogoče pozneje uporabiti za bočno premikanje zaradi posebnega zanimanja za omrežne seje. Nalagalnik Wslink posluša vrata, določena v konfiguraciji, in lahko streže dodatnim povezovalnim odjemalcem ter celo nalaga različne obremenitve.

WinorDLL64 vsebuje prekrivanje v razvojnem okolju, vedenju in kodi z več vzorci Lazarusa, kar nakazuje, da bi lahko šlo za orodje iz velikega arzenala te severnokorejske skupine APT.

ESET Research ponuja zasebna obveščevalna poročila APT in vire podatkov. Za vsa vprašanja o tej storitvi obiščite ESET Threat Intelligence stran.

IoC

SHA-1 Ime zaznavanja ESET Opis
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F Win64/Wslink.A Izpis pomnilnika odkritega tovora Wslink WinorDll64.

Tehnike MITER ATT&CK

Ta tabela je bila izdelana z uporabo različica 12 okvira ATT&CK. Ne omenjamo več tehnike iz nakladalnika, le tovor.

Taktika ID Ime Opis
Razvoj virov T1587.001 Razviti zmogljivosti: zlonamerna programska oprema WinorDLL64 je orodje po meri.
Izvedba T1059.001 Tolmač ukazov in skriptov: PowerShell WinorDLL64 lahko izvaja poljubne ukaze PowerShell.
T1106 Izvorni API WinorDLL64 lahko izvaja nadaljnje procese z uporabo CreateProcessW in CreateProcessAsUserW API-ji.
Izmikanje obrambi T1134.002 Manipulacija žetonov za dostop: ustvarite proces z žetonom WinorDLL64 lahko kliče API-je WTSQueryUserToken in CreateProcessAsUserW za ustvarjanje procesa pod lažnim uporabnikom.
T1070.004 Odstranitev indikatorja: brisanje datoteke WinorDLL64 lahko varno odstrani poljubne datoteke.
Discovery T1087.001 Odkrivanje računa: lokalni račun WinorDLL64 lahko med drugimi podrobnostmi našteje seje in navede povezana imena uporabnikov in odjemalcev.
T1087.002 Odkrivanje računa: Račun domene WinorDLL64 lahko našteje seje in navede povezana imena domen – med drugimi podrobnostmi.
T1083 Odkrivanje datotek in imenikov WinorDLL64 lahko pridobi sezname datotek in imenikov.
T1135 Odkrivanje skupne rabe omrežja WinorDLL64 lahko odkrije skupne omrežne pogone.
T1057 Odkrivanje procesov WinorDLL64 lahko zbira informacije o tekočih procesih.
T1012 Register poizvedb WinorDLL64 lahko poizveduje v registru Windows, da zbere informacije o sistemu.
T1082 Odkrivanje sistemskih informacij WinorDLL64 lahko pridobi informacije, kot so ime računalnika, OS in najnovejša različica servisnega paketa, arhitektura procesorja, ime procesorja in količina prostora na fiksnih diskih.
T1614 Odkrivanje lokacije sistema WinorDLL64 lahko pridobi privzeto ime države žrtve z uporabo GetLocaleInfoW API.
T1614.001 Odkrivanje sistemske lokacije: Odkrivanje sistemskega jezika WinorDLL64 lahko pridobi privzeti jezik žrtve z uporabo GetLocaleInfoW API.
T1016 Odkrivanje konfiguracije sistemskega omrežja WinorDLL64 lahko našteje informacije o omrežni kartici.
T1049 Odkrivanje sistemskih omrežnih povezav WinorDLL64 lahko zbere seznam poslušajočih vrat.
T1033 Odkrivanje lastnika sistema/uporabnika WinorDLL64 lahko našteje seje in navede povezana imena uporabnikov, domen in odjemalcev – med drugimi podrobnostmi.
Collection T1560.002 Arhiviraj zbrane podatke: arhiviraj prek knjižnice WinorDLL64 lahko stisne in izloči imenike z uporabo quicklz knjižnica.
T1005 Podatki iz lokalnega sistema WinorDLL64 lahko zbira podatke o napravi žrtve.
vpliv T1531 Odstranitev dostopa do računa WinorDLL64 lahko prekine povezavo prijavljenega uporabnika iz določenih sej.

Časovni žig:

Več od Živimo varnost