Regiunea vizată și suprapunerea în comportament și cod sugerează că instrumentul este folosit de infamul grup APT aliniat la Coreea de Nord
Cercetătorii ESET au descoperit una dintre sarcinile utile ale Descărcător Wslink pe care l-am descoperit în 2021. Am numit această sarcină utilă WinorDLL64 pe baza numelui său de fișier WinorDLL64.dll. Wslink, care avea numele fișierului WinorLoaderDLL64.dll, este un încărcător pentru binare Windows care, spre deosebire de alte astfel de încărcătoare, rulează ca un server și execută modulele primite în memorie. După cum sugerează formularea, un încărcător servește ca instrument pentru a încărca o sarcină utilă, sau malware-ul real, pe sistemul deja compromis. Vectorul inițial de compromis Wslink nu a fost identificat.
Sarcina utilă Wslink inițial necunoscută a fost încărcată în VirusTotal din Coreea de Sud la scurt timp după publicarea postării noastre pe blog și a atins una dintre regulile noastre YARA bazate pe numele unic al Wslink. WinorDLL64. În ceea ce privește Wslink, telemetria ESET a înregistrat doar câteva detectări – în Europa Centrală, America de Nord și Orientul Mijlociu.
WinorDLL64 sarcina utilă servește ca o ușă din spate care, în special, obține informații extinse de sistem, oferă mijloace pentru manipularea fișierelor, cum ar fi exfiltrarea, suprascrierea și eliminarea fișierelor și execută comenzi suplimentare. Interesant este că comunică printr-o conexiune care a fost deja stabilită de încărcătorul Wslink.
În 2021, nu am găsit date care să sugereze că Wslink este un instrument de la un actor cunoscut de amenințări. Cu toate acestea, după o analiză amplă a sarcinii utile, am atribuit WinorDLL64 la grupul Lazarus APT cu o încredere scăzută bazată pe regiunea țintă și o suprapunere atât a comportamentului, cât și a codului cu mostrele Lazarus cunoscute.
Activ din 2009 cel puțin, acest grup infam aliniat la Coreea de Nord este responsabil pentru incidente importante, cum ar fi atât Hack Sony Pictures Entertainment și zeci de milioane de dolari cyberheists în 2016, WannaCryptor (aka WannaCry) focar din 2017 și o lungă istorie de atacuri perturbatoare împotriva Infrastructura publică și critică sud-coreeană din 2011 cel puțin. US-CERT și FBI numesc acest grup COBRA ASCUNS.
Pe baza noastră cunostinte extensive Din activitățile și operațiunile acestui grup, credem că Lazăr constă dintr-o echipă mare care este organizată sistematic, bine pregătită și este formată din mai multe subgrupuri care utilizează un set mare de instrumente. Anul trecut, noi a descoperit un instrument Lazăr care a profitat de CVE-2021-21551 vulnerabilitatea de a viza un angajat al unei companii aerospațiale din Țările de Jos și un jurnalist politic din Belgia. A fost primul abuz înregistrat de vulnerabilitate; în combinație, instrumentul și vulnerabilitatea au dus la orbirea monitorizării tuturor soluțiilor de securitate pe mașinile compromise. Am oferit, de asemenea, o descriere extinsă a structura mașinii virtuale utilizat în mostre de Wslink.
Această postare de blog explică atribuirea lui WinorDLL64 lui Lazarus și oferă o analiză a sarcinii utile.
Legături către Lazăr
Am descoperit suprapuneri atât în ceea ce privește comportamentul, cât și codul cu mostrele Lazarus din Operațiunea GhostSecret si Implant Bankshot descris de McAfee. Descrierea implanturilor din articolele GhostSecret și Bankshot conține suprapuneri în funcționalitatea cu WinorDLL64 și am găsit unele suprapuneri de cod în mostre. În această postare pe blog vom folosi numai FE887FCAB66D7D7F79F05E0266C0649F0114BA7C eșantion de la GhostSecret pentru comparație cu WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), dacă nu se specifică altfel.
Următoarele detalii rezumă faptele justificative pentru atribuirea noastră scăzută de încredere lui Lazăr:
1. Victimologie
- Colegii de cercetare de la AhnLab au confirmat victimele sud-coreene ale Wslink în telemetria lor, care este un indicator relevant având în vedere țintele tradiționale Lazăr și că am observat doar câteva lovituri.
2. Programele malware
- Cel mai recent eșantion GhostSecret raportat de McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) este din februarie 2018; am observat primul eșantion de Wslink la sfârșitul anului 2018, iar colegii de cercetare au raportat rezultate în august 2018, pe care le-au dezvăluit după publicarea noastră. Prin urmare, aceste mostre au fost observate la o perioadă relativ scurtă de timp între ele.
- Anteturi bogate PE indică faptul că același mediu de dezvoltare și proiecte de dimensiuni similare au fost utilizate în alte câteva mostre cunoscute de Lazăr (de exemplu, 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Am găsit această suprapunere folosind următoarele reguli care acoperă numai aceste mostre Wslink și Lazarus, care este un indicator cu o greutate mică. Le-am testat Retrovânătoarea lui VirusTotal și corpusul nostru intern de fișiere.
semnătura_bogată.lungime == 80 și
pe.rich_signature.toolid(175, 30319) == 7 și
pe.rich_signature.toolid(155, 30319) == 1 și
pe.rich_signature.toolid(158, 30319) == 10 și
pe.rich_signature.toolid(170, 30319) >= 90 și
pe.rich_signature.toolid(170, 30319) <= 108
Această regulă poate fi tradusă în următoarea notație, care este mai lizibilă și mai utilizată de VirusTotal, unde se poate vedea versiunea produsului și ID-ul build (VS2010 build 30319), numărul și tipul fișierelor sursă/obiect utilizate ([LTCG C++] unde LTCG înseamnă Link Time Code Generation, [ASM], [C])și numărul de exporturi ([EXP]) în regulă:
[LTCG C++] VS2010 build 30319 count=7
[EXP] VS2010 build 30319 count=1
[ASM] VS2010 build 30319 count=10
[ C ] VS2010 build 30319 numără în [ 90 .. 108 ]
- Articolul GhostSecret a descris „o componentă unică de colectare a datelor și instalare de implant care ascultă pe portul 443 conexiunile la serverul de control de intrare” care rulează în plus ca un serviciu. Aceasta este o descriere exactă a comportamentului descarcătorului Wslink, în afară de numărul portului, care poate varia în funcție de configurație. Pentru a rezuma, chiar dacă implementarea este diferită, ambele servesc aceluiași scop.
- Încărcătorul este virtualizat de Oreans' Code Virtualizer, care este un protector comercial care este utilizat frecvent de Lazăr.
- Încărcătorul folosește Modulul de memorie bibliotecă pentru a încărca module direct din memorie. Biblioteca nu este folosită în mod obișnuit de malware, dar este destul de populară printre grupurile aliniate Coreei de Nord, cum ar fi Lazarus și Kimsuky.
- Suprapune în codul dintre WinorDLL64 și GhostSecret pe care l-am găsit în timpul analizei noastre. Rezultatele și semnificația în atribuire sunt enumerate în Tabelul 1.
Tabelul 1. Asemănări între WinorDLL64 și GhostSecret și semnificația lor în atribuirea ambelor aceluiași actor de amenințare
Alte asemănări între WinorDLL64 și GhostSecret | Impactul |
---|---|
Suprapunerea codului în codul responsabil pentru obținerea arhitecturii procesorului | Jos |
Suprapune de cod în manipularea directorului curent | Jos |
Se suprapune codul la obținerea listei de procese | Jos |
Suprapune de cod în trimiterea fișierului | Jos |
Suprapune de comportament în procesele de listare | Jos |
Suprapune de comportament în manipularea directorului curent | Jos |
Comportamentul se suprapun în lista de fișiere și directoare | Jos |
Comportamentul se suprapun în volumele de listări | Jos |
Comportamentul se suprapun în citirea/scrierea fișierelor | Jos |
Comportamentul se suprapun în crearea proceselor | Jos |
Comportamentul considerabil se suprapun în eliminarea în siguranță a fișierelor | Jos |
Se suprapune considerabile comportamente la terminarea proceselor | Jos |
Comportamentele considerabile se suprapun în colectarea informațiilor despre sistem | Jos |
Suprapunerea codului în funcționalitatea de trimitere a fișierelor este evidențiată în Figura 2 și Figura 3.
Analiza tehnica
WinorDLL64 servește ca o ușă din spate care, în special, obține informații extinse de sistem, oferă mijloace pentru manipularea fișierelor și execută comenzi suplimentare. Interesant este că comunică printr-o conexiune TCP care a fost deja stabilită de încărcătorul său și utilizează unele dintre funcțiile încărctorului.
Ușa din spate este un DLL cu un singur export fără nume care acceptă un parametru - o structură pentru comunicare care a fost deja descrisă în postarea anterioară pe blog. Structura conține un context TLS – socket, cheie, IV – și apeluri inverse pentru trimiterea și primirea mesajelor criptate cu AES-CBC pe 256 de biți care permit lui WinorDLL64 să schimbe date în siguranță cu operatorul printr-o conexiune deja stabilită.
Următoarele fapte ne fac să credem cu mare încredere că biblioteca face într-adevăr parte din Wslink:
- Structura unică este utilizată peste tot în modul așteptat, de exemplu, contextul TLS și alți parametri semnificativi sunt furnizați în ordinea anticipată la apelurile corecte.
- Numele DLL-ului este WinorDLL64.dll iar numele lui Wslink era WinorLoaderDLL64.dll.
WinorDLL64 acceptă mai multe comenzi. Figura 5 afișează bucla care primește și gestionează comenzi. Fiecare comandă este legată de un ID unic și acceptă o configurație care conține parametri suplimentari.
Lista de comenzi, cu etichetele noastre, este în Figura 6.
Tabelul 2 conține un rezumat al comenzilor WinorDLL64, unde sunt modificate, iar categoriile vechi se referă la relația cu funcționalitatea GhostSecret documentată anterior. Subliniem doar schimbări semnificative în categoria modificată.
Tabelul 2. Prezentare generală a comenzilor backdoor
Categorii | ID de comandă | Funcționalitate | Descriere |
---|---|---|---|
Nou | 0x03 | Executați o comandă PowerShell | WinorDLL64 instruiește interpretul PowerShell să ruleze fără restricții și să citească comenzile de la intrarea standard. Ulterior, ușa din spate transmite comanda specificată interpretului și trimite ieșirea operatorului. |
0x09 | Comprimați și descărcați un director | WinorDLL64 iterează recursiv peste un director specificat. Conținutul fiecărui fișier și director este comprimat separat și scris într-un fișier temporar care este ulterior trimis operatorului și apoi eliminat în siguranță. | |
0x0D | Deconectați o sesiune | Deconectează un anumit utilizator conectat de la sesiunea de Servicii Desktop la distanță a utilizatorului. Comanda poate efectua, de asemenea, diferite funcționalități în funcție de parametru. | |
0x0D | Listează sesiunile | Obține diverse detalii despre toate sesiunile de pe dispozitivul victimei și le trimite operatorului. Comanda poate efectua, de asemenea, diferite funcționalități în funcție de parametru. | |
0x0E | Măsurați timpul de conectare | Utilizează API-ul Windows GetTickCount pentru a măsura timpul necesar pentru a vă conecta la o gazdă specificată. | |
Modificat | 0x01 | Obțineți informații despre sistem | Obține detalii complete despre sistemul victimei și le trimite operatorului. |
0x0A | Eliminați fișierele în siguranță | Suprascrie fișierele specificate cu un bloc de date aleatorii, redenumește fiecare fișier cu un nume aleator și, în final, le elimină în siguranță unul câte unul. | |
0x0C | Uciderea proceselor | Termină toate procesele ale căror nume se potrivesc cu un model furnizat și/sau cu un PID specific. | |
Vechi | 0x02/0x0B | Creați un proces | Creează un proces fie ca utilizator curent, fie ca utilizator specificat și, opțional, trimite rezultatul acestuia către operator. |
0x05 | Setați/Obțineți directorul curent | Încercările de a seta și ulterior de a obține calea directorului de lucru curent. | |
0x06 | Enumerați volume | Iterează peste unități de la C: la Z: și obține tipul de unitate și numele volumului. Comanda poate efectua, de asemenea, diferite funcționalități în funcție de parametru. | |
0x06 | Listează fișierele dintr-un director | Iterează peste fișierele din directorul specificat și dobândește informații precum nume, atribute etc. Comanda poate efectua, de asemenea, diferite funcționalități în funcție de parametru. | |
0x07 | Scrieți într-un fișier | Descărcă și adaugă cantitatea declarată de date la fișierul specificat. | |
0x08 | Citiți dintr-un fișier | Fișierul specificat este citit și trimis operatorului. | |
0x0C | Enumeră procesele | Obține detalii despre toate procesele care rulează pe dispozitivul victimei și, în plus, trimite ID-ul procesului curent. |
Concluzie
Sarcina utilă a lui Wslink este dedicată furnizării de mijloace pentru manipularea fișierelor, execuția de cod suplimentar și obținerea de informații extinse despre sistemul de bază, care poate fi folosit mai târziu pentru deplasarea laterală, datorită interesului specific pentru sesiunile de rețea. Încărcătorul Wslink ascultă pe un port specificat în configurație și poate servi clienți de conectare suplimentari și chiar poate încărca diverse sarcini utile.
WinorDLL64 conține o suprapunere în mediul de dezvoltare, comportament și cod cu mai multe mostre Lazarus, ceea ce indică faptul că ar putea fi un instrument din vastul arsenal al acestui grup APT aliniat la Coreea de Nord.
IoC-uri
SHA-1 | Nume de detectare ESET | Descriere |
---|---|---|
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F | Win64/Wslink.A | Evacuarea memoriei încărcăturii utile Wslink WinorDll64 descoperite. |
Tehnici MITRE ATT&CK
Acest tabel a fost construit folosind Versiunea 12 a cadrului ATT&CK. Nu mai amintim tehnici de la încărcător, ci doar sarcina utilă.
tactică | ID | Nume si Prenume | Descriere |
---|---|---|---|
Dezvoltarea resurselor | T1587.001 | Dezvoltarea capacităților: Malware | WinorDLL64 este un instrument personalizat. |
Execuție | T1059.001 | Interpret de comenzi și scripturi: PowerShell | WinorDLL64 poate executa comenzi PowerShell arbitrare. |
T1106 | API nativ | WinorDLL64 poate executa procese suplimentare folosind CreateProcessW și CreateProcessAsUserW API-uri. | |
Evaziunea apărării | T1134.002 | Acces Token Manipulare: Creați un proces cu Token | WinorDLL64 poate apela API-uri WTSQueryUserToken și CreateProcessAsUserW pentru a crea un proces sub un utilizator uzurpat. |
T1070.004 | Eliminarea indicatorului: ștergerea fișierului | WinorDLL64 poate elimina în siguranță fișierele arbitrare. | |
Descoperire | T1087.001 | Descoperirea contului: cont local | WinorDLL64 poate enumera sesiunile și poate enumera numele utilizatorilor și clienților asociate, printre alte detalii. |
T1087.002 | Descoperirea contului: cont de domeniu | WinorDLL64 poate enumera sesiunile și enumera numele de domenii asociate, printre alte detalii. | |
T1083 | Descoperirea fișierelor și a directorului | WinorDLL64 poate obține liste de fișiere și directoare. | |
T1135 | Descoperirea partajării rețelei | WinorDLL64 poate descoperi unități de rețea partajate. | |
T1057 | Descoperirea proceselor | WinorDLL64 poate colecta informații despre procesele care rulează. | |
T1012 | Registrul de interogări | WinorDLL64 poate interoga registrul Windows pentru a aduna informații despre sistem. | |
T1082 | Descoperirea informațiilor de sistem | WinorDLL64 poate obține informații precum numele computerului, sistemul de operare și cea mai recentă versiune a pachetului de servicii, arhitectura procesorului, numele procesorului și cantitatea de spațiu pe unitățile fixe. | |
T1614 | Descoperirea locației sistemului | WinorDLL64 poate obține numele de țară implicit al victimei folosind GetLocaleInfoW API-ul. | |
T1614.001 | System Location Discovery: System Language Discovery | WinorDLL64 poate obține limba implicită a victimei folosind GetLocaleInfoW API-ul. | |
T1016 | Descoperirea configurației rețelei sistemului | WinorDLL64 poate enumera informații despre adaptorul de rețea. | |
T1049 | Descoperirea conexiunilor de rețea de sistem | WinorDLL64 poate colecta o listă de porturi de ascultare. | |
T1033 | Descoperire proprietar/utilizator de sistem | WinorDLL64 poate enumera sesiunile și enumera numele asociate utilizatorilor, domeniilor și clienților – printre alte detalii. | |
Colectie | T1560.002 | Arhivați datele colectate: arhivați prin bibliotecă | WinorDLL64 poate comprima și exfiltra directoare folosind quicklz bibliotecă. |
T1005 | Date din sistemul local | WinorDLL64 poate colecta date pe dispozitivul victimei. | |
Impactul | T1531 | Eliminarea accesului la cont | WinorDLL64 poate deconecta un utilizator conectat de la sesiunile specificate. |
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- Platoblockchain. Web3 Metaverse Intelligence. Cunoștințe amplificate. Accesați Aici.
- Sursa: https://www.welivesecurity.com/2023/02/23/winordll64-backdoor-vast-lazarus-arsenal/
- 1
- 10
- 2011
- 2017
- 2018
- 2021
- 7
- 9
- a
- Despre Noi
- abuz
- acceptă
- acces
- precis
- dobândi
- achiziţionează
- activităţi de
- Suplimentar
- În plus,
- Avantaj
- Industria aerospațială
- După
- împotriva
- aliniat
- TOATE
- deja
- America
- printre
- sumă
- analiză
- și
- Anticipat
- separat
- api
- API-uri
- APT
- arhitectură
- arhivă
- Arsenal
- articol
- bunuri
- asociate
- Atacuri
- atribute
- August
- înapoi
- ușă din dos
- bazat
- Belgia
- Crede
- între
- Bloca
- legat
- construi
- construit
- C ++
- apel
- capacități
- categorii
- Categorii
- central
- Europa Centrală
- CGI
- Modificări
- CISA
- client
- clientii
- cod
- colecta
- Colectare
- combinaţie
- comercial
- în mod obișnuit
- Comunicare
- companie
- comparație
- component
- cuprinzător
- compromis
- compromis
- calculator
- încredere
- Configuraţie
- CONFIRMAT
- Conectați
- Conectarea
- conexiune
- Conexiuni
- luand in considerare
- conține
- conţinut
- Control
- ţară
- acoperi
- crea
- Crearea
- critic
- Curent
- personalizat
- de date
- dedicat
- Mod implicit
- descris
- descriere
- desktop
- detalii
- Dezvoltare
- dispozitiv
- FĂCUT
- diferit
- direct
- directoare
- descoperi
- a descoperit
- descoperire
- afișează
- brizant
- domeniu
- NUMELE DE DOMENIU
- Descarca
- conduce
- descărca
- în timpul
- fiecare
- Est
- oricare
- Angajat
- permite
- criptate
- Divertisment
- Mediu inconjurator
- stabilit
- etc
- Europa
- Chiar
- schimb
- a executa
- Executa
- execuție
- de aşteptat
- explică
- exporturile
- exporturile
- extensiv
- FBI
- februarie
- membru
- puțini
- Figura
- Fișier
- Fişiere
- În cele din urmă
- Găsi
- First
- fixată
- următor
- găsit
- Cadru
- din
- funcționalitate
- funcții
- mai mult
- generaţie
- obține
- obtinerea
- grup
- Grupului
- Mânere
- Înalt
- Profil înalt
- Evidențiați
- Evidențiat
- istorie
- Lovit
- hit-uri
- gazdă
- Totuși
- HTTPS
- identificat
- implementarea
- in
- indica
- indică
- Indicator
- infam
- informații
- inițială
- inițial
- intrare
- Inteligență
- interes
- intern
- IT
- ziarist
- Cheie
- cunoscut
- Coreea
- Coreeană
- etichete
- limbă
- mare
- Nume
- Anul trecut
- Târziu
- Ultimele
- Lazăr
- conduce
- Led
- Lungime
- Bibliotecă
- LINK
- Listă
- listat
- Ascultare
- listare
- înregistrări
- încărca
- încărcător
- local
- locaţie
- Lung
- Jos
- Masini
- făcut
- Principal
- malware
- Manipulare
- Meci
- max-width
- McAfee
- semnificativ
- mijloace
- măsura
- Memorie
- mesaje
- De mijloc
- Orientul Mijlociu
- ar putea
- modificată
- Module
- Monitorizarea
- mai mult
- cele mai multe
- mişcare
- nume
- Numit
- nume
- Olanda
- reţea
- North
- America de Nord
- în special
- număr
- obține
- obținerea
- promoții
- Vechi
- ONE
- Operațiuni
- operator
- comandă
- Organizat
- OS
- Altele
- in caz contrar
- izbucnire
- Prezentare generală
- Ambalaj
- parametru
- parametrii
- parte
- trece
- cale
- Model
- efectua
- perioadă
- poze
- Plato
- Informații despre date Platon
- PlatoData
- politic
- Popular
- porturi
- PowerShell
- pregătit
- în prealabil
- privat
- proces
- procese
- procesor
- Produs
- Proiecte
- prevăzut
- furnizează
- furnizarea
- public
- Publicare
- scop
- aleator
- Citeste
- primit
- primește
- primire
- inregistrata
- cu privire la
- regiune
- registru
- relaţie
- relativ
- la distanta
- îndepărtare
- scoate
- îndepărtat
- eliminarea
- Raportat
- Rapoarte
- necesar
- cercetare
- cercetător
- cercetători
- responsabil
- REZULTATE
- Bogat
- Regula
- norme
- Alerga
- funcţionare
- acelaşi
- sigur
- în siguranță,
- securitate
- trimitere
- separat
- servi
- servește
- serviciu
- Servicii
- sesiune
- Sesiunile
- set
- câteva
- Distribuie
- comun
- Pantaloni scurți
- Pe scurt
- semnificație
- semnificativ
- asemănător
- asemănări
- întrucât
- singur
- Mărimea
- soluţii
- unele
- Sud
- Coreea de Sud
- Sud corean
- Spaţiu
- specific
- specificată
- standard
- Standuri
- stabilit
- structura
- Ulterior
- astfel de
- sugerează
- rezuma
- REZUMAT
- furnizat
- De sprijin
- sistem
- tabel
- Ţintă
- vizate
- obiective
- echipă
- tehnici de
- temporar
- Olanda
- lor
- amenințare
- timp
- la
- semn
- instrument
- tradiţional
- în
- care stau la baza
- unic
- ANONIM
- încărcat
- us
- utilizare
- Utilizator
- folosi
- diverse
- Fixă
- versiune
- de
- Victimă
- victime
- Virtual
- vizualizare
- volum
- vulnerabilitate
- greutate
- care
- larg
- voi
- ferestre
- formulare
- de lucru
- ar
- scris
- an
- zephyrnet