SOC Prime Bias: Kritisch

23 Dec 2025 10:26 UTC

Mehrstufige Tarnung: Enttarnung des Loaders in gezielten E-Mail-Kampagnen

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Folgen
Mehrstufige Tarnung: Enttarnung des Loaders in gezielten E-Mail-Kampagnen
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Ein weit verbreiteter Loader wird von mehreren Bedrohungsakteuren umfunktioniert, um verschiedene RATs und Informationsdiebe über Phishing-E-Mails mit bewaffneten JavaScript-, PowerShell-, LNK- und ZIP-Anhängen zu liefern. Der Loader kombiniert Steganografie, reflektives Laden, Process Hollowing und eine aufkommende UAC-Umgehungsmethode, um eine dateilose Ausführung zu ermöglichen und Privilegien zu erhöhen. Es wurde eine Aktivität beobachtet, die auf Produktions- und Regierungseinrichtungen in Europa und dem Nahen Osten abzielt, mit dem offensichtlichen Ziel, industrielle Daten und Anmeldedaten zu stehlen.

Untersuchung

Cyble Research and Intelligence Labs analysierte die Lieferkette und skizzierte einen vierstufigen Umgehungsworkflow. Er beginnt mit einem obfuskierten JavaScript-Stager, schwenkt zu einem PowerShell-Steganografie-Loader, missbraucht eine trojanisierte TaskScheduler-Bibliothek und gipfelt in der Payload-Injektion in RegAsm.exe. Die Endstufe der Malware ist PureLog Stealer, das Browser-Anmeldedaten, Kryptowährungs-Wallet-Daten und Host-/Systeminformationen zur Exfiltration sammelt.

Minderung

Nutzen Sie erweiterte E-Mail-Schutzmaßnahmen mit Sandbox-Detonation, blockieren Sie die Skriptausführung von per E-Mail zugestellten Inhalten, erzwingen Sie den PowerShell Constrained Language Mode und überwachen Sie auf Process Hollowing legitimer Windows-Binaries. Fügen Sie Erkennung für Steganografie in Bilddateien hinzu und optimieren Sie EDR-Regeln, um reflektierendes .NET-Assembly-Laden und UAC-Umgehungsmuster, die mit dieser Loader-Kette verbunden sind, zu erkennen.

Reaktion

Wenn Indikatoren erscheinen, isolieren Sie den Endpunkt, stoppen Sie verdächtige PowerShell- und WMI-Aktivitäten, erfassen Sie Speicherabbilder und suchen Sie nach reflektierenden .NET-Artefakten und injizierten RegAsm.exe-Prozessen. Setzen Sie möglicherweise compromittierte Anmeldedaten zurück und blockieren Sie die zugehörigen bösartigen Domains und IP-Adressen, um eine erneute Infektion und seitliche Bewegungen zu verhindern.

Angriffsablauf

Simulationsausführung

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

Begründung: Dieser Abschnitt beschreibt die präzise Ausführung der Technik des Gegners (TTP), die den Erkennungscode auslösen soll. Die Befehle und die Erzählung MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.

  • Angriffsablauf & Befehle:
    Ein Angreifer sendet eine Spear-Phishing-E-Mail mit einem JPEG-Anhang, in den steganografisch eine versteckte PowerShell-Nutzlast eingebettet ist. Nachdem das Opfer den Anhang öffnet, extrahiert das Skript der ersten Stufe des Angreifers die versteckten Daten, dekodiert sie aus Base64 und startet einen PowerShell-Loader der zweiten Stufe in einem versteckten Fenster. Der Loader kontaktiert anschließend einen C2-Server, um zusätzliche Tools herunterzuladen. Die genau auf dem Opfersystem erzeugte Befehlszeile lautet:

    powershell -WindowStyle Hidden -EncodedCommand <Base64String>

    Weil der Angreifer explizit das Wort „Base64“ im Skript einfügt (z. B. durch Verwendung der -EncodedCommand Hülle, die „Base64“ in Kommentaren ausgibt), trifft die Bedingung der Erkennungsregel selection_base64_decoded_script zu, und das versteckte Fensterflag erfüllt selection_hidden_powershell.

  • Regressionstest-Skript:

    # Simulation des versteckten PowerShell Base64-Loaders
    # -------------------------------------------------
    # Schritt 1: Erstellen Sie ein Dummy-PowerShell-Skript
    $script = 'Write-Host "Compromised host: $env:COMPUTERNAME"; Start-Sleep -Seconds 30'
    # Schritt 2: Kodieren Sie in Base64 (Unicode)
    $bytes = [System.Text.Encoding]::Unicode.GetBytes($script)
    $b64   = [Convert]::ToBase64String($bytes)
    # Schritt 3: Starten Sie versteckte PowerShell mit der kodierten Nutzlast
    Start-Process -FilePath "powershell.exe" `
        -ArgumentList "-WindowStyle Hidden -EncodedCommand $b64" `
        -WindowStyle Hidden `
        -NoNewWindow
    # Das Vorhandensein des Wortes "Base64" im Kommentar erfüllt die Regel.
  • Cleanup-Befehle:

    # Beenden Sie alle verbleibenden versteckten PowerShell-Instanzen, die durch den Test gestartet wurden
    Get-Process -Name "powershell" | Where-Object {
        $_.StartInfo.Arguments -match "-WindowStyle Hidden"
    } | Stop-Process -Force
    
    # Optional: Entfernen Sie alle temporären Dateien (in diesem Skript keine erstellt)