WinorDLL64: Takaovi laajasta Lazarus-arsenaalista?

WinorDLL64: Takaovi laajasta Lazarus-arsenaalista?

Lähdesolmu: 1975596

Kohdealue sekä päällekkäisyys käyttäytymisessä ja koodissa viittaavat siihen, että pahamaineinen Pohjois-Korean linjainen APT-ryhmä käyttää työkalua.

ESET-tutkijat ovat löytäneet yhden hyötykuormista Wslink latausohjelma jonka löysimme vuonna 2021. Nimesimme tämän hyötykuorman WinorDLL64 sen tiedostonimen perusteella WinorDLL64.dll. Wslink, jolla oli tiedostonimi WinorLoaderDLL64.dll, on Windowsin binäärien latausohjelma, joka, toisin kuin muut vastaavat latausohjelmat, toimii palvelimena ja suorittaa vastaanotettuja moduuleja muistissa. Kuten sanamuodosta voi päätellä, latauslaite toimii työkaluna kuorman tai todellisen haittaohjelman lataamiseen jo vaarantuneeseen järjestelmään. Alkuperäistä Wslink-kompromissivektoria ei ole tunnistettu.

Aluksi tuntematon Wslink-hyötykuorma ladattiin VirusTotaliin Etelä-Koreasta pian blogikirjoituksemme julkaisun jälkeen, ja se osui yhteen YARA-säännöistämme, jotka perustuvat Wslinkin ainutlaatuiseen nimeen. WinorDLL64. Mitä tulee Wslinkiin, ESET-telemetriassa on havaittu vain muutamia havaintoja – Keski-Euroopassa, Pohjois-Amerikassa ja Lähi-idässä.

- WinorDLL64 hyötykuorma toimii takaovena, joka hankkii ennen kaikkea laajoja järjestelmätietoja, tarjoaa keinoja tiedostojen käsittelyyn, kuten tiedostojen suodattamiseen, päällekirjoittamiseen ja poistamiseen, ja suorittaa lisäkomentoja. Mielenkiintoista on, että se kommunikoi yhteyden kautta, jonka Wslink-lataaja on jo muodostanut.

Vuonna 2021 emme löytäneet tietoja, jotka osoittaisivat, että Wslink on tunnetun uhkatoimijan työkalu. Hyötykuorman laajan analyysin jälkeen olemme kuitenkin antaneet WinorDLL64 Lazarus APT -ryhmälle alhaisella luotettavuudella kohdealueen perusteella ja päällekkäisyydellä sekä käyttäytymisessä että koodissa tunnettujen Lazarus-näytteiden kanssa.

Tämä ainakin vuodesta 2009 lähtien aktiivinen pahamaineinen Pohjois-Korean liittolainen ryhmä on vastuussa korkean profiilin tapahtumista, kuten Sony Pictures Entertainmentin hakkerointi ja kymmeniä miljoonia dollareita kyberheistit vuonna 2016, The WannaCryptor (alias WannaCry) -epidemia vuonna 2017 ja pitkä historia häiritseviä hyökkäyksiä vastaan Etelä-Korean julkinen ja kriittinen infrastruktuuri ainakin vuodesta 2011 lähtien. US-CERT ja FBI kutsuvat tätä ryhmää PIDÄTY COBRA.

Perustuu meidän laaja tietämys Tämän ryhmän toiminnasta uskomme, että Lazarus koostuu suuresta tiimistä, joka on systemaattisesti organisoitu, hyvin valmistautunut ja koostuu useista alaryhmistä, jotka hyödyntävät suurta työkalusarjaa. Viime vuonna me löysi Lazarus-työkalun joka käytti hyväkseen CVE-2021-21551 haavoittuvuus kohdistua Alankomaiden ilmailu- ja avaruusalan yrityksen työntekijään ja Belgian poliittiseen toimittajaan. Se oli ensimmäinen haavoittuvuuden väärinkäyttö; yhdessä työkalu ja haavoittuvuus johtivat kaikkien tietoturvaratkaisujen valvonnan sokeuttamiseen vaarantuneilla koneilla. Annoimme myös kattavan kuvauksen virtuaalikoneen rakenne käytetään Wslink-näytteissä.

Tämä blogikirjoitus selittää WinorDLL64:n liittämisen Lazarukselle ja tarjoaa analyysin hyötykuormasta.

Linkkejä Lasarukseen

Olemme havainneet päällekkäisyyksiä sekä käyttäytymisessä että koodissa Lazarus-näytteiden kanssa Operaatio GhostSecret ja Bankshot-implantti kuvailee McAfee. Implanttien kuvaus sekä GhostSecret- että Bankshot-artikkeleissa sisältää päällekkäisyyksiä WinorDLL64:n toiminnallisuudessa ja havaitsimme näytteistä jonkin verran päällekkäisyyttä. Tässä blogikirjoituksessa käytämme vain FE887FCAB66D7D7F79F05E0266C0649F0114BA7C näyte GhostSecretistä vertailua varten WinorDLL64:ään (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), ellei toisin mainita.

Seuraavat tiedot tiivistävät tosiasiat, jotka tukevat heikkoa luottamustamme Lasarukseen:

1. Viktimologia

  • AhnLabin tutkijat vahvistivat Wslinkin eteläkorealaisia ​​uhreja telemetriassaan, mikä on relevantti indikaattori, kun otetaan huomioon perinteiset Lazarus-kohteet ja että olemme havainneet vain muutaman osuman.

Kuva 1. Ilmoitettu eteläkorealainen uhri, jossa mstoned7 on Ahnlabin tutkija

2. haittaohjelmat

  • McAfeen raportoima uusin GhostSecret-näyte (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) on helmikuusta 2018; huomasimme ensimmäisen näytteen Wslinkistä vuoden 2018 lopulla, ja muut tutkijat raportoivat osumista elokuussa 2018, jonka he paljastivat julkaisumme jälkeen. Siksi nämä näytteet havaittiin suhteellisen lyhyen ajanjakson välein.
  • - PE-rikas otsikot osoittavat, että samaa kehitysympäristöä ja samankokoisia projekteja käytettiin useissa muissa tunnetuissa Lazarus-näytteissä (esim. 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Löysimme tämän päällekkäisyyden käyttämällä seuraavia sääntöjä, jotka kattavat vain nämä Wslink- ja Lazarus-näytteet, mikä on vähäpainoinen indikaattori. Testasimme niitä VirusTotalin retrohunt ja sisäinen tiedostokokoelmamme.

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

Tämä sääntö voidaan kääntää seuraavaksi luettavammaksi ja VirusTotalin käyttämäksi merkinnäksi, jossa näkyy tuotteen versio ja koontitunnus (VS2010 build 30319), käytettyjen lähde-/objektitiedostojen lukumäärä ja tyyppi ([LTCG C++] jossa LTCG tarkoittaa linkkiaikakoodin luomista, [ASM], [C]), ja viennin määrä ([EXP]) säännössä:

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

  • GhostSecret-artikkelissa kuvattiin "ainutlaatuinen tiedonkeruu- ja implanttiasennuskomponentti, joka kuuntelee portista 443 saapuvia ohjauspalvelinyhteyksiä", joka toimi lisäksi palveluna. Tämä on tarkka kuvaus Wslink-latausohjelman toiminnasta, lukuun ottamatta porttinumeroa, joka voi vaihdella kokoonpanon mukaan. Yhteenvetona voidaan todeta, että vaikka toteutus on erilainen, molemmat palvelevat samaa tarkoitusta.
  • Lataajan virtualisoi Oreansin Code Virtualizer, joka on kaupallinen suojaus, jota käytetään usein kirjoittanut Lazarus.
  • Kuormaaja käyttää Muistimoduuli kirjasto moduulien lataamiseen suoraan muistista. Haittaohjelmat eivät yleensä käytä kirjastoa, mutta se on varsin suosittu Pohjois-Korean ryhmien, kuten Lazarus ja Kimsuky, keskuudessa.
  • Päällekkäisyys koodissa WinorDLL64:n ja GhostSecretin välillä, jonka löysimme analyysimme aikana. Tulokset ja merkitys vaikuttavuuden kannalta on lueteltu taulukossa 1.

Taulukko 1. WinorDLL64:n ja GhostSecretin yhtäläisyydet ja niiden merkitys molempien liittämisessä samalle uhkatekijälle

Muita yhtäläisyyksiä WinorDLL64:n ja GhostSecretin välillä Vaikutus
Koodi päällekkäinen koodissa, joka vastaa prosessorin arkkitehtuurin saamisesta Matala
Koodin päällekkäisyys nykyisessä hakemistonkäsittelyssä Matala
Koodi on päällekkäinen prosessiluettelon saamisessa Matala
Koodin päällekkäisyys tiedostojen lähetyksessä Matala
Listausprosessien käyttäytyminen on päällekkäistä Matala
Käyttäytyminen on päällekkäistä nykyisessä hakemistonkäsittelyssä Matala
Käyttäytyminen on päällekkäistä tiedosto- ja hakemistoluettelossa Matala
Käyttäytyminen on päällekkäistä listausmäärissä Matala
Käyttäytyminen on päällekkäistä tiedostojen lukemisessa/kirjoituksessa Matala
Käyttäytyminen on päällekkäistä prosessien luomisessa Matala
Huomattava toiminta on päällekkäistä tiedostojen turvallisessa poistamisessa Matala
Huomattavaa käyttäytymisen päällekkäisyyttä prosessien lopettamisessa Matala
Järjestelmätietojen keräämisessä on paljon päällekkäisyyksiä Matala

Tiedostojen lähetystoiminnon koodin päällekkäisyys on korostettu kuvissa 2 ja 3.

Kuva 2. GhostSecret lähettää tiedoston

Kuva 3. Wslink lähettää tiedoston

Tekninen analyysi

WinorDLL64 toimii takaovena, joka hankkii ennen kaikkea kattavat järjestelmätiedot, tarjoaa keinoja tiedostojen käsittelyyn ja suorittaa lisäkomentoja. Mielenkiintoista on, että se kommunikoi TCP-yhteyden kautta, jonka lataaja on jo muodostanut, ja käyttää joitain lataajan toimintoja.

Kuva 4. Wslinkin viestinnän visualisointi

Takaovi on DLL, jossa on yksi nimeämätön vienti, joka hyväksyy yhden parametrin – viestintärakenteen, joka on jo kuvattu edellinen blogikirjoitus. Rakenne sisältää TLS-kontekstin – socket, key, IV – ja takaisinkutsut 256-bittisellä AES-CBC:llä salattujen viestien lähettämiseen ja vastaanottamiseen, mikä mahdollistaa WinorDLL64:n tiedonvaihdon turvallisesti operaattorin kanssa jo muodostetun yhteyden kautta.

Seuraavat tosiasiat saavat meidät uskomaan suurella varmuudella, että kirjasto on todellakin osa Wslinkiä:

  • Ainutlaatuista rakennetta käytetään kaikkialla odotetulla tavalla, esim. TLS-konteksti ja muut merkitykselliset parametrit toimitetaan odotetussa järjestyksessä oikeisiin takaisinkutsuihin.
  • DLL:n nimi on WinorDLL64.dll ja Wslinkin nimi oli WinorLoaderDLL64.dll.

WinorDLL64 hyväksyy useita komentoja. Kuva 5 näyttää silmukan, joka vastaanottaa ja käsittelee komentoja. Jokainen komento on sidottu yksilölliseen tunnukseen ja hyväksyy lisäparametreja sisältävän kokoonpanon.

Kuva 5. Takaoven komento-vastaanottosilmukan pääosa

Komentoluettelo nimikkeineen on kuvassa 6.

Kuva 6. Komentoluettelo

Taulukko 2 sisältää yhteenvedon WinorDLL64-komennoista, joissa muokatut ja vanhat luokat viittaavat suhteeseen aiemmin dokumentoituun GhostSecret-toimintoon. Korostamme vain merkittäviä muutoksia muokattuun kategoriaan.

Taulukko 2. Yleiskatsaus takaoven komentoihin

Kategoria Komentotunnus Toiminnallisuus Kuvaus
Uusi 0x03 Suorita PowerShell-komento WinorDLL64 ohjeistaa PowerShell-tulkin suorittamaan rajoittamattomasti ja lukemaan komentoja vakiosyötteestä. Tämän jälkeen takaovi välittää määritetyn komennon tulkille ja lähettää lähdön operaattorille.
0x09 Pakkaa ja lataa hakemisto WinorDLL64 toistuu rekursiivisesti määritetyn hakemiston yli. Kunkin tiedoston ja hakemiston sisältö pakataan erikseen ja kirjoitetaan väliaikaiseen tiedostoon, joka lähetetään myöhemmin käyttäjälle ja poistetaan turvallisesti.
0x0D Katkaise istunnon yhteys Katkaisee tietyn kirjautuneen käyttäjän yhteyden käyttäjän etätyöpöytäpalveluistuntoon. Komento voi myös suorittaa erilaisia ​​toimintoja parametrin perusteella.
0x0D Listaa istunnot Kerää erilaisia ​​tietoja kaikista uhrin laitteen istunnoista ja lähettää ne operaattorille. Komento voi myös suorittaa erilaisia ​​toimintoja parametrin perusteella.
0x0E Mittaa yhteysaika Käyttää Windows API:ta GetTickCount mittaamaan aikaa, joka tarvitaan yhteyden muodostamiseen määritettyyn isäntään.
Muokattu 0x01 Hanki järjestelmän tiedot Kerää kattavat tiedot uhrin järjestelmästä ja lähettää ne operaattorille.
0x0A Poista tiedostot turvallisesti Korvaa tietyt tiedostot satunnaisten tietojen lohkolla, nimeää jokaisen tiedoston uudelleen satunnaiseksi nimeksi ja lopulta poistaa ne turvallisesti yksitellen.
0x0C Tappaa prosessit Lopettaa kaikki prosessit, joiden nimet vastaavat toimitettua mallia ja/tai joilla on tietty PID.
Vanha 0x02/0x0B Luo prosessi Luo prosessin joko nykyisenä tai määritettynä käyttäjänä ja vaihtoehtoisesti lähettää sen tulosteen operaattorille.
0x05 Aseta/hae nykyinen hakemisto Yrittää asettaa ja myöhemmin hankkia nykyisen työhakemiston polun.
0x06 Listaa volyymit Toistaa asemien välillä C: - Z: ja hankkii aseman tyypin ja taltion nimen. Komento voi myös suorittaa erilaisia ​​toimintoja parametrin perusteella.
0x06 Listaa tiedostot hakemistoon Iteroi määritetyn hakemiston tiedostot ja hakee tietoja, kuten nimiä, attribuutteja jne. Komento voi myös suorittaa erilaisia ​​toimintoja parametrin perusteella.
0x07 Kirjoita tiedostoon Lataa ja liittää ilmoitetun määrän tietoa määritettyyn tiedostoon.
0x08 Lue tiedostosta Määritetty tiedosto luetaan ja lähetetään operaattorille.
0x0C Listaa prosesseja Hakee tiedot kaikista uhrin laitteella käynnissä olevista prosesseista ja lähettää lisäksi nykyisen prosessin tunnuksen.

Yhteenveto

Wslinkin hyötykuorma on omistettu tarjoamaan keinoja tiedostojen käsittelyyn, lisäkoodin suorittamiseen ja kattavan tiedon hankkimiseen taustalla olevasta järjestelmästä, jota voidaan mahdollisesti hyödyntää myöhemmin sivuttaisliikenteessä, koska verkkoistuntoja kohtaan on erityistä kiinnostusta. Wslink-lataaja kuuntelee kokoonpanossa määritettyä porttia ja voi palvella muita yhdistäviä asiakkaita ja jopa ladata erilaisia ​​hyötykuormia.

WinorDLL64 sisältää päällekkäisyyden kehitysympäristössä, käyttäytymisessä ja koodissa useiden Lazarus-näytteiden kanssa, mikä viittaa siihen, että se saattaa olla työkalu tämän Pohjois-Korean kanssa suuntautuneen APT-ryhmän laajasta arsenaalista.

ESET Research tarjoaa yksityisiä APT-tietoraportteja ja tietosyötteitä. Jos sinulla on kysyttävää tästä palvelusta, käy osoitteessa ESET Threat Intelligence sivu.

IoC: t

SHA-1 ESET-tunnistusnimi Kuvaus
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F Win64/Wslink.A Muistivedos löydetystä Wslink-hyötykuormasta WinorDll64.

MITER ATT & CK -tekniikat

Tämä pöytä on rakennettu käyttämällä version 12 ATT&CK-kehyksestä. Emme mainitse jälleen kuormaajan tekniikoita, vain hyötykuormaa.

Taktiikka ID Nimi Kuvaus
Resurssien kehittäminen T1587.001 Kehitysominaisuudet: Haittaohjelmat WinorDLL64 on mukautettu työkalu.
Teloitus T1059.001 Komento- ja komentosarjatulkki: PowerShell WinorDLL64 voi suorittaa mielivaltaisia ​​PowerShell-komentoja.
T1106 Alkuperäinen sovellusliittymä WinorDLL64 voi suorittaa muita prosesseja käyttämällä CreateProcessW ja CreateProcessAsUserW API.
Puolustuksen kiertäminen T1134.002 Käyttötunnuksen manipulointi: Luo prosessi tunnuksella WinorDLL64 voi kutsua API:ita WTSQueryUserToken ja CreateProcessAsUserW luodaksesi prosessin toisena käyttäjänä.
T1070.004 Ilmaisimen poistaminen: Tiedoston poistaminen WinorDLL64 voi turvallisesti poistaa mielivaltaisia ​​tiedostoja.
Löytö T1087.001 Tilin löytäminen: Paikallinen tili WinorDLL64 voi luetella istuntoja ja luetteloida niihin liittyvien käyttäjien ja asiakkaiden nimet muun muassa.
T1087.002 Tilin löytäminen: Verkkotunnuksen tili WinorDLL64 voi luetella istuntoja ja luetella niihin liittyviä verkkotunnuksia – muun muassa.
T1083 Tiedostojen ja hakemistojen etsintä WinorDLL64 voi hankkia tiedosto- ja hakemistoluetteloita.
T1135 Network Share Discovery WinorDLL64 voi löytää jaetut verkkoasemat.
T1057 Prosessin etsintä WinorDLL64 voi kerätä tietoja käynnissä olevista prosesseista.
T1012 Kysely rekisteristä WinorDLL64 voi tehdä kyselyitä Windowsin rekisteristä järjestelmätietojen keräämiseksi.
T1082 Järjestelmätietojen etsiminen WinorDLL64 voi saada tietoja, kuten tietokoneen nimen, käyttöjärjestelmän ja uusimman Service Pack -version, prosessorin arkkitehtuurin, prosessorin nimen ja kiinteiden asemien tilan määrän.
T1614 Järjestelmän sijainnin etsiminen WinorDLL64 voi saada uhrin oletusmaan nimen käyttämällä HankiLocaleInfoW API.
T1614.001 System Location Discovery: System Language Discovery WinorDLL64 voi saada uhrin oletuskielen käyttämällä HankiLocaleInfoW API.
T1016 Järjestelmän verkkoasetusten etsiminen WinorDLL64 voi luetella verkkosovittimen tiedot.
T1049 Järjestelmän verkkoyhteyksien etsintä WinorDLL64 voi kerätä luettelon kuunteluporteista.
T1033 Järjestelmän omistajan/käyttäjän haku WinorDLL64 voi luetella istuntoja ja luetteloida niihin liittyvien käyttäjien, verkkotunnusten ja asiakkaiden nimiä – muun muassa.
Kokoelma T1560.002 Arkistoi kerätyt tiedot: Arkistoi kirjaston kautta WinorDLL64 voi pakata ja suodattaa hakemistoja käyttämällä quicklz kirjasto.
T1005 Paikallisen järjestelmän tiedot WinorDLL64 voi kerätä tietoja uhrin laitteesta.
Vaikutus T1531 Tilin käyttöoikeuksien poistaminen WinorDLL64 voi katkaista kirjautuneen käyttäjän yhteyden määritetyistä istunnoista.

Aikaleima:

Lisää aiheesta Me elämme turvallisuutta