SOC Prime Bias: Hoch

01 Dez. 2025 17:35

Play Ransomware tarnt sich als SentinelOne in Grixba-Erkundungskampagne

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Play Ransomware tarnt sich als SentinelOne in Grixba-Erkundungskampagne
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Der Bericht beschreibt eine Play-Ransomware-Operation, die auf ein benutzerdefiniertes .NET-Erkundungs-Tool namens Grixba angewiesen ist, das über RDP auf einen Windows-Server bereitgestellt wird. Grixba tarnt sich als SentinelOne ausführbare Datei (GT_NET.exe) und speichert Scan-Ausgaben in ExportData.db. Das Tool kommuniziert mit einer PIA VPN-IP-Adresse und erzeugt ein passwortgeschütztes data.zip -Archiv. Eine frühzeitige Identifizierung dieser Artefakte kann den Angriff stoppen, bevor die Ransomware-Phase eintritt.

Analyse des Play-Ransomware-Angriffs

Field Effect MDR beobachtete, dass die Grixba-Binärdatei in C:UsersPublicMusic zusammen mit data.databgelegt wurde, gefolgt von der Ausführung von GT_NET.exe und der Extraktion des XOR-Schlüssels zur Decodierung von inf_g.dll. Eine weitere Analyse offenlegte Kommandozeilen-Optionen zur Erkundung und Erstellung von ExportData.db, die umfangreiche Systemdetails enthält. Ermittler fanden auch das fest codierte Passwortelement, das zum Entsperren erforderlich ist. data.zip.

Minderung

Empfohlene Maßnahmen umfassen die Aufrechterhaltung zuverlässiger Backups, das zeitnahe Patchen von Software, die Verwendung von DNS-Firewalls, die Durchsetzung sicherer VPN-Nutzung, die Anwendung von MFA und die Nutzung von MDR/XDR-Plattformen, um Erkundungsaktivitäten frühzeitig zu erkennen. Teams sollten kontinuierlich nach den typischen Artefakten und Ausführungsverhalten von Grixba suchen.

Antwort

Wenn GT_NET.exe, data.dat, inf_g.dll oder ExportData.db erkannt werden, sollten Einsatzkräfte den Endpunkt isolieren, flüchtige Beweise sichern, das ZIP-Passwort aus dem eingebetteten Wert ableiten und nach seitlichen Bewegungen oder Vorbereitungsschritten für Ransomware suchen. Vorfallbearbeiter sollten auch die zugehörige IP-Adresse blockieren und die RDP-Zugriffsprotokolle genau überprüfen.

graph TB %% Class Definitions classDef action fill:#99ccff classDef malware fill:#ff9999 classDef data fill:#ccffcc %% Nodes initial_access[„<b>Action</b> – <b>T1021.001 Remote Services: RDP</b><br/>Der Angreifer nutzt RDP für den initialen Zugriff und legt <b>GT_NET.exe</b> sowie <b>data.dat</b> unter C:\\Users\\Public\\Music ab.“] class initial_access action tool_gt_net[„<b>Malware</b> – <b>Name</b>: GT_NET.exe<br/><b>Description</b>: Benutzerdefinierte .NET-Nutzlast, die während der RDP-Sitzung abgelegt wird.“] class tool_gt_net malware execution_obfusc[„<b>Action</b> – <b>T1027.007 Dynamic API Resolution</b><br/>Verschleiertes .NET-Tool verwendet Base64- und XOR-Kodierung, um Funktionalität zu verbergen.“] class execution_obfusc action discovery[„<b>Action</b> – <b>T1016 System Network Configuration Discovery</b>, <b>T1018 Remote System Discovery</b>, <b>T1595.001 Active Scanning: Scanning IP Block</b><br/>Grixba scannt das interne Netzwerk und enumeriert Hosts, Software sowie laufende Prozesse.“] class discovery action collection[„<b>Action</b> – <b>T1560.001 Archive Collected Data: Archive via Utility</b><br/>Gesammelte Ergebnisse werden in ExportData.db geschrieben und anschließend in eine passwortgeschützte data.zip komprimiert.“] class collection action credential_extraction[„<b>Action</b> – <b>T1140 Deobfuscate/Decode Files or Information</b><br/>Der XOR-Schlüssel wird dekodiert, um data.dat zu entschlüsseln und das ZIP-Passwort zu erzeugen.“] class credential_extraction action preparation[„<b>Action</b> – Vorbereitung der nächsten Phase<br/>Gewonnene Informationen werden für Privilegieneskalation und die Ausnutzung von Schwachstellen genutzt.“] class preparation action %% Connections initial_access –>|legt ab| tool_gt_net tool_gt_net –>|führt aus| execution_obfusc execution_obfusc –>|führt aus| discovery discovery –>|führt zu| collection collection –>|erzeugt| credential_extraction credential_extraction –>|ermöglicht| preparation

Angriffsverlauf

Simulation Ausführung

Voraussetzung: Der Telemetrie- & Basislinientest vor dem Start muss bestanden sein.

Begründung: Dieser Abschnitt beschreibt die genaue Ausführung der Gegnertechnik (TTP), die das Erkennungsskript auslösen soll. Die Kommandos 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. Abstrakte oder nicht verwandte Beispiele führen zu Fehldiagnosen.

  • Angriffserzählung & Befehle:

    Der Angreifer hat anfänglich Zugriff auf einen kompromittierten Arbeitsplatz erlangt. Um das interne Netzwerk vor seitlichen Bewegungen zu kartieren, lädt er das Grixba-Erkundungs-Binärprogramm (GT_NET.exe) vom Kommando-und-Kontroll-Server herunter und führt es mit den Argumentensätzen aus, die das Sigma-Regelziel anvisiert. Das gewählte Argument-m:scanall -i:derzwingt eine vollständige Entdeckung von domänenverbundenen Hosts, während-i:rund-i:fjeweils entfernte Shares und Dateispeicher auflisten. Diese Argumente sind typisch für die Standardnutzlast des Tools und erzeugen eindeutige Kommandozeilen-Strings, nach denen die Erkennungsregel sucht.

    Schritte:

    1. Laden Sie das Tool herunter (simuliert mit einer Kopie aus einem Testordner).
    2. Führen Sie die Binärdatei mit jedem Ziel-Argumenten-Satz ausum sicherzustellen, dass die Regel in jedem Fall auslöst.
    3. Lassen Sie den Prozess für kurze Zeit laufendamit das SIEM das Ereignis erfassen kann.
  • Regressionstest-Skript:

    # Regressionstest-Skript – Ausführung des Grixba-Erkundungstools
    # ----------------------------------------------------
    # Annahmen:
    #   • GT_NET.exe befindet sich in C:TempGT_NET.exe (ersetzten mit tatsächlichem Pfad)
    #   • Mit ausreichenden Privilegien zur Ausführung des Binärprogramms
    # ----------------------------------------------------
    
    $exePath = "C:TempGT_NET.exe"
    
    if (-Not (Test-Path $exePath)) {
        Write-Error "GT_NET.exe nicht gefunden bei $exePath. Abbruch."
        exit 1
    }
    
    # 1. Ausführen mit -m:scanall -i:d
    Write-Host "`n[+] Starten von GT_NET.exe mit '-m:scanall -i:d' ..."
    Start-Process -FilePath $exePath -ArgumentList "-m:scanall -i:d" -WindowStyle Hidden -PassThru | Out-Null
    Start-Sleep -Seconds 5
    
    # 2. Ausführen mit -i:r
    Write-Host "`n[+] Starten von GT_NET.exe mit '-i:r' ..."
    Start-Process -FilePath $exePath -ArgumentList "-i:r" -WindowStyle Hidden -PassThru | Out-Null
    Start-Sleep -Seconds 5
    
    # 3. Ausführen mit -i:f
    Write-Host "`n[+] Starten von GT_NET.exe mit '-i:f' ..."
    Start-Process -FilePath $exePath -ArgumentList "-i:f" -WindowStyle Hidden -PassThru | Out-Null
    Start-Sleep -Seconds 5
    
    Write-Host "`n[+] Ausführung abgeschlossen. Überprüfen Sie die Erkennung in SIEM."
  • Bereinigung Befehle:

    # Bereinigung – Beenden Sie alle verbleibenden GT_NET.exe-Prozesse und entfernen Sie das Binärprogramm
    Get-Process -Name "GT_NET" -ErrorAction SilentlyContinue | Stop-Process -Force
    
    $exePath = "C:TempGT_NET.exe"
    if (Test-Path $exePath) {
        Remove-Item $exePath -Force
        Write-Host "[+] GT_NET.exe entfernt."
    } else {
        Write-Host "[*] GT_NET.exe nicht vorhanden; nichts zu löschen."
    }