RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
TLP: White Indice Sommario .............................................................................................................................. 3 Esordio e attribuzione .............................................................................................................. 3 Vittimologia .................................................................................................................................. 5 Catene di infezione ............................................................................................................ 7 Emotet e TrickBot ...................................................................................................................... 7 Bazar loader ................................................................................................................................. 8 Buer Loader .................................................................................................................................. 9 Analisi Tecnica................................................................................................................... 10 Ransom notes ed estensione file ...................................................................................... 10 Offuscamento API e stringhe.............................................................................................. 11 Argomenti dell’eseguibile .................................................................................................... 11 Strategia multi-thread ........................................................................................................... 12 Crittografia.................................................................................................................................. 14 Blocklist ........................................................................................................................................ 16 Whitelist ....................................................................................................................................... 17 Wake-on-Lan ............................................................................................................................. 17 Scansione e cifratura della rete.......................................................................................... 19 Contromisure e raccomandazioni............................................................................. 21 Tecniche MITRE ATT&CK .............................................................................................. 24 Regole Yara ........................................................................................................................ 26 Riferimenti .......................................................................................................................... 27 2 / 28
TLP: White Sommario Ryuk è un malware appartenente alla famiglia dei ransomware. Rilevato per la prima volta nell’estate 2018 da Malware Hunter Team, Ryuk ha operato fin dalla nascita secondo il modello del cosiddetto Big-Game Hunting, la nota metodologia di selezione delle vittime che punta a colpire (grosse) organizzazioni particolarmente sensibili ai tempi di inattività, pertanto maggiormente inclini al pagamento del riscatto. Ryuk, congiuntamente a REvil e Maze, è nella top 3 dei ransomware più distruttivi degli ultimi due anni (Figura 1), con un guadagno totale, maturato nei quasi tre anni di attività, stimato in 150 milioni di dollari [1]. Figura 1 – Attività di Ryuk nel biennio 2019-20. Fonte: SonicWall Esordio e attribuzione La prima rilevazione di Ryuk risale al 13 agosto 2018 [2], a seguito del caricamento sul portale ID ransomware [3] di file cifrati con estensione .RYK. Inizialmente confuso con il ransomware BitPaymer a causa della somiglianza delle relative ransom notes, Ryuk si è successivamente dimostrato essere una variante di Hermes 2.1 [4]. Hermes è stato un ransomware messo in vendita per 300$ a partire da febbraio 2017 su un forum underground russofono dal gruppo CryptoTech (Figura 2). 3 / 28
TLP: White Figura 2 – Il post di CryptoTech che annuncia Hermes 2.1. Fonte: McAfee [5] Al momento dell'acquisto, l’acquirente riceveva un decryptor, una coppia univoca di chiavi RSA e una build che supportava due indirizzi e-mail come forma di contatto. Il kit non includeva una modalità predefinita di distribuzione, pertanto il vettore rimaneva interamente a carico dell’acquirente. Le prime versioni vennero quindi installate attraverso la compromissione di server RDP con credenziali deboli, ma il ransomware divenne in maggior misura popolare nell'ottobre 2017, quando fu impiegato come diversivo nell'importante attacco subito dalla Far Eastern International Bank (FEIB) in Taiwan, attribuito al threat actor Lazarus [6]. A causa di questa connessione, molti ricercatori hanno inizialmente associato Ryuk alla matrice nordcoreana [7], tuttavia, alcuni mesi dopo la scoperta del ransomware si è concluso che il gruppo Lazarus acquistò Hermes sul forum underground [8]. Nel giugno 2018, in seguito ai dubbi espressi da un membro del forum, CryptoTech ha confermato di essere l’autore di Hermes, annunciando l'imminente rilascio di una nuova versione. Dopo l’annuncio non è tuttavia apparsa nessuna nuova variante, la promozione del ransomware è stata lentamente sospesa e CryptoTech ha cessato le attività sul forum, lasciando dubbi sulle reali origini dello sviluppo di Ryuk. Alcuni ricercatori, ipotizzando un presumibile cambiamento del modello di business in cui la 4 / 28
TLP: White promozione del ransomware è ristretta a un gruppo di acquirenti fidati, sospettano che dietro lo sviluppo si nasconda lo stesso CryptoTech. Ryuk è stato fin dall’inizio distribuito in modo differente rispetto ad Hermes, in quanto non è mai stato messo in vendita sui forum underground. Da gennaio 2019 Crowdstrike traccia il principale threat actor che distribuisce il ransomware col nome Wizard Spider [9]. Il gruppo è uno dei principali eCrime actor odierni (Figura 3) e fa uso anche di altre famiglie, quali Trickbot, BazarLoader e il ransomware Conti [10]. Figura 3 – eCrime actors (che adoperano il modello Big Game Hunting) più attivi del 2020. Fonte Crowdstrike [11] Ryuk, all’avvio, si assicura che la lingua di sistema sia diversa dal russo, dall’ucraino e dal bielorusso. La funzionalità di verifica della lingua di sistema è comunemente inclusa dai threat actor che operano in paesi russofoni al fine di ridurre l'attenzione delle forze dell'ordine locali. Vittimologia Fin dalla sua apparizione, Ryuk ha colpito in modo specifico le grosse organizzazioni, trascurando il contesto domestico. Il ransomware non si rivolge a specifici settori di attività, piuttosto trae vantaggio dai periodi durante i quali le organizzazioni possono trovarsi sotto pressione. Alcune strategie, ad esempio, prevedono l’attesa della stagione influenzale per attaccare gli ospedali o del ritorno degli studenti dalle vacanze estive per attaccare le scuole. Ciò indica un particolare grado di pianificazione che consente all’attore di circoscrivere temporalmente le campagne nei momenti in cui l’impatto potrebbe essere più significativo. In questo contesto, la pandemia COVID-19 diventa un’occasione irripetibile per trarre vantaggi: non a caso, in tutto il 2020, si è 5 / 28
TLP: White osservato un importante incremento di estorsioni del ransomware contro il settore healthcare (Figura 4), come già segnalato lo scorso ottobre 2020 [12]. Figura 4 – Top ransomware del 2020 per numero di vittime nel settore healthcare. Fonte: Crowdstrike [13] 6 / 28
TLP: White Catene di infezione Emotet e TrickBot La modalità di distribuzione di Ryuk più comune sfrutta TrickBot per l’accesso iniziale: sebbene la strategia dell’attore segua il modello del Big-Game Hunting, l’avvio della cyber kill chain è comunque demandato al noto servizio di Cybercrime-as-a-Service (CaaS), il quale si diffonde principalmente attraverso campagne di malspam. Inoltre, prima dello smantellamento del 27 gennaio 2021 [14], Wizard SPIDER poteva a sua volta trarre vantaggio da Emotet per la distribuzione di TrickBot. Una volta ottenuto l'accesso al sistema, gli operatori di Ryuk sfruttano il protocollo RDP per muoversi lateralmente e distribuire il payload; dopo la cifratura del sistema il documento d’infezione iniziale viene rimosso o anch’esso cifrato, rendendo più complicata la ricostruzione della kill chain. In alcuni casi, Ryuk viene installato settimane o addirittura mesi dopo l’infezione con TrickBot [15], a seguito di una selezione delle vittime o dell’attesa del momento più opportuno (Big Game Hunting). A testimonianza della diffusione di questo approccio, è possibile trovare molti report pubblici su fonti aperte che descrivono le catene d’infezione Emotet-TrickBot-Ryuk o semplicemente TrickBot- Ryuk. Alcuni grafici a flusso sul processo di infezione sono mostrati nelle Figure 5 e 6. Figura 5 – Esempio di kill-chain di Ryuk tramite Emotet e Trickbot. Fonte: securityondemand [16] 7 / 28
TLP: White Figura 6 – Esempio di kill-chain di Ryuk tramite TrickBot. Fonte: CIS [17] Bazar loader A partire da settembre 2020, Ryuk inizia ad essere distribuito anche attraverso Bazar, un loader apparso per la prima volta ad aprile 2020. Figura 7 – Esempio di kill-chain di Ryuk tramite Bazar Loader. Fonte: CERT-FR [18] BazarLoader è generalmente distribuito tramite campagne di malspam in cui le e-mail contengono un link a un documento PDF caricato su Google Docs che richiede alla vittima di eseguire il download del malware [19]. I documenti a volte includono riferimenti all’organizzazione della vittima mentre i file scaricati sono eseguibili firmati con certificati revocati, ospitati su servizi di hosting legittimi, quali Google Drive, Slack 8 / 28
TLP: White e Trello [20]. Una volta caricato l’eseguibile, BazarLoader scarica dal server C2 un payload nominato BazarBackdoor, che a sua volta scarica strumenti comuni di post- exploitation quali Cobalt Strike, BloodHound e AdFind. Tale scenario viene mostrato in Figura 7. Buer Loader Secondo Sophos [21], nel settembre 2020 anche il malware Buer Loader è stato utilizzato per distribuire Ryuk. Buer, similmente a TrickBot e Emotet, è un servizio CaaS, in vendita per 350$ sul Dark Web, utilizzato per distribuire trojan bancari e ransomware. Anche Buer sfrutta campagne di phishing e malspam per la diffusione (Figura 8). Figura 8 – Esempio di kill-chain di Ryuk tramite Bazar Loader. Fonte: Sophos [21] 9 / 28
TLP: White Analisi Tecnica Relativamente al contesto cybercrime, Ryuk presenta una struttura del codice avanzata: in questo report si fornisce un’analisi che pone in evidenza le tecniche distintive del ransomware, legate principalmente alla strategia di cifratura, alle tecniche di discovery delle unità di rete e alle metodologie di offuscamento. Ransom notes ed estensione file Ryuk memorizza le note del riscatto in formato HTML in un file denominato RyukReadMe.html (Figura 9); il file viene collocato all’interno di ogni directory del sistema. Figura 9 – Ransom notes di Ryuk Il corpo del template HTML è statico, ad eccezione dell'indirizzo e-mail che potrebbe variare con il sample; entrambi vengono estratti dall’eseguibile mediante l’applicazione di uno schema XOR personalizzato. Gli indirizzi e-mail di solito appartengono a protonmail[.]com. Non è presente nessun portafogli di criptovaluta, quest’ultimo viene concordato privatamente tra attaccante e vittima in una conversazione via e- mail. 10 / 28
TLP: White Offuscamento API e stringhe L’eseguibile di Ryuk è un file PE in formato .EXE che possiede una import table ricca di funzioni, tuttavia nella maggior parte dei casi il ransomware usa chiamate di funzioni di librerie di sistema risolte a runtime. Il nome di ogni funzione o libreria viene prima decifrato con uno schema XOR multiplo, con l’impiego di due stringhe differenti, e successivamente vengono usate le consuete API di sistema LoadLibraryA e GetProcAddress per acquisirne i puntatori. Questi ultimi vengono salvati in variabili globali e usati nel resto del codice (Figura 10). Figura 10 – Esempio di risoluzione delle API e salvataggio dei puntatori nelle variabili globali Argomenti dell’eseguibile Ryuk accetta opzionalmente fino a tre argomenti da linea di comando, di seguito si fornisce una descrizione di ciascuna delle modalità in cui è possibile lanciare il ransomware. Le funzionalità soltanto accennate nella seguente tabella saranno descritte in dettaglio nei successivi paragrafi. n. Args Modalità Descrizione 0 Standard Crea una copia di sé stesso sul disco e la esegue con gli argomenti ‘8 LAN’, in modo da richiamare la funzionalità Wake-on-Lan descritta più avanti. Parallelamente enumera e cifra dal drive A al drive Z tutte le unità disco locali o di rete per poi rimanere in un loop infinito di network scan e conseguente cifratura degli host scoperti. Aprendo con un doppio click l’eseguibile, il ransomware viene attivato in questa modalità. 11 / 28
TLP: White 1 Delete + L’argomento è il percorso di un file che all’avvio viene Standard eliminato con la chiamata DeleteFile. Successivamente il ransomware prosegue l’esecuzione come in modalità standard. 2 Wake-on-Lan Se il primo argomento è 8 e il secondo inizia con la lettera ‘L’ allora Ryuk itera sulla cache ARP del sistema al fine di avviare da remoto, attraverso il protocollo Wake-on-Lan, gli eventuali computer spenti presenti in rete. Successivamente il ransomware effettua l’enumerazione e la cifratura dei soli file presenti nelle unità di rete. In questa modalità le unità disco locali vengono ignorate. 2 Debug Se il primo parametro è encrypt oppure -e allora il secondo parametro viene interpretato come il percorso di una directory da cifrare. Dopo circa 117 minuti dalla cifratura della cartella selezionata, Ryuk termina senza cifrare nessun altro file. Questa modalità viene probabilmente usata a scopo di debug dall’attaccante, ma risulta utile anche agli analisti malware. 3 Debug + Delete È una combinazione tra le modalità delete e debug. Il primo argomento è il percorso del file che in esecuzione viene eliminato con la chiamata DeleteFile. Se il secondo parametro è encrypt allora il terzo parametro è il percorso della directory da cifrare. Anche in questo caso, dopo circa 117 minuti dalla cifratura, Ryuk termina senza cifrare gli altri file. Strategia multi-thread Per la cifratura dell’intero sistema i ransomware ricorrono a diverse strategie, più o meno efficienti in base alla conoscenza dello sviluppatore di tecniche di programmazione concorrente. L’obiettivo dell’attaccante corrisponde in questo caso all’ideazione di un algoritmo multi-thread in grado di esplorare e cifrare il file system nel minor tempo possibile. Ryuk usa una strategia concisa che non fa esplicito uso di costrutti di sincronizzazione: assegna al thread principale il compito di esplorare le directory del file system e istanzia un nuovo thread per ciascun file da cifrare per un massimo di 90 thread concorrenti. Per l’esplorazione del file system, il thread principale usa il tradizionale approccio ricorsivo basato sulle chiamate FindFirstFileW e FindNextFileW, a partire dalla cartella root del disco. Il procedimento viene ricorsivamente riapplicato ad ogni sottocartella e per ogni file scoperto viene creata una struttura personalizzata denominata VictimFileInfo. La struttura mantiene alcune proprietà del singolo file da cifrare e viene usata dal thread principale per comunicare con i thread di cifratura. 12 / 28
TLP: White Il ransomware mantiene un buffer contenente 90 VictimFileInfo e, quando stabilisce che un file deve essere cifrato, effettua le seguenti operazioni: estrae dal buffer la prima VictimFileInfo libera; imposta i campi richiesti dalla struttura, mostrati in Figura 11; istanzia un thread specifico per la cifratura, al quale viene passata la struttura come parametro. Il nuovo thread si occupa esclusivamente della cifratura del singolo file, preoccupandosi di liberare la struttura una volta terminato. Le operazioni descritte sono mostrate in Figura 12. Figura 11 – Struttura VictimFileInfo ricreata al decompilatore Figura 12 – Operazioni preliminari alla cifratura di un singolo file 13 / 28
TLP: White Crittografia Ryuk utilizza una tradizionale combinazione tra crittografia simmetrica (AES256) e asimmetrica (RSA) per cifrare i file ma, a differenza di altri ransomware, utilizza le API di sistema wincrypt per le primitive crittografiche. Ryuk inizialmente usa la chiamata CryptAcquireContext per inizializzare il Cryptographic Service Provider (CSP) con il tipo PROV_RSA_AES mentre estrae la chiave RSA pubblica dell’attaccante con la funzione CryptImportKey (Figura 13). La chiave ha una lunghezza di 2048 bit ed è memorizzata in un blob di tipo PUBLICKEYBLOB. L’attaccante probabilmente genera una coppia di chiavi RSA diversa per ogni eseguibile, altrimenti la strategia di estorsione sarebbe vulnerabile a un attacco di tipo pay once, decrypt-many. Figura 13 – Inizializzazione del CSP ed estrazione della chiave pubblica Attraverso la chiamata CryptGenKey, il ransomware genera una chiave di sessione AES 256 casuale e, dopo l’effettiva cifratura del file vittima, utilizza la chiamata CryptExportKey per esportare la chiave di sessione in un blob di tipo SIMPLEBLOB, cifrato con la chiave pubblica. Soltanto l’attaccante, essendo in possesso della chiave RSA privata potrà decifrare il blob e riottenere la chiave di sessione. L’eventuale software di decryption fornito alla vittima in seguito al pagamento del riscatto dovrà dunque contenere la chiave privata dell’attaccante per poter decifrare correttamente il sistema. Ogni file del sistema viene crittografato con una chiave diversa, pertanto le ultime operazioni descritte vengono ripetute per ciascun file. Ryuk, per aumentare le prestazioni, suddivide i file in segmenti e ne cifra soltanto alcuni. Il numero e la dimensione dei segmenti vengono proporzionalmente calcolati in base alla dimensione del file: un estratto del codice viene mostrato in Figura 14. 14 / 28
TLP: White Figura 14 – Algoritmo di suddivisione dei file in segmenti Per sovrascrivere il contenuto in chiaro dei file con la rispettiva controparte cifrata vengono usate le chiamate ReadFile e WriteFile. I dati in chiaro (prima) e cifrati (dopo) vengono memorizzati nello stesso buffer, mantenuto a sua volta nella struttura VictimFileInfo. Per ogni segmento vengono cifrati solamente i primi ~0.9 MiB. Al termine della cifratura del file viene aggiunta la signature di Ryuk, corrispondente alla stringa HERMES (eredità del vecchio ransomware) se il file ha dimensione inferiore o uguale a ~23.8 MiB, altrimenti alla stringa ‘HERMES||HERMES’, seguita dal blob della chiave di sessione cifrata. A cifratura terminata o in caso di fallimento la chiave di sessione viene distrutta con CryptDestroyKey; il fine in questo caso è quello di far diminuire le probabilità ai software di Endpoint Detection and Response (EDR) di registrare le chiavi dalla memoria. 15 / 28
TLP: White Blocklist Come la maggior parte dei ransomware, anche Ryuk termina i processi e i servizi che potrebbero intralciarne l’esecuzione o limitarne l’efficacia, quali software antivirus o di backup. I processi vengono terminati tramite le consuete chiamate di sistema (CreateToolhelp32Snapshot, Process32FirstW e Process32NextW), seguite dal confronto dei nomi dei processi trovati attivi sul sistema con quelli della seguente tabella: virtual vmcomp vmwp veeam backup xchange sql dbeng sofos calc ekrn zoolz encsvc excel firefoxconfig infopath msaccess mspub mydesktop ocautoupds ocomm ocssd onenote oracle outlook powerpnt sqbcoreservice steam synctime tbirdconfig thebat thunderbird visio word xfssvccon tmlisten pccntmon cntaosmgr ntrtscan mbamtray In caso di corrispondenza, i processi vengono terminati con il seguente comando: taskkill /IM /F Per i servizi vengono invece utilizzate le API OpenSCManagerW e EnumServicesStatusW alla ricerca dei seguenti servizi: mcomp vmwp veeam back xchange ackup acronis sql enterprise sophos acrsch antivirus bedbg dcagent epsecurity epupdate eraser esgshkernel fa_scheduler iisadmin imap4 mbam endpoint afee mcshield task mfemms mfevtp mms msdts exchange ntrt pdvf pop3 report resvc sacsvr savadmin sams sdrsvc sepmaster monitor smcinst smcservice smtp snac swi_ ccsf truekey tmlisten ui0detect w3s wrsvc netmsmq ekrn ehttpsrv eshasrv avp klnagent wbengine kavf mfefire 16 / 28
TLP: White La terminazione avviene con il seguente comando: net stop "" /y Whitelist Prima di cifrare un file, Ryuk si assicura che nel suo percorso non sia presente nessuna delle seguenti stringhe: RyukReadMe.html UNIQUE_ID_DO_NOT_REMOVE PUBLIC PRIVATE \\Windows\\ sysvol netlogon bin boot dev etc lib initrd sbin sys vmlinuz run var AhnLab Chrome Mozilla $Recycle.Bin WINDOWS dll ahrmlog .aini .lnk L’obiettivo principale è quello di non compromettere l’usabilità del sistema per consentire alla vittima di contattare l’attaccante e accelerare i tempi di pagamento del riscatto. Wake-on-Lan A partire da novembre 2019 [22], Ryuk integra la nuova funzionalità di diffusione nella rete attraverso il protocollo Wake-on-Lan (WoL), uno standard Ethernet utilizzato per avviare remotamente i computer presenti nella rete locale. Come precedentemente descritto, Ryuk utilizza questa funzionalità soltanto quando avviato con certi parametri. Il protocollo WoL viene invocato utilizzando un frame Ethernet denominato magic packet, progettato per essere inviato in broadcast nella rete locale tramite protocollo UDP sulle porte 7 o 9. I computer spenti (in modalità a basso consumo) che supportano il Wake-on-LAN sono dotati di un’interfaccia di rete in grado di ricevere i pacchetti durante lo stato di riposo. Se l’interfaccia di rete riceve un magic packet con il suo indirizzo MAC segnala alla scheda madre del computer di riaccendere il sistema. Il magic packet è un frame broadcast con payload di lunghezza 102 byte, composto dal 17 / 28
TLP: White MAC address broadcast (6 byte di valore 0xFF), seguiti dall’indirizzo MAC del computer da riaccendere, ripetuto 16 volte. Ryuk ottiene la cache ARP del sistema con la chiamata GetIpNetTable e ne estrae gli indirizzi MAC. Per ciascuno di essi il ransomware crea manualmente il magic packet e lo inoltra all’host individuato (Figura 15). In Figura 16 viene mostrato un esempio di magic packet creato e inviato da Ryuk per risvegliare il computer con MAC address AE:BC:32:0C:BB:64. Figura 15 – Creazione e invio di un magic packet in Ryuk 18 / 28
TLP: White Figura 16 – Esempio di magic packet inviato da Ryuk per svegliare il computer con indirizzo MAC AE:BC:32:0C:BB:64 Scansione e cifratura della rete Sia quando avviato in modalità standard che quando avviato in modalità Wake-on- Lan, Ryuk implementa una funzionalità di scansione della rete. La descrizione di questa caratteristica risulta particolarmente rilevante, perché al termine della cifratura del sistema il ransomware continua a scansionare la rete all’infinito, alla ricerca di nuovi dischi di rete da crittografare. L’algoritmo di scansione della rete prevede l’utilizzo della chiamata API GetAdaptersAddresses, la quale permette di iterare gli indirizzi IP delle interfacce di rete del sistema. Per ogni IP privato, vengono calcolati e memorizzati tutti gli IP appartenenti alla stessa sotto rete. Per ciascuno di essi viene successivamente effettuato il ping in un thread istanziato appositamente, sfruttando le chiamate di sistema IcmpCreateFile, IcmpSendEcho e IcmpCloseHandle. Per gli indirizzi IP che risultano raggiungibili, Ryuk costruisce 26 percorsi di rete del seguente tipo: \\\$ uno per ogni possibile drive dalla A alla Z. Per la cartella root viene invece creato il seguente percorso \\\ Su ciascun percorso creato, se effettivamente esistente e raggiungibile, viene applicata la funzione di esplorazione del file system e cifratura già descritta (Figura 17). 19 / 28
TLP: White Figura 17 – Algoritmo di costruzione dei percorsi di rete a partire da un indirizzo IP che ha risposto al ping 20 / 28
TLP: White Contromisure e raccomandazioni Benché sia difficile contrastare l’acquisizione di informazioni potenzialmente utili al fine di perpetrare attacchi informatici (reconnaissance) e la preparazione di artefatti malevoli (weaponization) da parte degli innumerevoli threat-group esistenti, è opportuno minimizzare le informazioni pubbliche da cui l’avversario possa trarre vantaggio, come alcune informazioni non necessarie rilasciate pubblicamente. È stato verificato che le tecniche per ottenere il cosiddetto foothold all’interno delle infrastrutture target contemplano l’invio di malspam (delivery) o l’impiego di exploit per lo sfruttamento di vulnerabilità (exploitation) sui servizi Internet esposti, come VPN, load-balancer o applicazioni Web. È dunque necessario un addestramento specifico del personale preposto alla ricezione, apertura e lettura di mail oltre ad un’ordinaria valutazione delle vulnerabilità dell’infrastruttura utilizzata. Sarebbe utile adottare una politica più stringente circa la ricezione di determinate tipologie di file ed evitare sempre e comunque l’apertura di link direttamente ricevuti nelle e-mail. In ogni caso, è sempre consigliato impiegare un sistema di monitoraggio e di rilevamento di eventuali eventi di sicurezza che possano indicare il tentativo o l’avvenuta compromissione delle reti e dei sistemi in uso. Ai fini dell’analisi di eventuali incidenti, inoltre, è auspicabile l’impiego di un sistema di logging dei citati eventi di sicurezza, sia a livello host che network. Di seguito si elencano alcune raccomandazioni di base che è sempre consigliabile implementare: effettuare regolari Backup dei dati critici, preferibilmente conservati in supporti non connessi in modo permanente alla rete o ai sistemi; impiegare su tutti i sistemi soluzioni di Endpoint Detection & Response (EDR) che contengano almeno la componente anti-malware avendo cura di mantenerli aggiornati; abilitare un firewall sui sistemi garantendo esclusivamente il traffico verso i servizi e sistemi necessari; disattivare i servizi non necessari, sia nelle postazioni utente che sui server; utilizzare preferibilmente l'autenticazione multi fattoriale per gli accessi in VPN e, ove possibile, per l’accesso ai servizi esposti su Internet; mantenere aggiornati i software e i sistemi, in particolare quelli impiegati per i servizi di accesso remoto; configurare in modo sicuro i servizi di connessione remota come quelli basati su RDP impostando limiti di accesso e password complesse e, ove possibile, sistemi di autenticazione multifattoriale; non aprire senza opportune verifiche allegati o collegamenti in e-mail; verificare le comunicazioni tramite email security gateway; 21 / 28
TLP: White prevedere per il personale periodiche sessioni di formazione finalizzate a riconoscere il phishing e le minacce associate alla posta elettronica; garantire il giusto grado di consapevolezza tra i dipendenti; verificare la presenza di vulnerabilità che impattano prodotti e applicazioni di accesso remoto rivolti al pubblico, con particolare riferimento alle recenti vulnerabilità del protocollo RDP (CVE-2020-0609, CVE-2020-0610, CVE-2020-16896, CVE-2019-1489, CVE-2019-1225, CVE-2019-1224, CVE-2019-1108); valutare la capacità di rilevare e bloccare l'uso di Cobalt Strike sulla rete; analizzare e ridurre quanto possibile la superficie di attacco di Active Directory secondo le best practice di riferimento di Microsoft; limitare quanto possibile il numero e l’uso di account privilegiati, adottando il principio del privilegio minimo per tutti i task di amministrazione (just-in-time/just- enough); monitorare gli eventi di Active Directory per rilevare eventuali indicatori di intrusione e compromissione; introdurre restrizioni sull’impiego di tool di amministrazione come BitsAdmin, WMIC e PowerShell sulla rete; rilevare l’impiego improprio di tool di amministrazione come BitsAdmin, WMIC e PowerShell sulla rete; implementare regole di base per il controllo degli script; rilevare l’uso di tool di esecuzione remota come Psexec; rilevare eventuali movimenti laterali non previsti; segmentare la rete; crittografare i documenti sensibili sulla rete per impedirne la possibile divulgazione; impiegare soluzioni di Data Loss/Leak Prevention (DLP); implementare un piano di risposta agli attacchi informatici; impedire l'esecuzione di macro nei prodotti MS Office, consentendone l’esecuzione solo agli utenti che ne hanno comprovata necessità e, ove possibile, esclusivamente per le macro firmate digitalmente; visitare le pagine MITRE ATT&CK riportate nella sezione successiva per valutare ulteriori e personalizzate strategie finalizzate alla mitigazione e al rilevamento. Lo sfruttamento di vulnerabilità o di configurazioni di sicurezza non ottimali che interessano le tecnologie e servizi esposti sulla rete perimetrale è tra i punti di accesso privilegiati nelle incursioni ransomware. Le attività di difesa devono pertanto prevedere cicli di verifica, ad esempio tramite vulnerability assessment (VA), al fine di garantire la tempestiva risoluzione delle stesse. Un’ulteriore superficie di attacco, sfruttata in recenti compromissioni, è rappresentata da domini, accessi e sistemi di interoperabilità con partner e società terze: è quindi 22 / 28
TLP: White necessario porre particolare attenzione ad attività non previste e/o che si discostino dal normale utilizzo. 23 / 28
TLP: White Tecniche MITRE ATT&CK L’analisi malware sulla minaccia ha permesso di stilare la seguente tabella, secondo il framework MITRE ATT&CK, che indica le tecniche utilizzate da Ryuk (a cui è stato assegnato il software ID S0446 [23]). Si suggerisce inoltre la visualizzazione delle tecniche usate dall’attore Wizard SPIDER [24]. Tattica Tecnica Commento Alcune varianti di Ryuk provano a T1134: Access Token Privilege Escalation modificare i privilegi di token per ottenere i Manipulation SeBackupPrivilege e SeDebugPrivilege T1053: Scheduled Alcune varianti di Ryuk impostano la Persistence Task/Job persistenza come task schedulati T1547: Boot or Logon Alcune varianti di Ryuk impostavano la Persistence Autostart Execution persistenza tramite chiave di registro T1059: Command and Ryuk abusa i comandi taskkill e netstop Execution Scripting Interpreter per terminare processi e servizi sgraditi Utilizzata raramente, ad esempio per Execution T1129: Shared Modules caricare dinamicamente la libreria advapi32.dll T1486: Data Encrypted for L’attività principale di Ryuk, essendo un Impact Impact ransomware, è la cifratura dei file Impact T1489: Service Stop Ryuk termina i servizi con il comando net Alcune varianti di Ryuk usano il comando T1490: Inhibit System Impact vssadmin per rimuovere le copie shadow Recovery del sistema T1027: Obfuscated Files Le stringhe di Ryuk sono cifrate, inoltre Defense Evasion or Information l’eseguibile è inizialmente in stato packed Alcune varianti di Ryuk usano tecniche di Defense Evasion T1055: Process Injection process injection per iniettarsi in processi legittimi Alcune varianti di Ryuk lanciano il seguente T1222: File and Directory Defense Evasion commando: Permissions Modification icacls /grant Everyone:F /T /C /Q 24 / 28
TLP: White per rimuovere le ACL da tutti i file Ryuk termina processi e servizi di software Defense Evasion T1562: Impair Defenses di backup o anti-malware T1007: System Service Discovery I servizi in blocklist vengono terminati Discovery T1016: System Network Ryuk effettua un ping scan per trovare Discovery Configuration Discovery altri host in rete da cifrare T1018: Remote System Discovery Ryuk cifra i file nelle risorse di rete Discovery Ryuk usa la funzione Discovery T1057: Process Discovery CreateToolhelp32Snapshot per enumerare e terminare i processi T1083: File and Directory L’esplorazione del file system è un’attività Discovery Discovery necessaria per cifrare il sistema T1135: Network Share Discovery Ryuk cifra i file nelle risorse di rete Discovery T1518: Software I software (processi) in blocklist vengono Discovery Discovery terminati Ryuk usa le share di rete per cifrare i sistemi Lateral Movement T1021: Remote Services raggiungibili dalla macchina infetta 25 / 28
TLP: White Regole Yara import "pe" rule Ryuk_Payload_2021 { meta: description = "The packer drops the payload directly into memory, therefore the rule can be used to scan memory only" date = "2021" author = "CSIRT Italia" strings: $specific1 = "RyukReadMe" ascii wide $specific2 = "balance of shadow universe" ascii wide $specific3 = ".RYK" ascii wide $specific4 = "HERMES" ascii wide $specific5 = "Ryuk" ascii wide $specific6 = "UNIQUE_ID_DO_NOT_REMOVE" ascii wide $generic1 = "SYSTEM\\CurrentControlSet\\Control\\Nls\\Language\\" ascii wide $generic2 = "vssadmin" ascii wide $generic3 = "del /s /f /q" ascii wide $generic4 = "taskkill" ascii wide $generic5 = "net stop" ascii wide $generic6 = "\\System32\\cmd.exe" ascii wide $generic7 = "\\Documents and Settings\\Default User\\sys" ascii wide $generic8 = "\\Documents and Settings\\Default User\\finish" ascii wide $generic9 = "\\users\\Public\\sys" ascii wide $generic10 = "\\users\\Public\\finish" ascii wide $generic11 = "@protonmail.com" ascii wide condition: pe.is_pe and pe.characteristics & pe.EXECUTABLE_IMAGE and pe.machine == pe.MACHINE_I386 and 3 of ($specific*) and 4 of ($generic*) and filesize > 80KB and filesize < 350KB } 26 / 28
TLP: White Riferimenti [1] [Online]. Available: https://www.advanced-intel.com/post/crime-laundering- primer-inside-ryuk-crime-crypto-ledger-risky-asian-crypto-traders. [2] [Online]. Available: https://twitter.com/malwrhunterteam/status/1030529747174998016. [3] [Online]. Available: https://id-ransomware.malwarehunterteam.com/. [4] [Online]. Available: https://research.checkpoint.com/2018/ryuk-ransomware- targeted-campaign-break/. [5] [Online]. Available: https://www.mcafee.com/blogs/other-blogs/mcafee- labs/ryuk-ransomware-attack-rush-to-attribution-misses-the-point/. [6] [Online]. Available: https://www.bleepingcomputer.com/news/security/north- korean-hackers-used-hermes-ransomware-to-hide-recent-bank-heist/. [7] [Online]. Available: https://www.securityweek.com/organizations-hit-north- korean-linked-ryuk-ransomware. [8] [Online]. Available: https://kivuconsulting.com/kivu-myth-busters-ryuk-vs-north- korea/. [9] [Online]. Available: https://www.crowdstrike.com/blog/big-game-hunting-with- ryuk-another-lucrative-targeted-ransomware/. [10] [Online]. Available: https://adversary.crowdstrike.com/adversary/wizard-spider/. [11] [Online]. Available: https://go.crowdstrike.com/rs/281-OBQ- 266/images/Report2021GTR.pdf. [12] [Online]. Available: https://csirt.gov.it/contenuti/possibili-attacchi-attraverso- ransomware-ryuk-al01-20201029-csirt-ita. [13] [Online]. Available: https://go.crowdstrike.com/rs/281-OBQ- 266/images/Report2021GTR.pdf. 27 / 28
TLP: White [14] [Online]. Available: https://www.europol.europa.eu/newsroom/news/world%E2%80%99s-most- dangerous-malware-emotet-disrupted-through-global-action. [15] [Online]. Available: https://www.fireeye.com/blog/threat-research/2019/01/a- nasty-trick-from-credential-theft-malware-to-business-disruption.html. [16] [Online]. Available: https://www.securityondemand.com/ryuk-ransomware-is- making-hackers-millions/. [17] [Online]. Available: https://www.cisecurity.org/blog/trickbot-not-your-average- hat-trick-a-malware-with-multiple-hats/. [18] [Online]. Available: https://www.cert.ssi.gouv.fr/uploads/CERTFR-2021-CTI- 006.pdf. [19] [Online]. Available: https://www.hornetsecurity.com/en/threat- research/bazarloader-campaign-with-fake-termination-emails/. [20] [Online]. Available: https://www.fireeye.com/blog/threat- research/2020/10/kegtap-and-singlemalt-with-a-ransomware-chaser.html. [21] [Online]. Available: https://news.sophos.com/en-us/2020/10/14/inside-a-new- ryuk-ransomware-attack/. [22] [Online]. Available: https://www.crowdstrike.com/blog/wizard-spider-adds-new- feature-to-ryuk-ransomware/. [23] [Online]. Available: https://attack.mitre.org/software/S0446/. [24] [Online]. Available: https://attack.mitre.org/groups/G0102/. [25] [Online]. Available: https://www.cybereason.com/blog/cybereason-vs-egregor- ransomware. 28 / 28
Puoi anche leggere