Alcuni ricercatori hanno messo in guardia da un nuovo ceppo di ransomware soprannominato Rorschach, che non sembra essere collegato alle minacce precedentemente conosciute e che utilizza diverse caratteristiche uniche nella sua implementazione, tra cui una delle routine di crittografia dei file più veloci osservate finora.

“Un’analisi comportamentale del nuovo ransomware suggerisce che è in parte autonomo e si diffonde automaticamente quando viene eseguito su un controller di dominio (DC) cancellando i registri degli eventi delle macchine colpite”, hanno dichiarato i ricercatori della società di sicurezza Check Point in un nuovo report. “Inoltre, è estremamente flessibile, in quanto opera non solo sulla base di una configurazione integrata ma anche di numerosi argomenti opzionali che gli permettono di cambiare il suo comportamento in base alle esigenze dell’operatore”.

I ricercatori si sono imbattuti in questo nuovo ceppo di ransomware mentre rispondevano a un incidente di sicurezza presso un’azienda statunitense. In seguito, si sono resi conto che i ricercatori della società di sicurezza sudcoreana AhnLab avevano precedentemente documentato una variante a febbraio, attribuendola però alla nota operazione di ransomware DarkSide. Check Point ritiene che ciò non sia corrisponda al vero e che la confusione sia dovuta al fatto che le note di riscatto rilasciate dalle due minacce sono simili, ma non in tutti i casi. In certi casi, infatti, Rorschach ha rilasciato una nota di riscatto simile a quella utilizzata da un altro programma ransomware, Yanluowang.

La varietà di comportamenti esibiti da questo ransomware, che sembra aver preso in prestito tecniche e codice da varie altre minacce, ha portato i ricercatori di Check Point a chiamarlo Rorschach, come il famoso test psicologico in cui i soggetti possono avere percezioni diverse delle stesse figure che vengono mostrate loro.

Rorschach è dotato di DLL side-loading

Nell’incidente analizzato da Check Point, Rorschach è stato eseguito sfruttando una vulnerabilità DLL side-loading in un componente di Cortex XDR di Palo Alto Network, un noto prodotto di sicurezza commerciale. In particolare, gli aggressori hanno utilizzato una copia del Cortex XDR Dump Service Tool versione 7.3.0.16740 insieme a un file chiamato winutils.dll che funge da loader per il ransomware.

Il side-loading delle DLL è una tecnica in cui gli aggressori inseriscono una libreria DLL dannosa con un nome particolare che un’applicazione legittima tenterà di caricare in memoria al momento dell’esecuzione. Questa tecnica è sempre più utilizzata per eludere il rilevamento comportamentale distribuendo un file legittimo insieme alla DLL dannosa sui sistemi compromessi invece di attaccare un’applicazione già installata.

La maggior parte dei programmi di sicurezza monitora gli eventi di esecuzione dei file, ma se il file eseguito è un’applicazione conosciuta e affidabile, potrebbero saltare l’ispezione dei successivi eventi di caricamento della DLL. In questo caso, il Cortex XDR Dump Service Tool è stato firmato digitalmente e ha caricato il file winutils.dll, che a sua volta ha caricato in memoria i contenuti di un file chiamato config.ini (che contiene il ransomware Rorschach), li ha decriptati e li ha iniettati nella memoria del processo legittimo notepad.exe. 

Una volta in esecuzione, il codice del ransomware tenta di:

  • Arrestare un elenco predefinito di servizi utilizzando il comando net.exe stop
  • Eliminare le copie ombra dei volumi e altri backup utilizzando vssadmin.exe, bcdedit.exe, wmic.exe e wbadmin.exe
  • Cancellare diversi registri eventi di Windows relativi alle applicazioni, alla sicurezza, al sistema e a PowerShell utilizzando lo strumento wevutil.exe
  • Disabilitare il firewall di Windows utilizzando netsh.exe

ransomware

Autodistribuzione e autoprotezione

Come per altre minacce ransomware moderne, il payload è destinato a essere eseguito sul controller di dominio dopo che gli aggressori hanno già ottenuto l’accesso con altri metodi e tecniche di movimento laterale. I controller di dominio vengono presi di mira perché gli aggressori possono utilizzare i loro ruoli privilegiati nelle reti per inviare il programma ransomware a tutti i sistemi collegati al dominio, garantendo così il massimo impatto e la massima interruzione.

In altri attacchi ransomware, ad esempio quelli che utilizzano LockBit 2.0, gli aggressori ottengono questa distribuzione creando manualmente dei criteri di gruppo sul controller di dominio che vengono poi eseguiti dalle workstation sulla rete. Rorschach utilizza la stessa tecnica, ma crea automaticamente i criteri di gruppo. Innanzitutto, copia i propri file nella cartella scripts del controller di dominio, quindi crea un criterio di gruppo che copia tali file nella cartella %Public% di tutte le workstation. Un secondo criterio viene creato per eliminare un elenco predefinito di processi su questi sistemi tramite un’attività pianificata che chiama taskkill.exe e un altro criterio di gruppo crea un’attività pianificata che esegue il Rorschach con argomenti specifici ogni volta che un utente si collega.

Il ransomware utilizza diverse tecniche per evitare che il suo codice venga analizzato e rilevato. Il file winutils.dll utilizza un pacchetto UPX non standard che per essere analizzato richiede una decompressione manuale, che non può essere effettuata con gli strumenti automatici che le soluzioni di sicurezza solitamente includono. Poi, quando il payload del ransomware viene iniettato in notepad.exe, è protetto da VMProtect, il che significa che il codice è virtualizzato e manca di una tabella IAT, il che rende più difficile l’analisi automatizzata in-memory.

Durante il funzionamento, invece di sfruttare le chiamate dirette alle API di Windows che potrebbero essere monitorate, il ransomware Rorschach si affida alle syscall. Questa tecnica, chiaramente progettata per eludere il rilevamento, non è nuova, ma non è comunemente vista nei programmi ransomware. Il codice del ransomware esegue separatamente un controllo delle lingue del sistema e se questo controllo corrisponde alle lingue utilizzate nei paesi della Comunità degli Stati Indipendenti (CSI), interrompe l’esecuzione. Questo è tipico dei malware creati da sviluppatori provenienti da paesi dell’ex Unione Sovietica che non vogliono che i loro programmi maligni colpiscano organizzazioni troppo vicine a casa loro, nella speranza di tenere lontane le forze dell’ordine locali.

Crittografia dei file molto veloce

Molti ransomware si affidano al cifrario di flusso AES per la crittografia dei file e alla crittografia a chiave pubblica RSA per crittografare le chiavi di crittografia dei file AES, in modo che solo gli aggressori possano decifrarle e fornirle alle vittime. Si tratta di un’implementazione collaudata, ma non è necessariamente l’opzione più veloce. Tuttavia, secondo i ricercatori di Check Point, Rorschach utilizza uno schema di crittografia ibrido che combina la crittografia a curva ellittica utilizzando la curva25519 con un cifrario a flusso chiamato HC-128 che fa parte del portafoglio eSTREAM, insieme a cifrari più diffusi come ChaCha20 e Salsa20.

“Questo processo cripta solo una parte specifica del contenuto del file originale invece dell’intero file”, hanno dichiarato i ricercatori di Check Point. Il ransomware utilizza anche ottimizzazioni del compilatore e fa un uso efficiente dello scheduling dei thread, ottenendo una crittografia estremamente veloce. Nei test condotti da Check Point su un sistema con 6 CPU, 8 GB di RAM e un’unità SSD con 220.000 file, Rorschach ha completato la sua routine di crittografia dei file in 4 minuti e 30 secondi rispetto ai 7 minuti di LockBit v3, uno dei programmi ransomware con la routine di crittografia dei file più veloce.

“Rorschach sembra aver preso alcune delle migliori caratteristiche di alcuni dei principali ransomware trapelati online”, hanno dichiarato i ricercatori. “Gli operatori e gli sviluppatori del ransomware Rorschach rimangono sconosciuti. Non utilizzano infatti il branding, cosa relativamente rara nelle operazioni di ransomware”.