SOC Prime Bias: Kritisch

18 Jun 2026 14:32 UTC

ESET-Forschung: Fischhändler-Arsenal aufgerüstet: SprySOCKS für Windows

Author Photo
SOC Prime Team linkedin icon Folgen
ESET-Forschung: Fischhändler-Arsenal aufgerüstet: SprySOCKS für Windows
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

ESET-Forscher haben zwei neue Windows-Varianten des SprySOCKS-Backdoors entdeckt, genannt WIN_DRV und WIN_PLUS, die mit der Bedrohungsgruppe FishMonger verbunden sind. Die WIN_DRV-Version verwendet einen Kernel-Treiber, um verbesserte Tarnung zu erreichen, einschließlich der Fähigkeit, Netzwerkverbindungen, Prozesse und Dateien zu verbergen. Beide Varianten unterstützen mehrere Kommunikationsprotokolle und bieten eine breite Palette von Befehlen für die Systemsteuerung und den Datendiebstahl.

Untersuchung

Die Untersuchung stützte sich auf Malware-Beispiele, die über VirusTotal und ESET-Telemetrie entdeckt wurden, und deckte Aktivitäten von 2023 bis 2024 auf. Forscher analysierten die gesamten Ausführungsketten, einschließlich DLL-Sideloading, Kernel-Treiber-Laden über DriverLoader und RawWNPF, und Prozessinjektion mittels Doppelgänging-Techniken. Die Studie deckte auch Befehls- und Steuerungskommunikationsmuster sowie festcodierte Verschlüsselungsschlüssel auf, die in mehreren Komponenten gemeinsam genutzt werden.

Minderung

Organisationen sollten Priorität auf die Behebung von anfälligen Internetanwendungen legen, um das Risiko einer anfänglichen Kompromittierung über N-Day-Schwachstellen zu verringern. Eine starke Erzwingung der Treibersignatur und die Überwachung unbefugter Kernel-Treiber-Installationen sind entscheidend. Verteidiger sollten auch verdächtige geplante Aufgaben, Änderungen in der Registrierung unter Image File Execution Options und ungewöhnliche Druckprozessorregistrierungen überwachen.

Reaktion

Wenn diese Bedrohungen erkannt werden, sollten die betroffenen Systeme sofort isoliert werden, um weitere seitliche Bewegungen oder Datendiebstahl zu stoppen. Ermittler sollten eine detaillierte forensische Überprüfung durchführen, um den ursprünglichen Eindringungsvektor und das gesamte Ausmaß der Kompromittierung festzustellen, mit besonderem Augenmerk auf die Kernel-Ebene Beständigkeit. Netzwerkprotokolle sollten auch auf Kommunikation mit bekannten Command-and-Control-Infrastrukturen überprüft werden, während Systemänderungen wie neue Dienste oder geänderte Registrierungsschlüssel überprüft werden sollten.

Angriffsfluss

## Simulation Ausführung

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

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Angreifertechnik (TTP), die entworfen wurde, um die Erkennungsregel auszulösen. Die Befehle und Erzählungen MÜSSEN direkt die identifizierten TTPs widerspiegeln und darauf abzielen, genau die Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.

  • Angreifernarrativ & Befehle: Der Angreifer hat erfolgreich den SprySOCKS-Backdoor auf einem kompromittierten Windows-Host bereitgestellt. Um einen Befehls- und Kontrollkanal zu etablieren, öffnet die Malware einen lausenden Socket auf Port 53781. Damit die Kommunikation von ihrem benutzerdefinierten C2-Server erkannt wird, injiziert die Malware den magischen Hex-Wert 0xACACBCBC in die initialen Handshake-Pakete. Dies ahmt das spezifische Protokollverhalten der FishMonger-Gruppe nach, um eine zuverlässige Kommunikation durch abgefangenen oder umgelenkten Verkehr zu ermöglichen.

  • Regressionstest-Skript:

    # Simulationsskript: SprySOCKS Netzwerkartefakt-Generierung
    # Dieses Skript ahmt das Netzwerkverhalten des SprySOCKS-Backdoors nach.
    
    $TargetPort = 53781
    $MagicValue = [byte[]] @(0xAC, 0xAC, 0xBC, 0xBC)
    $Listener = [System.Net.Sockets.TcpListener]$TargetPort
    
    try {
        Write-Host "[+] Starte Listener auf Port $TargetPort..." -ForegroundColor Cyan
        $Listener.Start()
        $Client = $Listener.AcceptTcpClient()
        $Stream = $Client.GetStream()
    
        Write-Host "[+] Verbindung hergestellt. Sende magischen Wert $MagicValue..." -ForegroundColor Yellow
        # Einfügen des magischen Werts in den Stream, um 'selection1'-Logik auszulösen
        $Stream.Write($MagicValue, 0, $MagicValue.Length)
    
        Start-Sleep -Seconds 5
    }
    catch {
        Write-Error "[-] Simulation fehlgeschlagen: $($_.Exception.Message)"
    }
    finally {
        Write-Host "[+] Bereinigen von Verbindungen..." -ForegroundColor Cyan
        $Stream.Close()
        $Client.Close()
        $Listener.Stop()
    }
  • Bereinigungskommandos:

    # Stellen Sie sicher, dass keine schädlichen Listener aktiv bleiben
    Get-NetTCPConnection -LocalPort 53781 -ErrorAction SilentlyContinue | Remove-NetTCPConnection
    Write-Host "[+] Bereinigung abgeschlossen." -ForegroundColor Green