Il nuovo gruppo di criminali PowerPool ha rilasciato un malware che sfrutta una vulnerabilità zero-day scoperta da soli due giorni.
Il 27 Agosto 2018 una vulnerabilità zero-day scoperta sui sistemi Microsoft Windows è stata pubblicata su GitHub e ulteriormente pubblicizzata su Twitter.
Sembra ovvio che queste attività di divulgazione non fossero parte di una strategia di comunicazione ufficiale e che al momento della pubblicazione del tweet (poi rimosso) non fosse stata ancora rilasciata la patch per correggere la vulnerabilità.
Questa falla interessa i sistemi operativi Microsoft Windows da Windows 7 a Windows 10 e, in particolare, la funzione ALPC (Advanced Local Procedure Call) e consente l’escalation dei privilegi locali (LPE). LPE in quel caso specifico, permette a un eseguibile lanciato da un utente con restrizioni di ottenere diritti amministrativi.
Il tweet collegato a un repository GitHub conteneva il codice Proof-of-Concept per l’exploit. Non solo è stata rilasciata una versione compilata, ma addirittura anche il codice sorgente. Di conseguenza, chiunque poteva modificare e ricompilare l’exploit, al fine di “migliorarlo”, eludere il rilevamento o anche incorporarlo nel proprio codice.
Come si poteva prevedere, sono bastati solo due giorni prima di identificare l’uso di questo exploit in una campagna malevola da un gruppo che abbiamo soprannominato PowerPool. Questo gruppo ha colpito un ristretto numero di vittime e, in base alla nostra telemetria e agli upload su VirusTotal (abbiamo considerato solo caricamenti manuali dall’interfaccia Web), i paesi presi di mira includono Cile, Germania, India, Filippine, Polonia, Russia, Regno Unito, gli Stati Uniti e l’Ucraina.
L’arsenale di PowerPool
Questo gruppo appena identificato ha già una vasta gamma di strumenti a sua disposizione. In questo articolo forniremo una breve analisi di alcuni di questi.
Exploit di escalation dei privilegi locali ALPC
Gli sviluppatori di PowerPool non hanno riutilizzato il file binario fornito da chi ha divulgato le informazioni sulla vulnerabilità. Hanno modificato leggermente il codice sorgente e lo hanno ricompilato.
Il difetto è nella funzione API SchRpcSetSecurity, che non controlla correttamente le autorizzazioni dell’utente. Pertanto, un utente può avere permessi di scrittura su qualsiasi file in C: \ Windows \ Task indipendentemente dalle sue effettive autorizzazioni. Ciò consente anche avendo autorizzazioni di sola lettura di sostituire il contenuto di un file protetto da scrittura.
Dato che qualsiasi utente è in grado di scrivere in C: \ Windows \ Task, è possibile creare un file in questa cartella e collegarlo con un hardlink a un qualsiasi file di destinazione. Quindi, chiamando la funzione SchRpcSetSecurity, è possibile ottenere l’accesso in scrittura a tale file di destinazione. Per creare una Escalation di privilegi locali, l’utente malintenzionato deve scegliere il file di destinazione che verrà sovrascritto. Ciò deve essere fatto con attenzione: deve essere un file eseguito automaticamente con diritti amministrativi. Ad esempio, può essere un file di sistema o il programma di aggiornamento di un software installato in precedenza che viene regolarmente eseguito da un’attività. Il passaggio finale consiste nel sostituire il contenuto di questo file di destinazione protetto con codice dannoso. Pertanto, alla successiva esecuzione automatica, il malware avrà diritti amministrativi indipendentemente dai suoi diritti originali.
Gli sviluppatori di PowerPool hanno scelto di modificare il contenuto del file C: \ Programmi (x86) \ Google \ Update \ GoogleUpdate.exe. Si tratta del programma di aggiornamento legittimo per le applicazioni di Google ed è regolarmente eseguito con privilegi amministrativi da un’attività di Microsoft Windows.
Figura 1 – Creazione di un hardlink a Google Updater
Figura 2 – Utilizzo improprio di SchRpcCreateFolder per cambiare I permessi all’eseguibile di Google Updater
La sequenza di operazioni mostrata nella figura sopra consente agli operatori PowerPool di ottenere l’accesso in scrittura all’eseguibile GoogleUpdate.exe. Nella seconda fase lo sovrascrivono con una copia del malware al fine di ottenere privilegi amministrativi alla successiva chiamata del programma di aggiornamento.
Compromissione iniziale
Il gruppo PowerPool utilizza diversi approcci per colpire inizialmente una vittima. Uno è quello di inviare email con il malware come allegato. Potrebbe essere troppo presto per dirlo, ma fino ad oggi abbiamo rilevato pochissimi eventi nella nostra telemetria, quindi presumiamo che i destinatari siano stati scelti con cura piuttosto che vittime di una massiccia campagna spam di PowerPool.
D’altra parte, sappiamo che in passato sono già stati individuati dei loro messaggi spam. Secondo un post sul blog SANS pubblicato a maggio 2018, hanno usato uno stratagemma legato ai file Symbolic Link (.slk) per distribuire il malware. Microsoft Excel può caricare questi file imponendo al programma di eseguire il codice PowerShell. Questi file .slk sembrano presenti anche nei messaggi di spam. Analizzando il primo file menzionato nel blog post SANS (SHA-1: 2dc703d3af1d015f4d53b6dbbeb624f5ade5553), su VirusTotal, è possibile trovare il campione di spam correlato (SHA-1: e0882e234cba94b5cf3df2c05949e2e228bedd2b):
Figura 3 – messaggio spam di PowerPool
Backdoor Windows
Il gruppo PowerPool impiega principalmente due backdoor diverse: una backdoor di primo livello utilizzata subito dopo l’inziale compromissione e successivamente una di secondo livello, probabilmente attivata solo sulle macchine reputate più interessanti.
Backdoor di primo livello
Questo è un malware utilizzato di base per l’analisi della macchina. Comprende due eseguibili di Windows.
La prima di queste è la backdoor principale. Stabilisce la persistenza del malware attraverso un servizio. Crea anche un mutex denominato MyDemonMutex% d dove% d va da 0 a 10. È in grado di raccogliere informazioni sul proxy e contiene l’indirizzo del server C & C codificato in un file binario. Può eseguire comandi e avviare scansioni della macchina, i cui risultati vengono poi inviati al server C & C
Figura 4 – Raccolta delle informazioni sul proxy
Il secondo di questi eseguibili ha un unico scopo, registrare uno screenshot dello schermo della vittima e salvarlo nel file MyScreen.jpg. Questo file successivamente può essere esfiltrato attraverso la backdoor principale.
Secondo stadio della backdoor
Questo malware viene scaricato durante il primo stadio, presumibilmente quando gli operatori si rendono conto che la macchina è abbastanza interessante per essere monitorata per un periodo più lungo. Tuttavia allo stato attuale non è chiaro se si tratti di una backdoor APT.
Anche in questo caso l’indirizzo del server C & C è hardcoded nel codice binario e non c’è alcun meccanismo per aggiornare questo fondamentale elemento di configurazione. La backdoor tenta di scaricare dei comandi da http: // [dominio C & C] / cmdpool e file aggiuntivi da http: // [dominio C & C] / upload. Questi file sono principalmente strumenti di spostamento laterale di cui tratteremo di seguito.
I comandi supportati sono:
- Eseguire un commando
- Terminare un processo
- Caricare un file
- Scaricare un file
- Elencare il contenuto di una cartella
Questi comandi vengono inviati in formato JSON format. Nella figura successiva vengono mostrati esempi di istruzioni per eseguire un comando in grado di elencare il contenuto di una cartella:
Figure 5 – Esempi di comando della backdoor
Strumenti di spostamento laterale
Una volta che gli operatori PowerPool ottengono l’accesso permanente a una macchina con la backdoor di secondo livello, utilizzano diversi strumenti open source, scritti principalmente in PowerShell, per spostarsi lateralmente sulla rete.
- PowerDump: questo è un modulo Metasploit in grado di recuperare nomi utente e hash dal Security Account Manager (SAM).
- PowerSploit: si tratta di un framework di post-exploitation framework in PowerShell.
- SMBExec: uno strumento PowerShell per eseguire connessioni SMB pass-the-hash.
- Quarks PwDump: un eseguibile di Windows in grado di recuperare le credenziali di Windows.
- FireMaster: un eseguibile di Windows in grado di recuperare password memorizzate da Outlook, browser Web, ecc.
Conclusione
Diffondere informazioni su una vulnerabilità al di fuori di un processo di divulgazione ufficialmente coordinato mette generalmente a rischio molti utenti. In questo caso, anche la versione più aggiornata di Windows potrebbe essere compromessa poiché, come in questo caso, al momento della pubblicazione di dettagli sulla vulnerabilità e sull’exploit non era stata ancora rilasciata alcuna patch ufficiale. Il CERT-CC ha fornito alcune soluzioni, ma Microsoft non le ha approvate ufficialmente.
Questa specifica campagna è rivolta a un numero limitato di utenti, tuttavia desta preoccupazione il fatto che i criminali informatici seguono così attentamente le notizie e che si impegnino per sfruttare immediatamente gli exploit non appena sono disponibili pubblicamente.
I ricercatori ESET continueranno a seguire qualsiasi utilizzo dannoso di questa nuova vulnerabilità. Gli indicatori di compromissione possono essere trovati anche su GitHub.
1 Commento