SOC Prime Bias: Alto

14 Jul 2026 15:21 UTC

CrashStealer: Infostealer macOS che si maschera da Crash Reporter

Author Photo
SOC Prime Team linkedin icon Segui
CrashStealer: Infostealer macOS che si maschera da Crash Reporter
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riepilogo

CrashStealer è un infostealer nativo C++ per macOS che si maschera come framework di segnalazione crash di Apple per raccogliere dati sensibili degli utenti. Prende di mira le credenziali dei browser, i portafogli di criptovaluta e le informazioni del portachiavi, utilizzando la crittografia AES-GCM per organizzare i dati rubati localmente. Il malware viene distribuito tramite un dropper firmato e notarizzato travestito da installatore software legittimo.

Indagine

Jamf Threat Labs ha scoperto la minaccia dopo che un campione sospetto di macOS è apparso su VirusTotal a maggio 2026. La loro indagine ha rivelato una catena d’infezione sofisticata a più fasi che coinvolge un dropper notarizzato chiamato Werkbit Setup e un payload che utilizza la firma ad hoc per evitare il rilevamento. Gli analisti hanno anche osservato il malware profilare gli strumenti di sicurezza e raccogliere una vasta gamma di dati utente dal host infetto.

Mitigazione

Le organizzazioni dovrebbero monitorare il lancio di applicazioni sospette da percorsi nascosti come /private/tmp/. Dovrebbero essere create regole di rilevamento per l’esecuzione di comandi come dscl -authonly and xattr -cr quando appaiono in contesti anomali. Bloccare domini noti malevoli e guardare per ampi archivi ZIP criptati con schemi di denominazione distintivi in ~/.cache/ può anche aiutare a interrompere l’esfiltrazione.

Risposta

Se CrashStealer viene rilevato, isolare immediatamente il punto di estremità macOS interessato per fermare ulteriori furti di dati. Condurre un’analisi forense della directory di ~/.cache/com.apple.crashreporter/ per valutare l’entità delle informazioni rubate. Gli investigatori dovrebbero anche trattare le credenziali dell’utente, in particolare i contenuti del portachiavi e le password memorizzate nel browser, come pienamente compromesse.

Flusso di Attacco

Esecuzione di Simulazione

Prerequisito: Il Controllo Pre-volo di Telemtria & Baseline deve essere stato superato.

Motivazione: Questa sezione dettaglia l’esecuzione precisa della tecnica dell’avversario (TTP) progettata per attivare la regola di rilevamento. I comandi e la narrazione DEVONO riflettere direttamente i TTP identificati e mirare a generare esattamente la telemetria prevista dalla logica di rilevamento. Esempi astratti o non correlati porteranno a una diagnosi errata.

  • Narrazione & Comandi d’Attacco: L’avversario cerca di distribuire un infostealer basato su macOS (CrashStealer). Per eludere il rilevamento iniziale e preparare l’ambiente, l’attaccante prima rimuove attributi estesi dal loro malware per evitare la quarantena (xattr -cr). Poi tentano di validare le credenziali locali dell’utente utilizzando dscl per garantire che abbiano privilegi sufficienti (dscl -authonly). Per garantire persistenza e integrazione nel sistema, registrano il servizio malevolo con i Servizi di Lancio (lsregister -f). Infine, eseguono il payload in background per rimanere nascosti dall’interfaccia utente (open -g -n). Questa sequenza è progettata per imitare la gestione legittima del sistema mentre esegue compiti malevoli.

  • Script di Test di Regressione:

    #!/bin/bash
    # Script di Simulazione di CrashStealer
    # Questo script esegue gli schemi di comando specifici definiti nella regola di rilevamento.
    
    echo "[+] Avvio Simulazione CrashStealer..."
    
    # 1. Rimozione degli attributi estesi (T1027.005)
    echo "[+] Passo 1: Rimozione degli attributi estesi..."
    xattr -cr /tmp/dummy_malware_file 2>/dev/null || echo "[!] xattr fallito (Atteso se il file non esiste)"
    
    # 2. Validazione delle credenziali (T1556.002)
    echo "[+] Passo 2: Validazione delle credenziali via dscl..."
    dscl -authonly /Users/$(whoami) || echo "[!] dscl fallito (Richiede contesto valido)"
    
    # 3. Registrazione con i Servizi di Lancio (T1546.015)
    echo "[+] Passo 3: Registrazione del servizio..."
    lsregister -f /tmp/dummy_app.app 2>/dev/null || echo "[!] lsregister fallito"
    
    # 4. Avvio del processo in background (T1056)
    echo "[+] Passo 4: Avvio del processo in background..."
    open -g -n /Applications/Calculator.app 2>/dev/null || echo "[!] open fallito"
    
    echo "[+] Simulazione Completa."
  • Comandi di Pulizia:

    # Rimuovere eventuali file fittizi creati durante la simulazione
    rm -f /tmp/dummy_malware_file
    rm -f /tmp/dummy_app.app
    echo "[+] Pulizia Completa."