Intelligenza generativa dei dati

Il punto debole di Windows "MagicDot" consente l'attività di rootkit senza privilegi

Data:

CAPPELLO NERO ASIA – Singapore – Un problema noto associato al processo di conversione del percorso DOS-NT in Windows comporta rischi significativi per le aziende poiché consente agli aggressori di acquisire funzionalità post-sfruttamento simili a rootkit per nascondere e impersonare file, directory e processi.

Questo secondo Or Yair, ricercatore di sicurezza presso SafeBreach, che ha delineato il problema durante una sessione qui questa settimana. Ha inoltre descritto in dettaglio quattro diverse vulnerabilità relative al problema, che lui soprannominato “MagicDot” – incluso un pericoloso bug di esecuzione del codice in modalità remota che può essere attivato semplicemente estraendo un archivio.

Punti e spazi nella conversione del percorso da DOS a NT

Il gruppo di problemi MagicDot esiste grazie al modo in cui Windows modifica i percorsi DOS in percorsi NT.

Quando gli utenti aprono file o cartelle sui propri PC, Windows esegue questa operazione facendo riferimento al percorso in cui esiste il file; normalmente, si tratta di un percorso DOS che segue il formato "C:UsersUserDocumentsexample.txt". Tuttavia, per eseguire effettivamente l'operazione di apertura del file viene utilizzata una diversa funzione sottostante denominata NtCreateFile e NtCreateFile richiede un percorso NT e non un percorso DOS. Pertanto, Windows converte il familiare percorso DOS visibile agli utenti in un percorso NT, prima di chiamare NtCreateFile per abilitare l'operazione.

Il problema sfruttabile esiste perché, durante il processo di conversione, Windows rimuove automaticamente eventuali punti dal percorso DOS, insieme a eventuali spazi aggiuntivi alla fine. Pertanto, percorsi DOS come questi:

  • C:esempioesempio.   

  • C:esempioesempio… 

  • C:esempioesempio    

vengono tutti convertiti in "??C:exampleexample" come percorso NT.

Yair ha scoperto che questa eliminazione automatica dei caratteri errati potrebbe consentire agli aggressori di creare percorsi DOS appositamente predisposti che verrebbero convertiti in percorsi NT di loro scelta, che potrebbero quindi essere utilizzati per rendere i file inutilizzabili o per nascondere contenuti e attività dannose.

Simulazione di un rootkit non privilegiato

I problemi di MagicDot creano innanzitutto l’opportunità per una serie di tecniche post-sfruttamento che aiutano gli aggressori a mantenere la furtività su una macchina.

Ad esempio, è possibile bloccare i contenuti dannosi e impedire agli utenti, anche agli amministratori, di esaminarli. "Inserendo un semplice punto finale alla fine di un nome di file dannoso o nominando un file o una directory solo con punti e/o spazi, potrei rendere inaccessibili tutti i programmi user-space che utilizzano la normale API... gli utenti lo farebbero non essere in grado di leggere, scrivere, cancellare o fare qualsiasi altra cosa con essi", ha spiegato Yair durante la sessione.

Successivamente, in un attacco correlato, Yair ha scoperto che la tecnica poteva essere utilizzata per nascondere file o directory all'interno dei file di archivio.

"Ho semplicemente terminato il nome di un file in un archivio con un punto per impedire a Explorer di elencarlo o estrarlo", ha detto Yair. "Di conseguenza, sono riuscito a inserire un file dannoso all'interno di un file zip innocente: chiunque abbia utilizzato Explorer per visualizzare ed estrarre il contenuto dell'archivio non è stato in grado di vedere che il file esisteva all'interno."

Un terzo metodo di attacco prevede il mascheramento di contenuti dannosi impersonando percorsi di file legittimi.

"Se ci fosse un file innocuo chiamato 'benign', sarei in grado di [usare la conversione del percorso DOS-to-NT] per creare un file dannoso nella stessa directory [chiamata anche] benigna", ha spiegato, aggiungendo che lo stesso approccio potrebbe essere utilizzato per impersonare cartelle e processi Windows ancora più ampi. "Di conseguenza, quando un utente legge il file dannoso, viene restituito il contenuto del file innocuo originale", lasciando la vittima incapace di capire che stava effettivamente aprendo contenuto dannoso.

Nel loro insieme, la manipolazione dei percorsi MagicDot può garantire agli avversari abilità simili a rootkit senza privilegi di amministratore, ha spiegato Yair, che ha pubblicato note tecniche dettagliate sui metodi di attacco in tandem con la sessione.

"Ho scoperto che potevo nascondere file e processi, nascondere file negli archivi, influenzare l'analisi dei file di precaricamento, far credere agli utenti di Task Manager e Process Explorer che un file malware fosse un eseguibile verificato pubblicato da Microsoft, disabilitare Process Explorer con un rifiuto di servizio (DoS) vulnerabilità e altro ancora", ha affermato, il tutto senza privilegi di amministratore o la possibilità di eseguire codice nel kernel e senza intervento nella catena di chiamate API che recuperano informazioni.

"È importante che la comunità della sicurezza informatica riconosca questo rischio e prenda in considerazione lo sviluppo di tecniche e regole per il rilevamento dei rootkit non privilegiati", ha avvertito.

Una serie di vulnerabilità “MagicDot”.

Durante la sua ricerca sui percorsi MagicDot, Yair è anche riuscito a scoprire quattro diverse vulnerabilità legate al problema di fondo, tre delle quali sono state risolte da Microsoft.

Una vulnerabilità legata all'esecuzione di codice in modalità remota (RCE) (CVE-2023-36396, CVSS 7.8) nella nuova logica di estrazione di Windows per tutti i nuovi tipi di archivio supportati consente agli aggressori di creare un archivio dannoso che verrebbe scritto ovunque scelgano su un computer remoto una volta estratto, portando all'esecuzione di codice.

“Fondamentalmente, diciamo che carichi un archivio sul tuo Repository GitHub pubblicizzandolo come uno strumento interessante disponibile per il download", dice Yair a Dark Reading. “E quando l'utente lo scarica, non è un eseguibile, si estrae semplicemente l'archivio, il che è considerato un'azione completamente sicura e senza rischi per la sicurezza. Ma ora l’estrazione stessa è in grado di eseguire codice sul tuo computer, e questo è seriamente sbagliato e molto pericoloso”.

Un secondo bug riguarda la vulnerabilità relativa all'elevazione dei privilegi (EoP) (CVE-2023-32054, CVSS 7.3) che consente agli aggressori di scrivere nei file senza privilegi manipolando il processo di ripristino di una versione precedente da una copia shadow.

Il terzo bug è il bug DOS non privilegiato di Process Explorer per l'anti-analisi, per il quale è stato riservato CVE-2023-42757, con dettagli da seguire. E il quarto bug, anch’esso un problema EoP, consente agli aggressori senza privilegi di eliminare file. Microsoft ha confermato che il difetto ha causato un "comportamento inaspettato", ma non ha ancora rilasciato un CVE o una soluzione per risolverlo.

“Creo una cartella all'interno della cartella demo chiamata… e all'interno scrivo un file chiamato c.txt", ha spiegato Yair. "Quindi quando un amministratore tenta di eliminare il... cartella, viene invece eliminata l'intera cartella demo."

Ramificazioni “MagicDot” potenzialmente più ampie

Sebbene Microsoft abbia risolto le vulnerabilità specifiche di Yair, la rimozione automatica dei punti e degli spazi nella conversione del percorso DOS-NT persiste, anche se questa è la causa principale delle vulnerabilità.

"Ciò significa che potrebbero esserci molte più potenziali vulnerabilità e tecniche post-sfruttamento da scoprire utilizzando questo problema", dice il ricercatore a Dark Reading. "Questo problema esiste ancora e può portare a molti più problemi e vulnerabilità, che possono essere molto più pericolosi di quelli di cui siamo a conoscenza."

Aggiunge che il problema ha ramificazioni oltre Microsoft.

"Crediamo che le implicazioni siano rilevanti non solo per Microsoft Windows, che è il sistema operativo desktop più utilizzato al mondo, ma anche per tutti i fornitori di software, la maggior parte dei quali consente anche che problemi noti persistano da una versione all'altra del loro software", ha avvertito nella sua presentazione.

Nel frattempo, ha osservato, gli sviluppatori di software possono rendere il loro codice più sicuro contro questo tipo di vulnerabilità utilizzando percorsi NT anziché percorsi DOS.

"La maggior parte delle chiamate API di alto livello in Windows supportano i percorsi NT", ha affermato Yair nella sua presentazione. "L'utilizzo di percorsi NT evita il processo di conversione e garantisce che il percorso fornito sia lo stesso su cui viene effettivamente utilizzato."

Per le aziende, i team di sicurezza dovrebbero creare rilevamenti che cerchino periodi e spazi non autorizzati all'interno dei percorsi dei file.

"Ci sono rilevamenti piuttosto semplici che puoi sviluppare per questi, per cercare file o directory, che contengono punti o spazi finali, perché se li trovi, sul tuo computer, significa che qualcuno lo ha fatto apposta perché non è così facile da fare”, dice Yair a Dark Reading. “Gli utenti normali non possono semplicemente creare un file che termina con un punto o uno spazio, Microsoft lo impedirà. Gli aggressori dovranno utilizzare a API inferiore che è più vicino al kernel e avrà bisogno di una certa esperienza per raggiungere questo obiettivo.

spot_img

L'ultima intelligenza

spot_img

Parla con noi

Ciao! Come posso aiutarla?