Ymir è una nuova famiglia di ransomware che evade il rilevamento operando in memoria e cifra i file con l'algoritmo ChaCha20. La distribuzione chiama in causa RustyStealer e SystemBC.
Autore: Redazione SecurityOpenLab
Si chiama Ymir la nuova famiglia di ransomware particolarmente sfuggente identificato dagli analisti di Kaspersky nel corso di un'indagine di Incident Response. Si tratta di un malware tuttora in fase di sviluppo, che però è già attivamente utilizzato dagli attaccanti. Gli esperti reputano che rappresenti una seria minaccia per le aziende di qualsiasi dimensione.
Come la stragrande maggioranza dei ransomware, Ymir consente agli attaccanti di cifrare i file presenti sui sistemi compromessi, rendendoli inaccessibili alle vittime. Il passaggio consecutivo a questa azione è la classica richiesta di riscatto: le vittime vengono contattate e viene loro offerta la possibilità di riottenere l'accesso ai propri dati pagando una somma di denaro in cambio della chiave per decifrare i dati.
Nella nota di riscatto è indicato che i dati sono stati esfiltrati, anche se l'analisi del malware non ha rivelato funzionalità specifiche per questa attività. Significa che gli attaccanti, una volta ottenuto l'accesso al computer, potrebbero avere messo in atto metodi alternativi per il furto dei dati, come HTTP, FTP o l'upload su servizi di cloud storage. Una delle caratteristiche più allarmanti di Ymir è la sua capacità di eludere il rilevamento, mediante un'ampia gamma di operazioni eseguite in memoria che sfruttano chiamate di funzione come malloc, memmove e memcmp.
L'analisi di Kaspersky si basa su due diversi campioni di Ymir: un binario di test, probabilmente utilizzato dagli attaccanti per verificare la capacità del malware di eludere i sistemi di sicurezza, e un campione completo con tutte le funzionalità di crittografia attive56. L'analisi statica del binario ha rivelato una serie di dettagli significativi. Innanzitutto, rivela che il ransomware è stato compilato utilizzando MinGW, un porting per Windows della GNU Compiler Collection (GCC).
Inoltre, la data di creazione del file PDF utilizzato come nota di riscatto coincide con il timestamp di compilazione del binario e suggerisce che entrambi i file sono stati creati simultaneamente dall'attaccante. Un altro elemento di rilievo è che il PDF della nota di riscatto è incorporato nella sezione .data del binario, il che costituisce un tratto distintivo utile per la creazione di regole di detection e Indicatori di Compromissione.
Altra caratteristica singolare è una lista predefinita di estensioni di file che vengono escluse dalla cifratura, in modo da evitare di compromettere il funzionamento del sistema operativo o di software critici. A proposito di cifratura, Ymir si serve dell'algoritmo ChaCha20 e aggiunge l'estensione ".6C5oy2dVr6" a ciascun file crittografato. Infine, il malware esegue una ricerca di PowerShell in ogni sottodirectory del sistema infetto, utilizzando l'eseguibile trovato per auto-eliminarsi.
L'analisi dinamica del ransomware ha permesso agli analisti di osservare il comportamento di Ymir in azione. È emerso che il malware utilizza la funzione memmove per caricare in memoria piccole porzioni di codice utilizzate per eseguire funzioni dannose, come il caricamento delle variabili di ambiente. Memmove viene usato costantemente durante l'enumerazione delle sottodirectory e dei file presenti nel sistema infetto, in preparazione alla crittografia. Inoltre, memmove è impiegato anche per caricare in memoria stringhe contenenti percorsi del filesystem della vittima. Per caricare librerie aggiuntive, Ymir si affida invece alla funzione RtlCopyMemory dalla libreria ntdll.dll.
Ulteriori analisi hanno evidenziato alcuni dettagli importanti. Per esempio, il campione di test di Ymir non si elimina automaticamente se eseguito con il parametro "--path", probabilmente per consentire all'attaccante di scegliere quali directory cifrare durante l'attacco. Il campione completo di Ymir, invece, presenta funzionalità aggiuntive rispetto alla versione di test. Ne sono un esempio l'estensione .6C5oy2dVr6 aggiunta ai file cifrati e le informazioni specifiche contenute nel file PDF della nota di riscatto.
Kaspersky riferisce dell'analisi forense di un incidente avvenuto in Colombia in cui è stato recuperato il campione di Ymir. Esaminandolo è emerso che due giorni prima dell'attacco ransomware diversi sistemi avevano installato RustyStealer, uno stealer che è stato utile agli attaccanti per ottenere il controllo delle macchine, inviare comandi e raccogliere informazioni dall'infrastruttura compromessa. È stato proprio l’impiego di RustyStealer a permettere ai criminali informatici di compromettere il domain controller e a diffondersi all'interno dell'infrastruttura, utilizzando le credenziali rubate per muoversi tra i sistemi tramite WinRM e PowerShell.
Successivamente all'intrusione di RustyStealer sono stati poi eseguiti due script, identificati come parte del malware proxy SystemBC, che hanno attivato un canale di comunicazione nascosto con un server di comando e controllo. Si ritiene che SystemBC sia stato utilizzato per esfiltrare informazioni dall'infrastruttura. Tutti i dettagli e gli IoC sono pubblicati sul blog ufficiale di Kaspersky.