GlassWorm Attacca Mac: Nuova Infrastruttura, Nuovi Trucchi
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
L’attore malevolo dietro GlassWorm si è spostato da attività focalizzate su Windows a macOS, distribuendo estensioni VS Code maligne che estraggono payload JavaScript crittografati attraverso puntatori C2 derivati dalla blockchain Solana. Questa ondata amplia la capacità aggiungendo la trojanizzazione dei portafogli hardware mentre continua il furto ampio di credenziali tra browser, strumenti di sviluppo e il Portachiavi di macOS. L’infrastruttura include un indirizzo del portafoglio Solana e un IP riutilizzato da operazioni precedenti di GlassWorm, suggerendo continuità negli strumenti dell’operatore e nell’hosting. I ricercatori hanno osservato oltre 50.000 download prima che le estensioni venissero rimosse, indicando un’esposizione significativa negli ambienti degli sviluppatori.
Indagine
Koi Security ha identificato tre estensioni VS Code maligne sul marketplace Open VSX e collegato il loro flusso di comando e controllo a un portafoglio Solana e a un indirizzo IP condiviso precedentemente legato a GlassWorm. Gli impianti incorporano un ritardo di esecuzione di 15 minuti, quindi decrittano e eseguono un payload JavaScript AES-256-CBC. Su macOS, la persistenza è stabilita tramite LaunchAgents. Gli obiettivi della raccolta includono portafogli del browser e dati del portafoglio desktop, token di accesso degli sviluppatori, chiavi SSH e materiale del Portachiavi di macOS. Il malware prepara i dati rubati sotto /tmp/ijewf/ prima dell’esfiltrazione a un percorso del server simile a /p2p. Tenta anche di sostituire le app companion legittime dei portafogli hardware—come Ledger Live e Trezor Suite—con imitazioni trojanizzate per catturare segreti di alto valore e transazioni.
Mitigazione
Stringere i controlli sugli strumenti di sviluppo applicando una lista bianca delle estensioni e richiedendo una revisione della sicurezza per le estensioni VS Code, in particolare quelle provenienti da marketplace aperti. Distribuire rilevamenti runtime per schemi di esecuzione ritardati e creazioni o modifiche sospette di LaunchAgents. Monitorare e bloccare attività in uscita sospette associate a ricerche C2 derivate da Solana e aggiungere rilevamenti di rete per connessioni insolite all’IP riutilizzato identificato. Richiedere MFA per gli account sviluppatore e cloud e implementare controlli di integrità dei portafogli hardware (convalida del publisher, notarizzazione/verifica della firma e canali di aggiornamento del software controllati).
Risposta
Innescare avvisi su LaunchAgents nuovi o modificati, accesso anomalo ai registri del Portachiavi e tentativi di recupero da endpoint C2 riferiti a Solana. Mettere in quarantena e rimuovere le estensioni VS Code maligni, quindi eradicare qualsiasi persistenza associata a LaunchAgent. Eseguire indagini forensi mirate su /tmp/ijewf/ per delimitare la preparazione delle credenziali e confermare quali dati sono stati raccolti. Validare l’integrità delle applicazioni di portafoglio hardware (Ledger Live, Trezor Suite) e reinstallare da fonti affidabili se si sospetta un manomissione. Resettare le credenziali impattate, ruotare le chiavi SSH e i token degli sviluppatori, invalidare le sessioni ed espandere la ricerca su endpoint per gli stessi ID estensione, percorsi file e artefatti di persistenza.
Flusso di Attacco
Rilevamenti
Tentativo di Scoperta Password Browser macOS Possibile (via cmdline)
Visualizza
IOC (SourceIP) per rilevare: GlassWorm Goes Mac: Nuova Infrastruttura, Nuovi Trucchi
Visualizza
IOC (DestinationIP) per rilevare: GlassWorm Goes Mac: Nuova Infrastruttura, Nuovi Trucchi
Visualizza
IOC (Email) per rilevare: GlassWorm Goes Mac: Nuova Infrastruttura, Nuovi Trucchi
Visualizza
Rilevamento Accesso al Portachiavi macOS di GlassWorm [Creazione Processo Linux]
Visualizza
Possibile Esecuzione AppleScript per Accesso al Portachiavi su macOS [Creazione Processo Linux]
Visualizza
Rilevamento Comunicazione C2 della Blockchain di Solana di GlassWorm [Proxy]
Visualizza
Esecuzione Simulazione
Prerequisito: Il Controllo Pre-volo di Telemetria & Baseline deve essere superato.
Motivo: Questa sezione dettaglia l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare la telemetria esatta prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a diagnosi errate.
-
Narrazione & Comandi di Attacco:
Un attaccante che ha già compromesso un account utente macOS a basso privilegio desidera raccogliere una password di account di servizio memorizzata nel Portachiavi sotto l’etichettapass_users_for_script. Per evitare di rilasciare un binario separato, l’attaccante scrive un one-liner AppleScript che richiama lo strumentosecurityintegrato tramitedo shell script. Lo script è eseguito direttamente nella sessione dell’utente, producendo un evento di creazione del processo con la linea di comando esatta a cui la regola Sigma corrisponde.# Creare un elemento di portachiavi di prova (solo per dimostrazione; un vero attaccante si rivolgerebbe a un elemento esistente) security add-generic-password -a attacker -s pass_users_for_script -w SuperSecret123 # Eseguire lo AppleScript che legge la password osascript -e 'do shell script "security find-generic-password -s '''pass_users_for_script''' -w"' -
Script di Test di Regressione:
#!/usr/bin/env bash set -euo pipefail # Passo 1: Verificare che l'elemento del portachiavi di destinazione esista (idempotente) if ! security find-generic-password -s pass_users_for_script -w >/dev/null 2>&1; then security add-generic-password -a attacker -s pass_users_for_script -w SuperSecret123 fi # Passo 2: Eseguire lo AppleScript che attiva la regola di rilevamento echo "[+] Esecuzione AppleScript per leggere l'elemento del portachiavi..." osascript -e 'do shell script "security find-generic-password -s '''pass_users_for_script''' -w"' -
Comandi di Pulizia:
# Rimuovere l'elemento di portachiavi di prova per lasciare il sistema pulito security delete-generic-password -s pass_users_for_script echo "[+] Pulizia completata: elemento di portachiavi di prova rimosso."