WinorDLL64: Hátsóajtó a hatalmas Lazarus arzenálból?

WinorDLL64: Hátsóajtó a hatalmas Lazarus arzenálból?

Forrás csomópont: 1975596

A megcélzott régió, valamint a viselkedés és a kód átfedése azt sugallja, hogy az eszközt a hírhedt észak-koreai APT csoport használja.

Az ESET kutatói felfedezték az egyik hasznos terhet Wslink letöltő amit 2021-ben fedeztünk fel. Ezt a rakományt a fájlnév alapján WinorDLL64-nek neveztük el. WinorDLL64.dll. Wslink, amely a fájlnévvel rendelkezik WinorLoaderDLL64.dll, a Windows bináris fájlok betöltője, amely más ilyen betöltőkkel ellentétben szerverként fut, és a memóriában hajtja végre a fogadott modulokat. Ahogy a megfogalmazás is sugallja, a betöltő eszközként szolgál egy rakomány vagy a tényleges kártevő betöltésére a már feltört rendszerre. A kezdeti Wslink kompromisszumos vektort nem azonosították.

A kezdetben ismeretlen Wslink rakomány nem sokkal blogbejegyzésünk megjelenése után került fel Dél-Koreából a VirusTotalra, és elérte az egyik YARA-szabályunkat a Wslink egyedi neve alapján. WinorDLL64. A Wslink esetében az ESET telemetria csak néhány észlelést látott – Közép-Európában, Észak-Amerikában és a Közel-Keleten.

A WinorDLL64 A hasznos teher hátsó ajtóként szolgál, amely elsősorban kiterjedt rendszerinformációkat szerez be, eszközöket biztosít a fájlok kezeléséhez, például a fájlok kiszűréséhez, felülírásához és eltávolításához, és további parancsokat hajt végre. Érdekes módon a Wslink betöltő által már létrehozott kapcsolaton keresztül kommunikál.

2021-ben nem találtunk olyan adatot, amely azt sugallná, hogy a Wslink egy ismert fenyegetés szereplőjének eszköze. A hasznos teher kiterjedt elemzése után azonban tulajdonítottunk WinorDLL64 a Lazarus APT csoporthoz alacsony megbízhatósággal a megcélzott régió alapján, és mind a viselkedés, mind a kód átfedésben van az ismert Lazarus mintákkal.

Legalább 2009 óta aktív ez a hírhedt észak-koreai kötődésű csoport felelős olyan nagy horderejű incidensekért, mint pl. Sony Pictures Entertainment hack és több tízmillió dollárt kiberheisták 2016-ban, a WannaCryptor (más néven WannaCry) járvány 2017-ben, és az ellen irányuló támadások hosszú története Dél-Korea nyilvános és kritikus infrastruktúrája legalább 2011 óta. A US-CERT és az FBI ezt a csoportot hívja REJTETT COBRA.

A mi alapján kiterjedt tudás Ennek a csoportnak a tevékenységeiből és működéséből úgy gondoljuk, hogy a Lazarus egy nagy csapatból áll, amely szisztematikusan szervezett, jól felkészült, és több alcsoportból áll, amelyek nagy eszközkészletet használnak. Tavaly mi felfedezett egy Lázár-eszközt hogy kihasználta a CVE-2021-21551 egy hollandiai repülőgépipari vállalat alkalmazottját és egy belgiumi politikai újságírót célzó sebezhetőség. Ez volt az első feljegyzett visszaélés a sérülékenységgel; Az eszköz és a sebezhetőség együttesen a feltört gépeken lévő összes biztonsági megoldás megfigyelésének elvakításához vezetett. Részletes leírást is adtunk a a virtuális gép szerkezete a Wslink mintáiban használják.

Ez a blogbejegyzés elmagyarázza a WinorDLL64 Lazarushoz való hozzárendelését, és elemzi a hasznos terhelést.

Linkek Lázárhoz

Átfedéseket fedeztünk fel mind a viselkedésben, mind a kódban a Lazarus mintáival A GhostSecret művelet és a Bankshot implantátum írta le a McAfee. Az implantátumok leírása a GhostSecret és a Bankshot cikkekben egyaránt tartalmaz átfedéseket a WinorDLL64 funkcionalitásában, és néhány kódátfedést találtunk a mintákban. Ebben a blogbejegyzésben csak a FE887FCAB66D7D7F79F05E0266C0649F0114BA7C minta a GhostSecretből a WinorDLL64-hez való összehasonlításhoz (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), hacsak másként nem rendelkezik.

A következő részletek összefoglalják azokat a tényeket, amelyek alátámasztják a Lázárnak tulajdonított alacsony bizalmat:

1. Viktimológia

  • Az AhnLab kutatótársai megerősítették a Wslink dél-koreai áldozatait a telemetriájukban, ami a hagyományos Lazarus célpontokat tekintve releváns mutató, és csak néhány találatot figyeltünk meg.

1. ábra: Dél-koreai áldozat, ahol mstoned7 az Ahnlab kutatója

2. Rosszindulatú programok

  • A McAfee által közölt legújabb GhostSecret minta (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) 2018. februári; 2018 végén vettük észre a Wslink első mintáját, és kutatótársaink 2018 augusztusában jelentettek találatokat, amelyeket publikációnk után hoztak nyilvánosságra. Ezért ezeket a mintákat viszonylag rövid időre észlelték egymástól.
  • A PE gazdag fejlécek jelzi, hogy ugyanazt a fejlesztői környezetet és hasonló méretű projekteket több más ismert Lazarus mintában is használták (pl. 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Ezt az átfedést a következő szabályokkal találtuk meg, amelyek csak ezekre a Wslink és Lazarus mintákra vonatkoznak, ami egy kis súlyú mutató. Teszteltük őket A VirusTotal retrovadászata és a belső fájl korpuszunk.

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

Ez a szabály lefordítható a következő, jobban olvasható és a VirusTotal által használt jelölésre, ahol látható a termék verziója és a build azonosítója (VS2010 build 30319), a felhasznált forrás-/objektumfájlok száma és típusa ([LTCG C++] ahol az LTCG a Link Time Code Generation rövidítése, [ASM], [C])és az exportok száma ([EXP]) a szabályban:

[LTCG C++] VS2010 build 30319 count=7
[EXP] VS2010 build 30319 count=1
[ASM] VS2010 build 30319 count=10
[ C ] VS2010 build 30319 számít a [ 90 .. 108 ]

  • A GhostSecret cikkben leírtak egy „egyedülálló adatgyűjtő és beültetést telepítő összetevőt, amely a 443-as porton figyeli a bejövő vezérlőszerver-kapcsolatokat”, amely ráadásul szolgáltatásként futott. Ez a Wslink letöltő viselkedésének pontos leírása, kivéve a portszámot, amely a konfigurációtól függően változhat. Összefoglalva, bár a megvalósítás eltérő, mindkettő ugyanazt a célt szolgálja.
  • A betöltőt az Oreans Code Virtualizer virtualizálja, amely egy kereskedelmi forgalomban használt védő gyakran Lázár által.
  • A rakodó a Memóriamodul könyvtár modulok közvetlenül a memóriából való betöltéséhez. A könyvtárat nem gyakran használják rosszindulatú programok, de igen népszerű az észak-koreához kötődő csoportok, például a Lazarus és a Kimsuky körében.
  • Átfedés a kódban a WinorDLL64 és a GhostSecret között, amelyet elemzésünk során találtunk. Az eredményeket és az attribúció jelentőségét az 1. táblázat tartalmazza.

1. táblázat: Hasonlóságok a WinorDLL64 és a GhostSecret között, valamint jelentőségük abban, hogy mindkettőt ugyanannak a fenyegető szereplőnek tulajdonítják

Egyéb hasonlóságok a WinorDLL64 és a GhostSecret között Hatás
A kód átfedése a processzor architektúrájáért felelős kódban Elő/Utó
Kódátfedés az aktuális címtárkezelés során Elő/Utó
A kód átfedés a folyamatlista lekérésekor Elő/Utó
Kódátfedés a fájlküldés során Elő/Utó
Viselkedés átfedés a listázási folyamatokban Elő/Utó
Viselkedés átfedés az aktuális címtárkezelés során Elő/Utó
Viselkedés átfedés a fájl- és könyvtárlistában Elő/Utó
Viselkedés átfedés a listás kötetekben Elő/Utó
Viselkedés átfedés a fájlok olvasása/írása során Elő/Utó
Viselkedés átfedés a folyamatok létrehozásában Elő/Utó
A fájlok biztonságos eltávolítása során jelentős a viselkedés átfedés Elő/Utó
Jelentős viselkedési átfedés a folyamatok lezárásakor Elő/Utó
Jelentős viselkedési átfedés a rendszerinformációk gyűjtése során Elő/Utó

A 2. és 3. ábrán kiemeljük a kód átfedést a fájlküldési funkcióban.

2. ábra: GhostSecret fájl küldése

3. ábra Wslink fájl küldése

Technikai elemzés

A WinorDLL64 hátsó ajtóként szolgál, amely elsősorban kiterjedt rendszerinformációkat szerez be, eszközöket biztosít a fájlkezeléshez, és további parancsokat hajt végre. Érdekes módon olyan TCP-kapcsolaton keresztül kommunikál, amelyet a betöltője már létrehozott, és használja a betöltő néhány funkcióját.

4. ábra: A Wslink kommunikációjának megjelenítése

A hátsó ajtó egy DLL egyetlen névtelen exporttal, amely egyetlen paramétert fogad el – egy olyan kommunikációs struktúrát, amelyet már leírtunk korábbi blogbejegyzés. A struktúra TLS-környezetet – socket, kulcs, IV – és visszahívásokat tartalmaz 256 bites AES-CBC-vel titkosított üzenetek küldéséhez és fogadásához, amelyek lehetővé teszik a WinorDLL64 számára, hogy biztonságosan cserélhessen adatokat a kezelővel egy már létrehozott kapcsolaton keresztül.

A következő tények arra késztetnek bennünket, hogy nagy bizalommal higgyük, hogy a könyvtár valóban a Wslink része:

  • Az egyedi struktúra mindenhol a várt módon kerül felhasználásra, pl. a TLS-környezet és más értelmes paraméterek az elvárt sorrendben kerülnek a megfelelő visszahívásokhoz.
  • A DLL neve WinorDLL64.dll és Wslink neve volt WinorLoaderDLL64.dll.

A WinorDLL64 számos parancsot elfogad. Az 5. ábra a parancsokat fogadó és kezelő hurkot mutatja. Minden parancs egyedi azonosítóhoz van kötve, és további paramétereket tartalmazó konfigurációt fogad el.

5. ábra: A hátsó ajtó parancs-fogadó hurkának fő része

A parancslista a címkéinkkel a 6. ábrán látható.

6. ábra: A parancslista

A 2. táblázat a WinorDLL64 parancsok összefoglalását tartalmazza, ahol a módosított és régi kategóriák a korábban dokumentált GhostSecret funkcióval való kapcsolatra utalnak. A módosított kategóriában csak a lényeges változásokat emeljük ki.

2. táblázat: A hátsó ajtó parancsainak áttekintése

Kategória Parancsazonosító Funkcionalitás Leírás
Új 0x03 Hajtson végre egy PowerShell-parancsot A WinorDLL64 arra utasítja a PowerShell értelmezőt, hogy korlátlanul fusson, és olvassa be a parancsokat a szabványos bemenetről. Ezután a hátsó ajtó átadja a megadott parancsot az értelmezőnek, és elküldi a kimenetet az operátornak.
0x09 Tömörítsen és töltsön le egy könyvtárat A WinorDLL64 rekurzívan iterál egy megadott könyvtáron keresztül. Az egyes fájlok és könyvtárak tartalmát külön-külön tömörítik, és egy ideiglenes fájlba írják, amelyet később elküldenek a kezelőnek, majd biztonságosan eltávolítják.
0x0D Egy munkamenet leválasztása Leválaszt egy megadott bejelentkezett felhasználót a felhasználó Távoli asztali szolgáltatások munkamenetéről. A parancs különböző funkciókat is végrehajthat a paraméter alapján.
0x0D Sorolja fel az üléseket Különféle adatokat szerez az áldozat eszközén végzett összes munkamenetről, és elküldi azokat a kezelőnek. A parancs különböző funkciókat is végrehajthat a paraméter alapján.
0x0E Mérje meg a csatlakozási időt A Windows API-t használja GetTickCount a megadott gazdagéphez való csatlakozáshoz szükséges idő mérésére.
Módosított 0x01 Rendszerinformációk lekérése Átfogó adatokat szerez az áldozat rendszeréről, és elküldi azokat a kezelőnek.
0x0A Távolítsa el biztonságosan a fájlokat Felülírja a megadott fájlokat véletlenszerű adatok blokkjával, átnevez minden fájlt egy véletlenszerű névre, és végül biztonságosan eltávolítja őket egyenként.
0x0C Öld meg a folyamatokat Leállítja az összes olyan folyamatot, amelynek neve megegyezik a megadott mintával és/vagy egy adott PID-vel.
Régi 0x02/0x0B Hozzon létre egy folyamatot Aktuális vagy megadott felhasználóként létrehoz egy folyamatot, és opcionálisan elküldi a kimenetét az operátornak.
0x05 Aktuális könyvtár beállítása/lekérése Megkísérli az aktuális munkakönyvtár elérési útját beállítani, majd ezt követően megszerezni.
0x06 Sorolja fel a köteteket Meghajtókon iterál C: és Z: között, és lekéri a meghajtó típusát és a kötet nevét. A parancs különböző funkciókat is végrehajthat a paraméter alapján.
0x06 Fájlok listázása egy könyvtárban A megadott könyvtárban lévő fájlok felett iterál, és olyan információkat szerez be, mint a nevek, attribútumok stb. A parancs a paramétertől függően különböző funkciókat is végrehajthat.
0x07 Írjon egy fájlba Letölti és hozzáfűzi a megadott mennyiségű adatot a megadott fájlhoz.
0x08 Olvasás fájlból A megadott fájl beolvasásra kerül és elküldésre kerül az operátornak.
0x0C Folyamatok listázása Részleteket szerez az áldozat eszközén futó folyamatokról, és elküldi az aktuális folyamat azonosítóját.

Következtetés

A Wslink hasznos terhelése arra szolgál, hogy eszközöket biztosítson a fájlok manipulálásához, további kódok végrehajtásához, valamint kiterjedt információk megszerzéséhez az alapul szolgáló rendszerről, amely később esetlegesen felhasználható oldalirányú mozgáshoz, a hálózati munkamenetek iránti különleges érdeklődés miatt. A Wslink betöltő a konfigurációban megadott porton figyel, és további csatlakozó klienseket tud kiszolgálni, sőt különféle hasznos terheléseket is betölthet.

A WinorDLL64 átfedést tartalmaz a fejlesztői környezetben, viselkedésben és kódban több Lazarus mintával, ami arra utal, hogy eszköz lehet az észak-koreai összehangolt APT csoport hatalmas arzenáljából.

Az ESET Research privát APT intelligenciajelentéseket és adatfolyamokat kínál. Ha bármilyen kérdése van a szolgáltatással kapcsolatban, keresse fel a ESET Threat Intelligence cimre.

IoCs

SHA-1 ESET észlelési név Leírás
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F Win64/Wslink.A A felfedezett Wslink hasznos adat WinorDll64 memóriakiírata.

MITER ATT&CK technikák

Ez a táblázat felhasználásával készült 12 verzió az ATT&CK keretrendszer. A rakodó technikáit megint nem említjük, csak a hasznos terhet.

taktika ID Név Leírás
Erőforrás-fejlesztés T1587.001 Fejlesztési képességek: Malware A WinorDLL64 egy egyedi eszköz.
Végrehajtás T1059.001 Parancs- és parancsfájl-értelmező: PowerShell A WinorDLL64 tetszőleges PowerShell-parancsot tud végrehajtani.
T1106 Natív API A WinorDLL64 további folyamatokat tud végrehajtani a CreateProcessW és a CreateProcessAsUserW API-k.
Védelmi kijátszás T1134.002 Hozzáférési token manipuláció: Hozzon létre folyamatot tokennel A WinorDLL64 képes API-kat hívni WTSQueryUserToken és a CreateProcessAsUserW folyamat létrehozása megszemélyesített felhasználó alatt.
T1070.004 Jelző eltávolítása: Fájl törlése A WinorDLL64 biztonságosan eltávolíthat tetszőleges fájlokat.
Felfedezés T1087.001 Fiókfelderítés: Helyi fiók A WinorDLL64 felsorolhatja a munkameneteket, és felsorolhatja a kapcsolódó felhasználók és kliensneveket, többek között.
T1087.002 Fiókfelderítés: Domain fiók A WinorDLL64 képes felsorolni a munkameneteket és listázni a kapcsolódó tartományneveket – többek között.
T1083 Fájl- és könyvtárfelderítés A WinorDLL64 fájl- és könyvtárlistákat szerezhet be.
T1135 Hálózati megosztás felfedezése A WinorDLL64 képes felfedezni a megosztott hálózati meghajtókat.
T1057 Felfedezés A WinorDLL64 információkat gyűjthet a futó folyamatokról.
T1012 Regiszter lekérdezése A WinorDLL64 lekérdezheti a Windows rendszerleíró adatbázisát a rendszerinformációk összegyűjtéséhez.
T1082 Rendszerinformációk felfedezése A WinorDLL64 olyan információkat kaphat, mint a számítógép neve, az operációs rendszer és a legújabb szervizcsomag verziója, a processzor architektúrája, a processzor neve és a rögzített meghajtókon lévő hely mennyisége.
T1614 Rendszerhely-felderítés A WinorDLL64 lekérheti az áldozat alapértelmezett országnevét a GetLocaleInfoW API.
T1614.001 Rendszerhely-felderítés: Rendszernyelv-felderítés A WinorDLL64 lekérheti az áldozat alapértelmezett nyelvét a GetLocaleInfoW API.
T1016 A rendszer hálózati konfigurációjának felderítése A WinorDLL64 fel tudja sorolni a hálózati adapter adatait.
T1049 Rendszer hálózati kapcsolatok felderítése A WinorDLL64 össze tudja gyűjteni a figyelő portok listáját.
T1033 Rendszertulajdonos/felhasználó felfedezése A WinorDLL64 felsorolhatja a munkameneteket, és felsorolhatja a kapcsolódó felhasználók, tartományok és ügyfelek neveit – többek között.
Gyűjtemény T1560.002 Az összegyűjtött adatok archiválása: Archiválás a könyvtáron keresztül A WinorDLL64 képes tömöríteni és kiszűrni a könyvtárakat a quicklz könyvtár.
T1005 Adatok a helyi rendszerből A WinorDLL64 adatokat gyűjthet az áldozat eszközéről.
Hatás T1531 Fiókhozzáférés eltávolítása A WinorDLL64 le tudja választani a bejelentkezett felhasználót a megadott munkamenetekről.

Időbélyeg:

Még több Biztonságban élünk