Un finto installer di LastPass nasconde un driver che disattiva l'antivirus
Un finto installer di LastPass offerto su GitHub disattiva l'antivirus e altri software di sicurezza, poi ruba le password salvate sulla macchina su cui viene eseguito, hanno riferito i ricercatori di LastPass e Delphos Labs il 17 settembre. La catena inizia con una pagina di download e termina con un driver kernel di Windows, e LastPass ha dichiarato che nessuno dei suoi sistemi, servizi o vault dei clienti è stato toccato: gli attaccanti hanno solo preso in prestito il nome dell'azienda.
L'esca è una pagina GitHub contraffatta, github.com/LastPass-Authenticator, che si posiziona nei risultati di ricerca per termini come "LastPass Authenticator download" ed è costruita per sembrare una pagina prodotto autentica di LastPass. Premere il pulsante di download non avvia un normale download: manda il visitatore attraverso diverse pagine GitHub e poi a un server degli attaccanti, che serve un grande archivio ZIP. Il vero LastPass Authenticator è distribuito da lastpass.com e dagli app store ufficiali, non da GitHub. Gli archivi visti dai ricercatori erano di 148 MB e 127,9 MB, riempiti con file spazzatura in modo che i servizi di scansione con limiti di dimensione per l'upload li saltino.
Dentro lo ZIP c'è una copia rinominata di vsdbg.exe, un vero strumento di debug di Microsoft, collocata accanto a un file malevolo chiamato vsdbg.dll. Quando il finto installer viene eseguito, Windows carica la DLL dell'attaccante dalla stessa cartella invece di quella legittima, un trucco noto come DLL side-loading. Il loader poi tenta tre modi diversi per ottenere i diritti di amministratore, raggiunge SYSTEM (il livello di privilegio più alto su una macchina Windows) e installa un driver kernel come servizio. Un driver kernel è un software che gira al livello più profondo del sistema operativo, sotto lo strato in cui operano i programmi antivirus e gli strumenti di endpoint detection and response (EDR), ed è per questo che può agire senza essere visto da loro.
Il driver, che i ricercatori hanno chiamato Alinubx.sys, contiene una lista di 145 nomi di processi antivirus e di sicurezza e termina ognuno di quelli che trova in esecuzione. Poiché agisce dal kernel, quegli strumenti di sicurezza ordinari (in user-mode) non possono bloccare l'uccisione né tantomeno osservarla. Caricare un driver correttamente firmato ma sfruttabile per ottenere quel tipo di accesso è una tecnica nota chiamata bring your own vulnerable driver, o BYOVD. Il driver è firmato attraverso la catena Microsoft Windows Hardware Compatibility Publisher, con data di firma marzo 2023, anni prima di questa campagna. Come hanno detto i ricercatori, "l'attestazione Microsoft prova che un driver è passato attraverso una pipeline di fiducia. Non prova che il driver sia sicuro". La kill list è solo la parte del codice del driver che è stata eseguita qui. Lo stesso codice può anche nascondere file, iniettarsi in altri programmi e reindirizzare il traffico web, ma quelle funzioni richiedono un file di configurazione che gli attaccanti non hanno incluso, quindi sono rimaste spente.
Con il software di sicurezza disattivato, lo stealer ha raccolto le password salvate da più di due dozzine di browser, file di wallet di criptovalute e sessioni di login per Discord, Steam e Telegram, insieme al contenuto di Windows Credential Manager e a qualsiasi file chiamato come "password", "seed" o "recovery". Per Chrome ed Edge, che usano la crittografia app-bound di Google per fermare proprio questo tipo di furto, lo stealer inietta codice nel browser e chiede al servizio del browser stesso di decifrare le password. I dati rubati vengono impacchettati in uno ZIP e inviati a un server degli attaccanti.
Perché nulla l'ha intercettato. Il driver è una copia rinominata di CcProtect.sys, un driver del prodotto cinese di cifratura dei dischi CnCrypt che è già elencato nel catalogo LOLDrivers come process killer, con codice proof-of-concept pubblico. I due file condividono lo stesso nome prodotto, versione e submitter; sono stati cambiati solo il nome del file e la descrizione. Quell'unico cambiamento ha fatto crollare il rilevamento: l'originale noto era segnalato da 7 su circa 70 motori ad agosto, mentre il driver rinominato non era segnalato da nessuno. La rinomina non è però sfuggita alla blocklist dei driver vulnerabili di Microsoft, perché nemmeno l'originale era mai stato inserito. La blocklist, attivata per impostazione predefinita dall'aggiornamento di Windows 11 del 2022, confronta hash di file noti, e un driver rinominato o ricompilato produce un nuovo hash che la lista non contiene. Delphos ha controllato la lista il 20 agosto e non ha trovato nessuna delle due versioni, e al momento del report del 17 settembre Alinubx.sys non era ancora presente.
Delphos ha segnalato il driver a Microsoft il 19 agosto. Microsoft ha risposto che il comportamento non rientra nella sua definizione di vulnerabilità di sicurezza, perché il driver non è un componente Microsoft, e ha indirizzato i ricercatori al canale separato che valuta i driver per la blocklist. Delphos ha inviato di nuovo lì lo stesso giorno.
Cosa fare se il finto installer è stato eseguito. Considera ogni password salvata nel browser su quella macchina come rubata, insieme a qualsiasi file di wallet di criptovalute, alle sessioni Discord, Steam e Telegram e a qualsiasi cosa in Windows Credential Manager, perché lo stealer copia quei dati prima che inizi il lavoro del driver. Cambia quelle password da un dispositivo separato e pulito, non da quello compromesso, e controlla l'attività degli account per qualsiasi cosa tu non abbia fatto. Il driver resta caricato, uccide di nuovo gli strumenti di sicurezza e riesegue lo stealer a ogni riavvio, quindi gli strumenti che normalmente ripulirebbero la macchina non sono affidabili. Una macchina che ha eseguito questo payload va trattata come una compromissione a livello kernel e, dove possibile, sottoposta a un controllo forense a livello kernel o ricostruita.
Cosa possono cercare i difensori. I ricercatori consigliano di cercare la discendenza e il comportamento del driver invece di un singolo nome di file, dato che gli operatori possono rinominarlo di nuovo come hanno fatto qui. I segnali da tenere d'occhio includono un servizio creato come NvFsFilter; un driver scritto in C:\Windows\System32\drivers\nvfsflt64.sys; un driver i cui dettagli di firma nominano Henan Dafeng Software o contengono "CnCrypt"; il percorso del dispositivo \\.\Alinubx; e il caricamento di un driver seguito dall'uccisione di processi di sicurezza. Un rilevamento comunitario per il driver esatto è pubblicato su LOLDrivers, anche se confronta per hash e quindi condivide la stessa debolezza una volta che il file cambia. Gli indicatori completi sono nel report congiunto.
Da dove viene. La pagina LastPass era una delle tante esche: il server degli attaccanti serviva pagine di impersonificazione per almeno 40 marchi, ha detto LastPass, e una seconda pagina falsa quasi identica per un prodotto "macOS LastPass" è stata rimossa prima che il team potesse esaminarla. I finti repository GitHub che distribuiscono questa famiglia di stealer non sono nuovi: Trend Micro ha documentato lo stealer BoryptGrab diffuso in questo modo a marzo, e Arctic Wolf ha segnalato un'ondata separata di quasi 300 repository simili a luglio. Delphos valuta con alta confidenza che il loader sia stato costruito con il crypter Cruciferra, uno strumento a pagamento la cui kill list predefinita contiene anch'essa 145 nomi e il cui driver è intercambiabile, e con moderata confidenza che lo stealer, che LastPass chiama Rapuncel, sia un parente di BoryptGrab piuttosto che la stessa build. Quante persone siano state infettate non è noto; il report non fornisce un numero di vittime.
Per le organizzazioni che vogliono far rivedere le proprie macchine, i propri servizi e la propria infrastruttura interna partendo dalla sicurezza, AEU-I offre IT, infrastruttura e consulenza security-first.