RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt

Pagina creata da Nicolo Monti
 
CONTINUA A LEGGERE
RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt
RYUK
  Evoluzione e analisi tecnica del
            ransomware

TLP:WHITE                 maggio 2021
RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt
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
RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt
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
RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt
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
RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt
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
RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt
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
RYUK Evoluzione e analisi tecnica del ransomware - maggio 2021 - Csirt
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