Alcunin ricercatori di sicurezza hanno rilasciato i dettagli di DazzleSpy, il malware per Mac che ha consentito la registrazione delle chiavi di accesso, l’acquisizione di schermate, l’accesso al microfono e altro ancora.
DazzleSpy è stato utilizzato per prendere di mira gli attivisti democratici di Hong Kong, inizialmente tramite un falso sito web pro-democrazia, e successivamente attraverso un portale reale. Il Threat Analysis Group (TAG) di Google aveva segnalato per la prima volta l’attacco nel novembre dello scorso anno, ma i dettagli su questo malware sono emersi solo nelle ultime ore.
I ricercatori di ESET hanno scoperto che gli hacker utilizzavano un exploit WebKit. L’exploit è complesso – con più di 1.000 righe di codice – ma riassumendo necessitava di queste operazione:
- Scaricewa un file dall’URL fornito come esca
- Decrittografare questo file utilizzando AES-128-EBC e TEA con un delta personalizzato
- Scrivere il file risultante in $TMPDIR/airportpaird e renderlo eseguibile
- Utilizzare l’exploit di escalation dei privilegi per rimuovere l’attributo com.apple.quarantine dal file per evitare di chiedere all’utente di confermare l’avvio dell’eseguibile non firmato
- Usare la stessa escalation dei privilegi per avviare la fase successiva con i privilegi di root
- Questo conferisce al malware i privilegi di amministratore senza l’interazione dell’utente.
Il malware è estremamente potente, consentendo all’attaccante di accedere a più comandi:
- searchFile cerca il file specificato nel computer compromesso
- scanFiles accede ai file nelle cartelle Desktop, Download e Documenti
- cmd esegue il comando shell fornito
- restartCMD riavvia la sessione della shell
- processInfo accede ai processi in esecuzione
- keychain scarica il portachiavi utilizzando un exploit CVE-2019-8526 se la versione di macOS è inferiore alla 10.14.4. Viene utilizzata l’implementazione KeySteal del portachiavi pubblico
- downloadFileInfo accede alla cartella fornita o fornisce un timestamp di creazione e modifica hash SHA-1 per il nome file fornito
- downloadFile esegue un file dal percorso fornito
- file fornisce informazioni, rinomina, rimuove, sposta o esegue un file nel percorso fornito
- RDP avvia o termina una sessione dello schermo remoto
- acceptFileInfo prepara per il trasferimento dei file
- acceptFile scrive il file fornito su disco.
Apple ha corretto le vulnerabilità utilizzate con gli ultimi aggiornamenti software.