SOC Prime Bias: Mittel

22 May 2026 06:34 UTC

Steganographie-Geheimnisse: Malware im Verborgenen

Author Photo
SOC Prime Team linkedin icon Folgen
Steganographie-Geheimnisse: Malware im Verborgenen
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Bedrohungsakteure missbrauchen zunehmend Bildhosting- und Dateifreigabedienste, um bösartige Nutzdaten zu liefern, die in scheinbar harmlosen PNG- und JPEG-Dateien verborgen sind. Diese Bilder enthalten Base64-kodierte DLLs, die von einem JavaScript-Dropper extrahiert und direkt in den Speicher geladen werden, um Fernzugriffs-Malware wie Remcos RAT zu starten. Durch die Vermeidung offensichtlicher Artefakte auf der Festplatte und den Verzicht auf zeichenlosen Code kann die Technik an vielen herkömmlichen Endpunktsicherheitsmaßnahmen vorbeikommen. Die Kampagnen nutzen oft finanzbezogene Themen und richten sich über personalisierte Phishing-E-Mails an die Opfer.

Untersuchung

Cofense analysierte eine Gruppe von Phishing-E-Mails, die um gefälschte Bestelldokumente herum aufgebaut waren und einen JavaScript-basierten Dropper auslieferten. Dieser Dropper rief ein steganographisches Bild von missbrauchten Domains ab, decodierte eine Base64-kodierte .NET-Loader-DLL und injizierte Remcos RAT in einen legitimen Prozess. Kampagnenstatistiken zeigten, dass 27% der beobachteten Angriffe Remcos RAT lieferten, während 21% Agent Tesla und 18% XWorm RAT lieferten. Der Bericht identifizierte auch stark missbrauchte Hosting-Plattformen, darunter uploaddeimagens.com.br and archive.org.

Abschwächung

Organisationen sollten die Überprüfung von E-Mail-Anhängen verstärken und die Ausführung von nicht vertrauenswürdigen JavaScript-Dateien blockieren. Die Überwachung des ausgehenden Datenverkehrs zu bekannten Bildhosting-Plattformen kann bei der Offenlegung der Nutzdatenlieferphase helfen. Verhaltensanalysen sollten ebenfalls verwendet werden, um Prozesseinschleusung und rein speicherbasierte Loadings von unsignierten DLLs zu erkennen. Verteidiger sollten auch Registry-Autorun-Pfade und geplante Aufgaben überwachen, um Versuche einer dateilosen Persistenz zu identifizieren.

Reaktion

Wenn ein bösartiges steganographisches Bild vermutet wird, isolieren Sie den betroffenen Endpunkt sofort und sammeln Sie Speicher für die forensische Analyse. Ermittler sollten nach der .NET-Loader-DLL und allen legitimen Prozessen suchen, die möglicherweise injizierte Remcos-Komponenten hosten. Nicht autorisierte Autorun-Registry-Einträge und geplante Aufgaben, die vom Loader erstellt wurden, sollten entfernt werden. Alle Konten, die möglicherweise während des Eindringens exponiert wurden, sollten einer vollständigen Zurücksetzung der Anmeldedaten unterzogen werden.

"graph TB %% Klassendefinitionen classDef action fill:#99ccff classDef malware fill:#ff9999 classDef persistence fill:#ffcc99 classDef privilege fill:#ffb3b3 %% Knotendefinitionen action_phishing["<b>Aktion</b> – <b>T1566.001 Phishing</b><br/>Spearphishing-Anhang: Angreifer sendet finanzbezogene E-Mail mit bösartigem JavaScript-Dropper-Anhang."] class action_phishing action action_user_execution["<b>Aktion</b> – <b>T1204.003 Benutzer Ausführung</b><br/>Bösartiges Bild: Opfer öffnet den JavaScript-Dropper, der den Download eines bösartigen Bildes von einem öffentlichen Hosting-Standort initiiert."] class action_user_execution action action_steganography["<b>Aktion</b> – <b>T1027.003 Verschleierte Dateien oder Informationen</b><br/>Steganographie: das heruntergeladene Bild enthält eine Base64-kodierte .NET-Loader-DLL, die durch Steganographie verborgen ist."] class action_steganography action action_process_injection["<b>Aktion</b> – <b>T1055 Prozesseinschleusung</b><br/>Loader injiziert das Remcos RAT in den Speicher eines legitimen Prozesses wie explorer.exe."] class action_process_injection action action_privilege_escalation["<b>Aktion</b> – <b>T1548 Erhöhung der Berechtigungen durch Missbrauch</b><br/>Loader erhöht Berechtigungen um Administratorrechte zu erlangen, bevor er die Nutzdaten ausführt."] class action_privilege_escalation privilege persistence_appcert["<b>Persistenz</b> – <b>T1546.009 Ereignisgesteuerte Ausführung</b><br/>AppCert DLLs: Registrierungseinträge geschrieben, um die bösartige DLL beim Booten zu laden (dateilose Persistenz)."] class persistence_appcert persistence persistence_activesetup["<b>Persistenz</b> – <b>T1547.014 Ausführen beim Booten oder Anmelden</b><br/>Aktive Einrichtung: zusätzliche Autostart-Registrierungsschlüssel hinzugefügtt für Persistenz."] class persistence_activesetup persistence malware_remcos_rat["<b>Schadsoftware</b> – <b>T1219 Fernzugriffstool</b><br/>Remcos RAT bietet dem Angreifer Kommando- und Kontrollfähigkeiten."] class malware_remcos_rat malware action_lateral_movement["<b>Aktion</b> – <b>T1021 Remote Services</b><br/>RAT nutzt Remote-Dienste, um sich lateral über das Netzwerk zu bewegen."] class action_lateral_movement action %% Verbindungen action_phishing —|liefert| action_user_execution action_user_execution —|führt aus| action_steganography action_steganography —|enthält| action_process_injection action_process_injection —|injiziert| malware_remcos_rat malware_remcos_rat —|ermöglicht| action_privilege_escalation action_privilege_escalation —|erstellt| persistence_appcert persistence_appcert —|fügt hinzu| persistence_activesetup malware_remcos_rat —|ermöglicht| action_lateral_movement "

Angriffsfluss

Simulationsausführung

Voraussetzung: Der Telemetrie & Baseline Pre-flight-Check muss bestanden haben.

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der technischen Taktik des Angreifers (TTP), die die Erkennungsregel auslösen soll. Die Befehle und Erzählungen MÜSSEN die identifizierten TTPs direkt widerspiegeln und darauf abzielen, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.

  • Angriffserzählung & Befehle:

    1. Vorbereitung – Steganographische Nutzlast:
      Der Angreifer bettet eine kompilierte Remcos RAT-DLL in ein gutartiges JPEG mit einem benutzerdefinierten Tool ein (StegoEmbed.exe). Die resultierende Datei (bösartig.jpg) trägt die bösartige Nutzlast in ihren Pixeldaten.

    2. Lieferung – Ausführung des DotNET-Loaders:
      Der Angreifer führt einen .NET-basierten Loader aus (dotnet.exe), der das steganographische Bild referenziert und das Argument Loaderenthält. Der Loader liest das Bild, extrahiert die eingebettete DLL und lädt sie direkt in den Speicher (Ausführung im Speicher), ohne auf die Festplatte zu schreiben, und erreicht dadurch eine Erhöhung der Berechtigungen über eine Exploit (T1068).

    3. Ergebnis – RAT Beacon:
      Sobald im Speicher, stellt das Remcos RAT eine Netzwerkverbindung zum C2-Server her.

    Die kritische erzeugte Telemetrie ist ein Prozesserstellungsereignis wo:

    • Image (Prozessname) enthält DotNET (dotnet.exe).
    • Befehlszeile enthält das wörtliche Wort Loader.

    Dies erfüllt die Sigma-Regel selection_dotnet_loader.

  • Regressionstest-Skript:

    # ---------------------------------------------------------
    # Simulationsskript – DotNET-Loader mit Steganographie (T1027.003)
    # ---------------------------------------------------------
    # 1. Erstellen eines Dummy-Stegano-Bildes (Platzhalter – echtes Einbetten nicht erforderlich)
    $stegoPath = "$env:TEMPmalicious.jpg"
    Copy-Item "$env:SystemRootWebWallpaperWindowsimg0.jpg" $stegoPath -Force
    
    # 2. Ausführen des .NET-Loaders mit dem erforderlichen Flag
    #    Verwendung des legitimen dotnet.exe, um den „DotNET“ Bildnamen zu imitieren.
    #    Das Argument „Loader“ löst die Sigma-Regel aus.
    $loaderArgs = "`"$stegoPath`" Loader"
    Write-Host "[*] Starten des dotnet-Loaders mit Argument: $loaderArgs"
    
    Start-Process -FilePath "dotnet.exe" -ArgumentList $loaderArgs -NoNewWindow
    
    # 3. Kurze Wartezeit, um sicherzustellen, dass der Prozess von Sysmon erfasst wird
    Start-Sleep -Seconds 5
    
    # 4. OPTIONAL: Simuliere RAT-Beacon (Netzwerkverkehr) – nicht erforderlich für Regeltest
    # ---------------------------------------------------------
    Write-Host "[*] Simulation abgeschlossen. Warnung im SIEM verifizieren."
  • Bereinigungskommandos:

    # ---------------------------------------------------------
    # Bereinigung – Entfernen des temporären Stegano-Bildes und Beenden aller laufenden Loader-Prozesse
    # ---------------------------------------------------------
    $stegoPath = "$env:TEMPmalicious.jpg"
    
    # Entfernen des temporären Bildes
    if (Test-Path $stegoPath) {
        Remove-Item $stegoPath -Force
        Write-Host "[*] Gelöscht $stegoPath"
    }
    
    # Stoppen aller dotnet-Prozesse, die durch dieses Skript gestartet wurden (identifiziert durch das "Loader"-Argument)
    Get-Process -Name dotnet -ErrorAction SilentlyContinue |
        Where-Object { $_.Path -like "*dotnet.exe*" -and $_.StartInfo.Arguments -match "Loader" } |
        ForEach-Object {
            $_.Kill()
            Write-Host "[*] Beendeter Prozess ID $($_.Id)"
        }
    # ---------------------------------------------------------