La regione presa di mira e la sovrapposizione nel comportamento e nel codice suggeriscono che lo strumento sia utilizzato dal famigerato gruppo APT allineato alla Corea del Nord
I ricercatori ESET hanno scoperto uno dei payload del Scarica Wslink che abbiamo scoperto nel 2021. Abbiamo chiamato questo payload WinorDLL64 in base al suo nome file WinorDLL64.dll. Wslink, che aveva il nome file WinorLoaderDLL64.dll, è un caricatore per i binari di Windows che, a differenza di altri caricatori di questo tipo, viene eseguito come server ed esegue i moduli ricevuti in memoria. Come suggerisce la formulazione, un caricatore funge da strumento per caricare un payload, o il malware vero e proprio, sul sistema già compromesso. Il vettore di compromesso Wslink iniziale non è stato identificato.
Il payload Wslink inizialmente sconosciuto è stato caricato su VirusTotal dalla Corea del Sud poco dopo la pubblicazione del nostro post sul blog e ha raggiunto una delle nostre regole YARA basate sul nome univoco di Wslink WinorDLL64. Per quanto riguarda Wslink, la telemetria ESET ha visto solo pochi rilevamenti: in Europa centrale, Nord America e Medio Oriente.
I WinorDLL64 Il payload funge da backdoor che in particolare acquisisce ampie informazioni di sistema, fornisce mezzi per la manipolazione dei file, come l'esfiltrazione, la sovrascrittura e la rimozione di file ed esegue comandi aggiuntivi. È interessante notare che comunica tramite una connessione già stabilita dal caricatore Wslink.
Nel 2021, non abbiamo trovato alcun dato che suggerisca che Wslink sia uno strumento di un noto attore di minacce. Tuttavia, dopo un'analisi approfondita del carico utile, abbiamo attribuito WinorDLL64 al gruppo Lazarus APT con bassa confidenza basata sulla regione target e una sovrapposizione sia nel comportamento che nel codice con campioni Lazarus noti.
Attivo almeno dal 2009, questo famigerato gruppo schierato con la Corea del Nord è responsabile di incidenti di alto profilo come sia il Hack della Sony Pictures Entertainment e decine di milioni di dollari attacchi informatici nel 2016, le WannaCryptor (alias WannaCry) nel 2017 e una lunga storia di attacchi dirompenti contro Infrastrutture pubbliche e critiche sudcoreane almeno dal 2011. US-CERT e FBI chiamano questo gruppo COBRA NASCOSTO.
Sulla base del nostro vasta conoscenza delle attività e delle operazioni di questo gruppo, riteniamo che Lazarus sia costituito da un grande team sistematicamente organizzato, ben preparato e composto da diversi sottogruppi che utilizzano un ampio set di strumenti. L'anno scorso, noi ha scoperto uno strumento di Lazzaro che ha approfittato del CVE‑2021‑21551 vulnerabilità per prendere di mira un dipendente di un'azienda aerospaziale nei Paesi Bassi e un giornalista politico in Belgio. È stato il primo abuso registrato della vulnerabilità; in combinazione, lo strumento e la vulnerabilità hanno portato all'accecamento del monitoraggio di tutte le soluzioni di sicurezza sulle macchine compromesse. Abbiamo anche fornito un'ampia descrizione del struttura della macchina virtuale utilizzato nei campioni di Wslink.
Questo blogpost spiega l'attribuzione di WinorDLL64 a Lazarus e fornisce un'analisi del payload.
Link a Lazzaro
Abbiamo scoperto sovrapposizioni sia nel comportamento che nel codice con i campioni di Lazarus da Operazione GhostSecret e la Impianto Bankshot descritto da McAfee. La descrizione degli impianti in entrambi gli articoli GhostSecret e Bankshot contiene sovrapposizioni nella funzionalità con WinorDLL64 e abbiamo riscontrato alcune sovrapposizioni di codice negli esempi. In questo blogpost useremo solo il file FE887FCAB66D7D7F79F05E0266C0649F0114BA7C campione da GhostSecret per il confronto con WinorDLL64 (1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F), se non diversamente specificato.
I seguenti dettagli riassumono i fatti a sostegno della nostra attribuzione di scarsa fiducia a Lazarus:
1. Vittimologia
- I colleghi ricercatori di AhnLab hanno confermato le vittime sudcoreane di Wslink nella loro telemetria, che è un indicatore rilevante considerando i tradizionali obiettivi di Lazarus e che abbiamo osservato solo pochi colpi.
2. Malware
- L'ultimo esempio di GhostSecret riportato da McAfee (FE887FCAB66D7D7F79F05E0266C0649F0114BA7C) risale a febbraio 2018; abbiamo individuato il primo campione di Wslink alla fine del 2018 e altri ricercatori hanno riportato successi nell'agosto 2018, che hanno rivelato dopo la nostra pubblicazione. Quindi, questi campioni sono stati individuati a distanza di tempo relativamente breve.
- I Intestazioni ricche di PE indicano che lo stesso ambiente di sviluppo e progetti di dimensioni simili sono stati utilizzati in molti altri campioni noti di Lazarus (ad es. 70DE783E5D48C6FBB576BC494BAF0634BC304FD6; 8EC9219303953396E1CB7105CDB18ED6C568E962). Abbiamo trovato questa sovrapposizione utilizzando le seguenti regole che coprono solo questi campioni Wslink e Lazarus, che è un indicatore con un peso ridotto. Li abbiamo testati La retrocaccia di VirusTotal e il nostro corpus di file interno.
rich_signature.length == 80 e
pe.rich_signature.toolid(175, 30319) == 7 e
pe.rich_signature.toolid(155, 30319) == 1 e
pe.rich_signature.toolid(158, 30319) == 10 e
pe.rich_signature.toolid(170, 30319) >= 90 e
pe.rich_signature.toolid(170, 30319) <= 108
Questa regola può essere tradotta nella seguente notazione che è più leggibile e utilizzata da VirusTotal, dove è possibile vedere la versione del prodotto e l'ID build (VS2010 build 30319), numero e tipo di file sorgente/oggetto utilizzati ([LTCG C++] dove LTCG sta per Link Time Code Generation, [ASM], [ C ]), e numero di esportazioni ([SCAD]) nella regola:
[LTCG C++] VS2010 build 30319 conteggio=7
[EXP] VS2010 build 30319 conteggio=1
[ASM] VS2010 build 30319 conteggio=10
[ C ] VS2010 build 30319 conteggio in [ 90 .. 108 ]
- L'articolo di GhostSecret descriveva "un componente unico per la raccolta di dati e l'installazione di impianti che ascolta sulla porta 443 le connessioni al server di controllo in entrata" che funzionava anche come servizio. Questa è una descrizione accurata del comportamento del downloader Wslink, a parte il numero di porta, che può variare in base alla configurazione. Per riassumere, anche se l'implementazione è diversa, entrambi hanno lo stesso scopo.
- Il caricatore è virtualizzato da Code Virtualizer di Oreans, che è una protezione commerciale utilizzata frequentemente di Lazzaro.
- Il caricatore utilizza il Modulo di memoria libreria per caricare i moduli direttamente dalla memoria. La libreria non è comunemente utilizzata dal malware, ma è piuttosto popolare tra i gruppi allineati alla Corea del Nord come Lazarus e Kimsuky.
- Sovrapposizione nel codice tra WinorDLL64 e GhostSecret che abbiamo riscontrato durante la nostra analisi. I risultati e il significato nell'attribuzione sono elencati nella Tabella 1.
Tabella 1. Somiglianze tra WinorDLL64 e GhostSecret e il loro significato nell'attribuire entrambi allo stesso autore di minacce
Altre somiglianze tra WinorDLL64 e GhostSecret | Impact |
---|---|
Sovrapposizione di codice nel codice responsabile per ottenere l'architettura del processore | Basso |
Sovrapposizione di codice nella manipolazione della directory corrente | Basso |
Sovrapposizione di codice nell'ottenere l'elenco dei processi | Basso |
Sovrapposizione codice nell'invio file | Basso |
Sovrapposizione di comportamento nei processi di quotazione | Basso |
Sovrapposizione del comportamento nella manipolazione della directory corrente | Basso |
Sovrapposizione di comportamento nell'elenco di file e directory | Basso |
Sovrapposizione di comportamento nei volumi di quotazione | Basso |
Sovrapposizione di comportamento nella lettura/scrittura dei file | Basso |
Sovrapposizione di comportamento nella creazione di processi | Basso |
Il comportamento considerevole si sovrappone nella rimozione sicura dei file | Basso |
Il comportamento considerevole si sovrappone alla fine dei processi | Basso |
Notevole sovrapposizione di comportamento nella raccolta delle informazioni di sistema | Basso |
La sovrapposizione del codice nella funzionalità di invio di file è evidenziata nella Figura 2 e nella Figura 3.
Analisi tecnica
WinorDLL64 funge da backdoor che in particolare acquisisce ampie informazioni di sistema, fornisce mezzi per la manipolazione dei file ed esegue comandi aggiuntivi. È interessante notare che comunica tramite una connessione TCP già stabilita dal suo caricatore e utilizza alcune delle funzioni del caricatore.
La backdoor è una DLL con una singola esportazione senza nome che accetta un parametro, una struttura per la comunicazione già descritta nel nostro post precedente. La struttura contiene un contesto TLS – socket, key, IV – e callback per l'invio e la ricezione di messaggi crittografati con AES-CBC a 256 bit che consentono a WinorDLL64 di scambiare dati in modo sicuro con l'operatore su una connessione già stabilita.
I seguenti fatti ci portano a credere con grande sicurezza che la biblioteca faccia effettivamente parte di Wslink:
- La struttura univoca viene utilizzata ovunque nel modo previsto, ad esempio, il contesto TLS e altri parametri significativi vengono forniti nell'ordine previsto ai callback corretti.
- Il nome della DLL è WinorDLL64.dll e il nome di Wslink era WinorLoaderDLL64.dll.
WinorDLL64 accetta diversi comandi. La Figura 5 mostra il ciclo che riceve e gestisce i comandi. Ogni comando è associato a un ID univoco e accetta una configurazione che contiene parametri aggiuntivi.
L'elenco dei comandi, con le nostre etichette, è in Figura 6.
La tabella 2 contiene un riepilogo dei comandi WinorDLL64, dove le categorie modificate e vecchie si riferiscono alla relazione con la funzionalità GhostSecret precedentemente documentata. Evidenziamo solo cambiamenti significativi nella categoria modificata.
Tabella 2. Panoramica dei comandi backdoor
Categoria | ID comando | Funzionalità | Descrizione |
---|---|---|---|
New | 0x03 | Esegui un comando di PowerShell | WinorDLL64 indica all'interprete di PowerShell di eseguire senza restrizioni e di leggere i comandi dall'input standard. Successivamente, la backdoor passa il comando specificato all'interprete e invia l'output all'operatore. |
0x09 | Comprimi e scarica una directory | WinorDLL64 itera in modo ricorsivo su una directory specificata. Il contenuto di ciascun file e directory viene compresso separatamente e scritto in un file temporaneo che viene successivamente inviato all'operatore e quindi rimosso in modo sicuro. | |
0x0D | Disconnettere una sessione | Disconnette un utente connesso specificato dalla sessione di Servizi Desktop remoto dell'utente. Il comando può anche eseguire diverse funzionalità in base al parametro. | |
0x0D | Elenca le sessioni | Acquisisce vari dettagli su tutte le sessioni sul dispositivo della vittima e li invia all'operatore. Il comando può anche eseguire diverse funzionalità in base al parametro. | |
0x0E | Misura il tempo di connessione | Utilizza l'API di Windows GetTickCount per misurare il tempo necessario per connettersi a un host specificato. | |
Modificata | 0x01 | Ottieni informazioni sul sistema | Acquisisce dettagli completi sul sistema della vittima e li invia all'operatore. |
0x0A | Rimuovi i file in modo sicuro | Sovrascrive i file specificati con un blocco di dati casuali, rinomina ogni file con un nome casuale e infine li rimuove in modo sicuro uno per uno. | |
0x0C | Uccidi i processi | Termina tutti i processi i cui nomi corrispondono a un modello fornito e/o con un PID specifico. | |
Vecchio | 0x02/0x0B | Crea un processo | Crea un processo come utente corrente o specificato e, facoltativamente, ne invia l'output all'operatore. |
0x05 | Imposta/Ottieni la directory corrente | Tenta di impostare e successivamente acquisire il percorso della directory di lavoro corrente. | |
0x06 | Elenca i volumi | Itera sulle unità da C: a Z: e acquisisce il tipo di unità e il nome del volume. Il comando può anche eseguire diverse funzionalità in base al parametro. | |
0x06 | Elenca i file in una directory | Itera sui file nella directory specificata e acquisisce informazioni come nomi, attributi, ecc. Il comando può anche eseguire diverse funzionalità in base al parametro. | |
0x07 | Scrivi su un file | Scarica e aggiunge la quantità dichiarata di dati al file specificato. | |
0x08 | Leggi da un file | Il file specificato viene letto e inviato all'operatore. | |
0x0C | Elenca i processi | Acquisisce dettagli su tutti i processi in esecuzione sul dispositivo della vittima e invia inoltre l'ID del processo corrente. |
Conclusione
Il carico utile di Wslink è dedicato a fornire mezzi per la manipolazione dei file, l'esecuzione di ulteriore codice e l'ottenimento di ampie informazioni sul sistema sottostante che possono essere sfruttate in seguito per il movimento laterale, a causa dell'interesse specifico per le sessioni di rete. Il caricatore Wslink è in ascolto su una porta specificata nella configurazione e può servire ulteriori client di connessione e persino caricare vari payload.
WinorDLL64 contiene una sovrapposizione nell'ambiente di sviluppo, nel comportamento e nel codice con diversi esempi di Lazarus, il che indica che potrebbe essere uno strumento del vasto arsenale di questo gruppo APT allineato con la Corea del Nord.
IOCS
SHA-1 | Nome di rilevamento ESET | Descrizione |
---|---|---|
1BA443FDE984CEE85EBD4D4FA7EB1263A6F1257F | Win64/Wslink.A | Dump della memoria del payload Wslink WinorDll64 rilevato. |
Tecniche MITRE ATT&CK
Questa tabella è stata creata utilizzando Versione 12 del framework ATT&CK. Non menzioniamo di nuovo le tecniche del caricatore, solo il carico utile.
tattica | ID | Nome | Descrizione |
---|---|---|---|
Sviluppo delle risorse | T1587.001 | Capacità di sviluppo: malware | WinorDLL64 è uno strumento personalizzato. |
T1059.001 | Interprete di comandi e script: PowerShell | WinorDLL64 può eseguire comandi PowerShell arbitrari. | |
T1106 | API nativa | WinorDLL64 può eseguire ulteriori processi utilizzando il file CreateProcessW ed CreateProcessAsUserW API. | |
Evasione della difesa | T1134.002 | Manipolazione token di accesso: crea processo con token | WinorDLL64 può chiamare le API WTSQueryUserToken ed CreateProcessAsUserW per creare un processo sotto un utente impersonato. |
T1070.004 | Rimozione dell'indicatore: eliminazione dei file | WinorDLL64 può rimuovere in modo sicuro i file arbitrari. | |
Ricerca e Sviluppo | T1087.001 | Scoperta dell'account: account locale | WinorDLL64 può enumerare le sessioni ed elencare gli utenti associati e i nomi dei client, tra gli altri dettagli. |
T1087.002 | Scoperta dell'account: account di dominio | WinorDLL64 può enumerare le sessioni ed elencare i nomi di dominio associati, tra gli altri dettagli. | |
T1083 | Scoperta di file e directory | WinorDLL64 può ottenere elenchi di file e directory. | |
T1135 | Rilevamento condivisione di rete | WinorDLL64 può rilevare unità di rete condivise. | |
T1057 | Scoperta dei processi | WinorDLL64 può raccogliere informazioni sui processi in esecuzione. | |
T1012 | Interrogare il Registro di sistema | WinorDLL64 può interrogare il registro di Windows per raccogliere informazioni di sistema. | |
T1082 | Scoperta delle informazioni di sistema | WinorDLL64 può ottenere informazioni come il nome del computer, il sistema operativo e l'ultima versione del service pack, l'architettura del processore, il nome del processore e la quantità di spazio su unità fisse. | |
T1614 | Scoperta della posizione del sistema | WinorDLL64 può ottenere il nome del paese predefinito della vittima utilizzando l'estensione Ottieni informazioni locali W API. | |
T1614.001 | Rilevamento della posizione del sistema: rilevamento della lingua del sistema | WinorDLL64 può ottenere la lingua predefinita della vittima utilizzando il file Ottieni informazioni locali W API. | |
T1016 | Scoperta della configurazione di rete del sistema | WinorDLL64 può enumerare le informazioni sulla scheda di rete. | |
T1049 | Scoperta delle connessioni di rete del sistema | WinorDLL64 può raccogliere un elenco di porte in ascolto. | |
T1033 | Scoperta del proprietario/utente del sistema | WinorDLL64 può enumerare le sessioni ed elencare i nomi di utenti, domini e client associati, tra gli altri dettagli. | |
Collezione | T1560.002 | Archivia i dati raccolti: Archivia tramite la libreria | WinorDLL64 può comprimere ed esfiltrare le directory utilizzando il file rapido biblioteca. |
T1005 | Dati dal sistema locale | WinorDLL64 può raccogliere dati sul dispositivo della vittima. | |
Impact | T1531 | Rimozione dell'accesso all'account | WinorDLL64 può disconnettere un utente connesso da sessioni specificate. |
- Distribuzione di contenuti basati su SEO e PR. Ricevi amplificazione oggi.
- Platoblockchain. Web3 Metaverse Intelligence. Conoscenza amplificata. Accedi qui.
- Fonte: https://www.welivesecurity.com/2023/02/23/winordll64-backdoor-vast-lazarus-arsenal/
- 1
- 10
- 2011
- 2017
- 2018
- 2021
- 7
- 9
- a
- Chi siamo
- abuso
- accetta
- accesso
- preciso
- acquisire
- Acquisisce
- attività
- aggiuntivo
- Inoltre
- Vantaggio
- Aeronautico
- Dopo shavasana, sedersi in silenzio; saluti;
- contro
- Allineati
- Tutti
- già
- America
- tra
- quantità
- .
- ed
- Anticipato
- a parte
- api
- API
- APT
- architettura
- Archivio
- Arsenal
- articolo
- news
- associato
- attacchi
- gli attributi
- AGOSTO
- precedente
- porta posteriore
- basato
- Belgio
- CREDIAMO
- fra
- Bloccare
- legato
- costruire
- costruito
- C++
- chiamata
- funzionalità
- categoria
- Categoria
- centrale
- Europa centrale
- CGI
- Modifiche
- CISA
- cliente
- clienti
- codice
- raccogliere
- Raccolta
- combinazione
- comunemente
- Comunicazione
- azienda
- confronto
- componente
- globale
- compromesso
- Compromissione
- computer
- fiducia
- Configurazione
- CONFERMATO
- Connettiti
- Collegamento
- veloce
- Connessioni
- considerando
- contiene
- contenuto
- di controllo
- nazione
- coprire
- creare
- Creazione
- critico
- Corrente
- costume
- dati
- dedicato
- Predefinito
- descritta
- descrizione
- tavolo
- dettagli
- Mercato
- dispositivo
- DID
- diverso
- direttamente
- directory
- scopri
- scoperto
- scoperta
- display
- dirompente
- dominio
- NOMI DI DOMINIO
- scaricare
- guidare
- cumulo di rifiuti
- durante
- ogni
- est
- o
- Dipendente
- enable
- crittografato
- Intrattenimento
- Ambiente
- sviluppate
- eccetera
- Europa
- Anche
- exchange
- eseguire
- esegue
- esecuzione
- previsto
- Spiega
- export
- le esportazioni
- estensivo
- fbi
- Febbraio
- compagno
- pochi
- figura
- Compila il
- File
- Infine
- Trovare
- Nome
- fisso
- i seguenti
- essere trovato
- Contesto
- da
- funzionalità
- funzioni
- ulteriormente
- ELETTRICA
- ottenere
- ottenere
- Gruppo
- Gruppo
- Maniglie
- Alta
- alto profilo
- Highlight
- Evidenziato
- storia
- Colpire
- Visualizzazioni
- host
- Tuttavia
- HTTPS
- identificato
- implementazione
- in
- indicare
- indica
- infame
- informazioni
- inizialmente
- inizialmente
- ingresso
- Intelligence
- interesse
- interno
- IT
- giornalista
- Le
- conosciuto
- Corea
- Coreano
- per il tuo brand
- Lingua
- grandi
- Cognome
- L'anno scorso
- In ritardo
- con i più recenti
- Lazarus
- portare
- Guidato
- Lunghezza
- Biblioteca
- LINK
- Lista
- elencati
- Ascolto
- annuncio
- Annunci
- caricare
- caricatore
- locale
- località
- Lunghi
- Basso
- macchine
- fatto
- Principale
- il malware
- Manipolazione
- partita
- max-width
- Mcafee
- significativo
- si intende
- misurare
- Memorie
- messaggi
- In mezzo
- Medio Oriente
- forza
- modificato
- moduli
- monitoraggio
- Scopri di più
- maggior parte
- movimento
- Nome
- Detto
- nomi
- Olanda
- Rete
- Nord
- America del Nord
- segnatamente
- numero
- ottenere
- ottenendo
- Offerte
- Vecchio
- ONE
- Operazioni
- operatore
- minimo
- Organizzato
- OS
- Altro
- altrimenti
- scoppio
- panoramica
- PACK
- parametro
- parametri
- parte
- Passi
- sentiero
- Cartamodello
- eseguire
- periodo
- Immagini
- Platone
- Platone Data Intelligence
- PlatoneDati
- politico
- Popolare
- porte
- PowerShell
- preparato
- in precedenza
- un bagno
- processi
- i processi
- Processore
- Prodotto
- progetti
- purché
- fornisce
- fornitura
- la percezione
- Pubblicazione
- scopo
- casuale
- Leggi
- ricevuto
- riceve
- ricevente
- registrato
- per quanto riguarda
- regione
- registro
- rapporto
- relativamente
- pertinente
- a distanza
- rimozione
- rimuovere
- rimosso
- rimozione
- Segnalati
- Report
- necessario
- riparazioni
- ricercatore
- ricercatori
- responsabile
- Risultati
- Ricco
- Regola
- norme
- Correre
- running
- stesso
- sicuro
- in modo sicuro
- problemi di
- invio
- separatamente
- servire
- serve
- servizio
- Servizi
- Sessione
- sessioni
- set
- alcuni
- Condividi
- condiviso
- Corti
- In breve
- significato
- significativa
- simile
- somiglianze
- da
- singolo
- Taglia
- Soluzioni
- alcuni
- Sud
- Corea del Sud
- Corea del Sud
- lo spazio
- specifico
- specificato
- Standard
- si
- ha dichiarato
- La struttura
- Successivamente
- tale
- suggerisce
- riassumere
- SOMMARIO
- in dotazione
- Supporto
- sistema
- tavolo
- Target
- mirata
- obiettivi
- team
- tecniche
- temporaneo
- I
- paesi Bassi
- loro
- minaccia
- tempo
- a
- token
- tradizionale
- per
- sottostante
- unico
- SENZA NOME
- caricato
- us
- uso
- Utente
- utilizzare
- vario
- Fisso
- versione
- via
- Vittima
- vittime
- virtuale
- visualizzazione
- volume
- vulnerabilità
- peso
- quale
- largo
- volere
- finestre
- formulazione
- lavoro
- sarebbe
- scritto
- anno
- zefiro