• Non ci sono risultati.

Cryptojacking tramite malware: MadoMiner

3 – Cryptomining e cryptojacking

1. SITE KEY: la chiave pubblica associata al sito che ospita lo script malevolo, creata quando il webmaster si iscrive al servizio di Coinhive;

2. throttle: la frazione di tempo in cui i thread che eseguono il codice per il mining devono rimanere in stato di idle. La documentazione presente sul sito, consiglia di utilizzare il 70%

delle risorse di CPU.

Coinhive fornisce anche un servizio di Captcha: l’utente, dopo aver cliccato su un apposito widget, deve attendere alcuni secondi durante i quali avviene il cryptojacking di Monero.

Con la diffusione del drive-by mining, `e sorto un dibattito sulla legalit`a dell’attivit`a di tale societ`a: Coinhive, infatti, non richiede il consenso esplicito dell’utente per il mining della cripto-valuta e pertanto il suo operato rientra tra le pratiche di cryptojacking. Per tale motivo, la societ`a ha creato il servizio Authedmine17che differisce da quello descritto in precedenza, soprattutto per la richiesta del consenso dell’utente per utilizzare una parte delle sue risorse hardware in cambio di benefici, quali ad esempio la rimozione parziale o totale degli avvisi pubblicitari. La nascita Authedmine mette in luce l’esistenza di alcune problematiche etiche, quali ad esempio la consa-pevolezza da parte dell’utente di quali siano i risvolti negativi (ad esempio maggiore consumo di energia elettrica e il rallentamento del dispositivo) nel dare il proprio consenso per il mining.

3 – Cryptomining e cryptojacking

• CVE-2017-014318 e CVE-2017-014619: sono delle vulnerabilit`a nel protocollo SMB (Server Message Block) v1.0 [49], protocollo sviluppato da Microsoft, di condivisione di file all’in-terno di una rete, solitamente LAN, che opera al di sopra del protocollo TCP/IP. Queste vulnerabilit`a permettono di eseguire codice remoto sui dispositivi in attesa sulla porta TCP 445, utilizzata da SMB, a seguito dell’invio di una particolare richiesta;

• CVE-2017-017620 [50]: `e una vulnerabilit`a presente nella versione del protocollo RDP uti-lizzata in Windows Server 2003 e Windows XP. RDP (Remote Desktop Protocol) [51] `e un protocollo proprietario di Microsoft, che permette la comunicazione tra un client RDP e un server RDP in attesa sulla porta TCP 3389. In particolare, per sfruttare questa vul-nerabilit`a, il server RDP deve essere abilitato ad effettuare l’autenticazione tramite Smart Card. Grazie a questo exploit, un attaccante `e in grado di installare programmi, modificare o cancellare i dati e creare account con privilegi di amministratore sulla macchina remota.

L’infezione del dispositivo vittima avviene tramite lo strumento malevolo ZombieBoyTools.exe che installa un file DLL (Dynamic-Link Library) (x86.dll se il S.O. `e a 32 bit, x64.dll se il S.O.

`e a 64 bit), sfruttando gli exploit menzionati in precedenza. Quando il file DLL viene eseguito, vengono scaricati ed eseguiti in parallelo due eseguibili in formato UPX21, chiamati Install.exe e Mask.exe. In Figura3.4`e riportato lo schema generale di funzionamento di Madominer.

attaccante

ZombieBoyTools.exe (installa DLL)

vittima

(dispositivo in ascolto sulla porta TCP 445) DLL

Install.exe

download download

CPUInfo.exe contiene (altri moduli)

Mask.exe (altri moduli)

contiene 360Safe.exe

1) scansiona, con WinEggDrop, i dispositivi connessi ad Internet e i dispositivi nella medesima LAN, aventi la porta TCP 445 aperta;

2) sui dispositivi individuati, eseguendo

ZombieBoyTools.exe, installa la DLL (x86.dll o x64.dll).

scarica ed esegue XMRig.

propagazione del worm verso altri dispositivi

profitti del mining, trasportati con Stratum, a beneficio di:

mining pool protocollo Stratum

XMRig

Figura 3.4: Schema generale di funzionamento di MadoMiner.

Il modulo Install.exe `e `e deputato alla propagazione del worm. Al suo interno vi sono:

• alcuni script batch che hanno le seguenti funzionalit`a:

– rendere persistente il worm, aggiungendo alcuni processi allo scheduler del sistema operativo;

– rendere meno individuabile il malware terminando alcuni suoi processi e cancellando alcuni moduli dopo il loro utilizzo;

18https://www.rapid7.com/db/vulnerabilities/msft-cve-2017-0143

19https://www.rapid7.com/db/vulnerabilities/msft-cve-2017-0146

20https://www.rapid7.com/db/vulnerabilities/msft-cve-2017-0176

21https://upx.github.io/

3 – Cryptomining e cryptojacking

– supportare l’esecuzione del modulo CPUInfo.exe;

• il dropper CPUInfo.exe esegue le seguenti azioni:

1. scarica i file necessari all’esecuzione di MadoMiner, tra cui ZombieBoyTools.exe, il web scanner WinEggDrop e gli strumenti per sfruttare le vulnerabilit`a citate in precedenza;

2. tramite il web scanner WinEggDrop, CPUInfo.exe scansiona i dispositivi collegati alla medesima rete locale (LAN) del dispositivo infettato, al fine di individuare quelli in ascolto sulla porta TCP 445 (protocollo SMB attivo); per il medesimo scopo, vengono scansionati gli indirizzi IP pubblici appartenenti allo stesso intervallo di indirizzi della macchina infettata;

3. per ogni dispositivo individuato, tramite ZombieBoyTools.exe, CPUInfo.exe scarica ed installa il file DLL pi`u opportuno (x86.dll se il S.O. `e a 32 bit, x64.dll se il S.O. `e a 64 bit);

4. vengono quindi scaricati i moduli Mask.exe ed Install.exe e la propagazione del worm continua.

Il modulo Mask.exe ha il compito di minare la criptovaluta Monero sui dispositivi infettati.

Tali dispositivi costituiscono una botnet (Sezione4.1).

Si stima che, gli utilizzatori di MadoMiner siano riusciti in questo modo a guadagnare 6015$ al mese, utilizzando il 50% delle risorse computazionali disponibili sui sistemi infettati [47]. Le comunicazioni tra il botmaster, i miner (ovvero i dispositivi infettati) ed il mining pool avviene tramite l’utilizzo del protocollo Stratum (Sezione3.2), operante al di sopra di TCP senza l’utilizzo di TLS.

Mask.exe, inoltre, scarica ulteriori moduli tra cui 360Safe.exe. Esso svolge i seguenti compiti:

• installa NSSM (Non-Sucking Service Manager)22, un monitor di processi in grado riavviare un processo qualora termini in modo inaspettato;

• attua delle tecniche anti-VM per rendere pi`u complesso il rilevamento del malware. Una tecnica anti-VM (o anti-Virtual Machine) ha lo scopo di impedire l’esecuzione del malware all’interno di una macchina virtuale. Quest’ultime sono utilizzate dagli esperti di sicurezza per analizzare i malware senza compromettere le macchine su cui viene effettuata l’analisi;

• identifica l’architettura del sistema operativo;

• in base alle caratteristiche del sistema operativo, installa XMRig23, uno strumento per il mining di XMR, alternativo a XMR-Stak (Sezione3.3) e che pertanto utilizza il protocollo Stratum (nel caso in esame, non cifrato).

22https://nssm.cc/

23https://github.com/xmrig/xmrig

Capitolo 4

Botnet

Documenti correlati