SOC Prime Bias: Mittel

27 Apr 2026 15:22 UTC

Rebex-basierte Telegram RAT zielt auf Vietnam ab

Author Photo
SOC Prime Team linkedin icon Folgen
Rebex-basierte Telegram RAT zielt auf Vietnam ab
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Zusammenfassung

Eine bösartige CHM-Datei, die innerhalb eines ZIP-Archivs geliefert wird, bringt eine betrügerische Python-Laufzeitumgebung zusammen mit einer C++-DLL, die eine eingebettete Nutzlast entschlüsselt. Diese Nutzlast etabliert Persistenz durch eine Winlogon-Shell-Übernahme, eine geplante Aufgabe und den Missbrauch von MSBuild, dann startet sie einen .NET-basierten Telegram-RAT. Die Malware kommuniziert mit einem Telegram-Bot unter Verwendung eines fest codierten Tokens und unterstützt die Ausführung von Befehlen, den Austausch von Tokens und das Herunterladen von Dateien. Die Kampagne wurde beobachtet, wie sie Opfer in Vietnam ins Visier nimmt, und zeigt derzeit keine Erkennungen auf VirusTotal.

Untersuchung

Die Analyse der CHM-Datei enthüllte ein Skript, das das Archiv dekompilierte, PYTHONHOMElöschte und ein umbenanntes Python-Executable mit einer kompilierten Bytecode-Datei startete. Der Bytecode lud dann eine DLL, die einen verschlüsselten DOCX-Blob entschlüsselte, zusätzliche Komponenten extrahierte und sie an temporäre Orte schrieb. Die DLL erstellte Registrierungseinträge, plante eine Aufgabe namens Doubtund führte eine MSBuild XML-Datei aus, um eine zweite DLL zu laden, die letztendlich den .NET Telegram RAT bereitstellte. Der RAT verließ sich auf hart codierte Telegram-Bot-Anmeldedaten für die Kommando- und Kontrollfunktion.

Minderung

Verteidiger sollten die Ausführung von CHM-Dateien aus unzuverlässigen Quellen blockieren und die Verwendung von hh.exe, msbuild.exeund PowerShell für nicht signierte oder verdächtige Skripte einschränken. Das Monitoring sollte sich auf Winlogon Shell Registrierungsänderungen, ungewöhnliche Erstellung von geplanten Aufgaben und neu abgelegte DLLs in temporären Verzeichnissen konzentrieren. Organisationen sollten auch den Telegram-API-Verkehr über Proxy-Kontrollen inspizieren und den Zugriff mit minimalen Rechten für Endnutzer durchsetzen.

Antwort

Sicherheitsteams sollten betroffene Hosts identifizieren und isolieren, flüchtige Beweise sammeln sowie die bösartigen DLLs und Skripte zur Analyse extrahieren. Der Winlogon Shell Wert und die geplante Aufgabe sollten entfernt, abgelegte Dateien gelöscht und geänderte Registrierungseinstellungen auf einen bekannten, guten Zustand zurückgesetzt werden. Alle offengelegten Telegram-Bot-Tokens sollten sofort ersetzt werden, und Verteidiger sollten weiterhin auf zusätzliche Kommando- und Kontrollaktivitäten überwachen. Eine vollständige forensische Untersuchung wird empfohlen, um festzustellen, ob Daten exfiltriert wurden.

Angriffsfluss

Simulationsausführung

Voraussetzung: Die Telemetrie- & Basislinien-Vorabprüfung muss bestanden haben.

Rationale: Dieser Abschnitt beschreibt die präzise Ausführung der Angreifertechnik (TTP), die darauf abzielt, die Erkennungsregel auszulösen. Die Befehle und die Erzählung spiegeln direkt die identifizierten TTPs wider und zielen darauf ab, die genaue Telemetrie zu erzeugen, die von der Erkennungslogik erwartet wird.

  • Angriffserzählung & Befehle

    1. Zustellung: Der Angreifer liefert eine bösartige .chm Datei (benannt UpdateHelp.chm) an das Opfer.

    2. Dekomprimierung: Das Opfer (oder ein bösartiges Skript) führt hh.exe mit dem -decompile Flag aus, um die eingebettete Nutzlast zu extrahieren:

      hh.exe -decompile C:TempPayloads C:UsersPublicUpdateHelp.chm

      Dies erzeugt das Ereignis der Prozesserstellung auf das die Regel achtet (hh.exe + -decompile).

    3. Nutzlastausführung – Umbenannter Interpreter: In den extrahierten Dateien befindet sich ein umbenannter Python-Interpreter (_pJifgWSwPi.exe). Der Angreifer startet ihn über cmd.exe um unauffällig zu bleiben:

      cmd.exe /c "C:TempPayloads_pJifgWSwPi.exe -c "import os; os.system('whoami')""

      Dies erfüllt die cmd.exe Bedingung der Regel.

    4. Signierte-Binary-Proxy – Msbuild: Die Python-Nutzlast schreibt eine bösartige .proj Datei und ruft dann msbuild.exe auf, um sie auszuführen und Persistenz oder weitere Codeausführung zu erreichen:

      msbuild.exe C:TempPayloadsmalicious.proj /target:Build
  • Regressionstestskript

    #=============================================================
    # CHM-basierte Angriffssimulation – Löst Sigma-Regel aus
    #=============================================================
    
    # Variablen
    $chmPath   = "C:UsersPublicUpdateHelp.chm"
    $outFolder = "C:TempPayloads"
    $renamedPy = "_pJifgWSwPi.exe"
    $projFile  = "malicious.proj"
    
    # 1. Sicherstellen, dass der Ausgabeordner existiert
    New-Item -ItemType Directory -Force -Path $outFolder | Out-Null
    
    # 2. Simulation der Dekomprimierung der CHM-Datei
    Write-Host "[*] Dekomprimierung CHM..."
    hh.exe -decompile $outFolder $chmPath
    
    # 3. Eine Kopie von python.exe (oder einer beliebigen harmlosen exe) als umbenannten Interpreter platzieren
    Copy-Item -Path "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" `
              -Destination "$outFolder$renamedPy" -Force
    
    # 4. Den umbenannten Interpreter über cmd.exe ausführen
    Write-Host "[*] Umbenannten Interpreter über cmd.exe starten..."
    cmd.exe /c "`"$outFolder$renamedPy`" -c `"Write-Host 'Simulierte Nutzlast ausgeführt'`""
    
    # 5. Ein triviales msbuild-Projekt erstellen, das eine Nachricht ausgibt
    $projContent = @"
    <Project ToolsVersion='4.0' xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
      <Target Name='Build'>
        <Message Text='Msbuild hat bösartiges Projekt ausgeführt' Importance='High'/>
      </Target>
    </Project>
    "@
    Set-Content -Path "$outFolder$projFile" -Value $projContent -Encoding ASCII
    
    # 6. Msbuild.exe auf dem bösartigen Projekt ausführen
    Write-Host "[*] Msbuild.exe ausführen..."
    msbuild.exe "$outFolder$projFile" /target:Build
    
    Write-Host "[+] Simulation abgeschlossen."
  • Bereinigungsbefehle

    # Stoppen aller verbleibenden Prozesse (falls noch laufend)
    Get-Process -Name "_pJifgWSwPi","hh","msbuild","cmd" -ErrorAction SilentlyContinue |
      Stop-Process -Force
    
    # Entfernen der generierten Dateien und Ordner
    Remove-Item -Recurse -Force -Path "C:TempPayloads"
    # Optional kann die CHM-Datei gelöscht werden, wenn sie für den Test erstellt wurde
    Remove-Item -Force -Path "C:UsersPublicUpdateHelp.chm" -ErrorAction SilentlyContinue
    
    Write-Host "[+] Bereinigung abgeschlossen."