Il 2020 è stato un anno da ricordare per le infrastrutture di Enel, quest’anno sono state vittima di due attacchi ransomware.
Lo scorso giugno, Enel, era stata presa di mira dal ransomware EKANS, anagramma di SNAKE. L’analisi di questo malware è molto interessante e verrà approfondita nel seguente articolo.
Dalle prime indagini di alcuni esperti, risulterebbe che la diffusione sia avvenuta tramite email di phishing, anche se, secondo Marco Ramili, Founder & CEO di Yoroi, altre indagini non escludono che potrebbe trattarsi di una vulnerabilità del server front-end.
Nel dettaglio EKANS è una variante offuscata di un ransomware scritta con il linguaggio Go (https://golang.org). Il solo sample conosciuto ha le seguenti caratteristiche:
Nome del file: update.exe
MD5: 3d1cc4ef33bad0e39c757fce317ef82a
SHA1: f34e4b7080aa2ee5cfee2dac38ec0c306203b4ac
SHA256: e5262db186c97bbe533f0a674b08ecdafa3798ea7bc17c705df526419c168b60
Qui l’analisi effettuata da Virus Total: VirusTotalAnalysis
L’analisi dei binari indica la presenza di più librerie Go per costruire e garantire l’esecuzione del malware, come indicato nella seguente figura.
Il ransomware inizia il proprio lavoro accertandosi che il proprio target sia quello ricercato, e, per questo motivo effettua delle query DNS e compara il risultato con una lista di IP (figura seguente).
In caso di esito positivo EKANS effettua una query WMI (Windows Management Instrumentation) per capire il ruolo della macchina target. Infatti Microsoft definisce i ruoli in questo modo:
Con le analisi appena fatte, il malware può procedere e ricercare l’esistenza di un valore Mutex (semaforo binario che può assumere solo valori 0 ed 1 e consente ad un solo thread di accedere ad una specifica risorsa) chiamato EKANS sul server vittima. Se è presente, il malware si blocca e non attacca il sistema perché già cifrato precedentemente, in caso contrario viene impostato il valore Mutex e la crittografia procede. Il ransomware cifra tutti i file del disco ad eccezione di tutti i file con le seguenti estensioni: .sys .mui .tmp .lnk .config .tlb .olb .blf .ico .manifest .bat .cmd .ps1 etc
e ad eccezione di quelli localizzati nella cartella Windows, elencati nella seguente immagine.
Prima di procedere alla cifratura dei file, il ransomware termina tutti i processi elencati nella Tabella 1 ed inizia a rimuovere tutti i backup del Volume Shadow Copy, così da impedire il ripristino del sistema.
Alcuni di questi processi riguardano la sicurezza e la gestione del sistema, che potrebbero limitare l’azione del ransomware, ma la maggior parte sono inerenti database, soluzione di backup dei dati o processi correlati a ICS.
Da notare che il malware non è in grado di iniettare comandi o manipolare i processi relativi ad ICS per questo si limita a terminarli.
Il processo di criptazione è un misto tra modello simmetrico ed asimmetrico: infatti per criptare e decriptare i file servirà una chiave simmetrica, che a sua volta è criptata con la chiave pubblica dell’attaccante. Ovviamente per decriptare i file è necessaria la chiave privata dell’attaccante.
Dopo la crittografia, i file vengono rinominati aggiungendo cinque caratteri casuali all’estensione del file originale (lettere maiuscole e minuscole) come nella seguente figura.
Inoltre in ogni file cifrato, il ransomware aggiunge la firma “EKANS” come nella seguente figura.
Dopo la terminazione dei processi e la cifratura dei file, ESKANS rilascia una richiesta di riscatto nella cartella root del sistema, di solito in “C:\” e sul Desktop dell’utente in quel momento attivo. L’importo richiesto è di circa 1234 bitcoin (circa 16 milioni di euro). Il file per il riscatto ha solitamente il nome “Fix-Your-Files.txt” e generalmente si presenta come nella seguente figura.
Uno degli indirizzi e-mail attualmente utilizzati per le istruzioni di pagamento è “bapcocrypt@ctemplar.com”.
C’è da sottolineare che EKANS non possiede alcun meccanismo di propagazione o diffusione integrato. Il malware per poter funzionare ha bisogno di essere lanciato in modo interattivo o tramite script per poter infettare un host. Una volta raggiunto il pc della vittima, il ransomware può essere diffuso in tutta la rete tramite script.
L’attacco ha impattato la rete interna dell’azienda, che ha subito una interruzione. Tuttavia, una dichiarazione ufficiale dell’azienda rivela che i sistemi di cyber difesa hanno funzionato e hanno bloccato il malware prima che potesse diffondersi.
L’ultimo attacco che ha colpito Enel prende il nome di NetWalker, il ransomware che è riuscito a sottrarre all’azienda circa 5 Tb di dati.
Tabella 1
Process | Description |
---|---|
(PROCESSI) | (DESCRIZIONE) |
bluestripecollector.exe | BlueStripe Data Collector |
ccflic0.exe | Proficy Licensing |
ccflic4.exe | Proficy Licensing |
cdm.exe | Nimsoft Related |
certificateprovider.exe | Ambiguous |
client.exe | Ambiguous |
client64.exe | Ambiguous |
collwrap.exe | BlueStripe Data Collector |
config_api_service.exe | ThingWorx Industrial Connectivity Suite, Ambiguous |
dsmcsvc.exe | Tivoli Storage Manager Client |
epmd.exe | RabbitMQ Server (SolarWinds) |
erlsrv.exe | Erlang |
fnplicensingservice.exe | FLEXNet Licensing Service |
hasplmv.exe | Sentinel Hasp License Manager |
hdb.exe | Honeywell HMIWeb |
healthservice.exe | Microsoft SCCM |
ilicensevc.exe | GE Fanuc Licenseing |
inet_gethost.exe | Erlang |
keysvc.exe | Ambiguous |
managementagenthost.exe | VMWare CAF Management Agent Service |
monitoringhost.exe | Microsoft SCCM |
msdtssrvr.exe | Microsoft SQL Server Integration Service |
msmdsrv.exe | Microsoft SQL Server Analysis Services |
mustnotificationux.exe | Microsoft Update Notification Service |
n.exe | Ambiguous |
nimbus.exe | Broadcom Nimbus |
npmdagent.exe | Microsoft OMS Agent |
ntevl.exe | Nimsoft Monitor |
ntservices.exe | 360 Total Security |
pralarmmgr.exe | Proficy Related |
prcalculationmgr.exe | Proficy Historian Data Calculation Service |
prconfigmgr.exe | Proficy Related |
prdatabasemgr.exe | Proficy Related |
premailengine.exe | Proficy Related |
preventmgr.exe | Proficy Related |
prftpengine.exe | Proficy Related |
prgateway.exe | Proficy Secure Gateway |
prlicensingmgr.exe | Proficy License Server Manager |
proficyadministrator.exe | Proficy Related |
proficyclient.exe | Proficy Related |
proficypublisherservice.exe | Proficy Related |
proficyserver.exe | Proficy Server |
proficysts.exe | Proficy Related |
prprintserver.exe | Proficy Related |
prproficymgr.exe | Proficy Plant Applications |
prrds.exe | Proficy Remote Data Service |
prreader.exe | Proficy Historian Data Calculation Service |
prrouter.exe | Proficy Related |
prschedulemgr.exe | Proficy Related |
prstubber.exe | Proficy Related |
prsummarymgr.exe | Proficy Related |
prwriter.exe | Proficy Historian Data Calculation Service |
reportingservicesservice.exe | Microsoft SQL Server Reporting Service |
server_eventlog.exe | Proficy Event Log Service, Ambiguous |
server_runtime.exe | Proficy Related, Ambiguous |
spooler.exe | Ambiguous |
sqlservr.exe | Microsoft SQL Server |
taskhostw.exe | Windows OS |
vgauthservice.exe | VMWare Guest Authentication Service |
vmacthlp.exe | VMWare Activation Helper |
vmtoolsd.exe | VMWare Tools Service |
win32sysinfo.exe | RabbitMQ |
winvnc4.exe | WinVNC Client |
workflowresttest.exe | Ambiguous |