SOC Prime Bias: Moyen

27 Apr 2026 15:22 UTC

RAT Telegram basé sur Rebex ciblant le Vietnam

Author Photo
SOC Prime Team linkedin icon Suivre
RAT Telegram basé sur Rebex ciblant le Vietnam
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Un fichier CHM malveillant livré dans une archive ZIP déploie un exécutable Python véreux ainsi qu’un DLL C++ qui déchiffre une charge utile intégrée. Cette charge établit une persistance via un détournement de la shell Winlogon, une tâche planifiée et l’abus de MSBuild, puis lance un RAT Telegram basé sur .NET. Le malware communique avec un bot Telegram à l’aide d’un jeton codé en dur et supporte l’exécution de commandes, le remplacement de jeton et le téléchargement de fichiers. La campagne a été observée ciblant des victimes au Vietnam sans détections actuelles sur VirusTotal.

Enquête

L’analyse du fichier CHM a révélé un script qui a décompilé l’archive, effacé PYTHONHOME, et lancé un exécutable Python renommé avec un fichier de bytecode compilé. Le bytecode a ensuite chargé un DLL qui a déchiffré un blob DOCX crypté, extrait des composants supplémentaires et les a écrits dans des emplacements temporaires. Le DLL a créé des entrées dans le registre, planifié une tâche nommée Doute, et exécuté un MSBuild fichier XML pour charger un second DLL, qui a finalement déployé le RAT Telegram .NET. Le RAT reposait sur des identifiants de bot Telegram codés en dur pour le commandement et le contrôle.

Atténuation

Les défenseurs doivent bloquer l’exécution de fichiers CHM provenant de sources non fiables et restreindre l’utilisation de hh.exe, msbuild.exe, et PowerShell pour les scripts non signés ou suspects. La surveillance devrait se concentrer sur les modifications du registre Shell de Winlogon, la création de tâches planifiées inhabituelles, et les nouveaux DLL déposés dans les répertoires temporaires. Les organisations devraient également examiner le trafic API Telegram via les contrôles de proxy et appliquer un accès de moindre privilège pour les utilisateurs finaux.

Réponse

Et la tâche planifiée doivent être supprimées, les fichiers déposés effacés, et les paramètres du registre modifiés rétablis à un état sain connu. Tout jeton de bot Telegram exposé doit être immédiatement remplacé, et les défenseurs doivent continuer à surveiller toute activité supplémentaire de commandement et de contrôle. Une enquête judiciaire complète est recommandée pour déterminer si des données ont été exfiltrées. Les équipes de sécurité doivent identifier et isoler les hôtes affectés, collecter les preuves volatiles, extraire les DLLs et scripts malveillants pour analyse. La valeur de modifications du registre Shell Winlogon

Flux d’attaque

Exécution de simulation

Prérequis : Le Check pré-vol du télémetrie & baseline doit avoir été réussi.

Justification : Cette section détaille l’exécution précise de la technique de l’adversaire (TTP) conçue pour déclencher la règle de détection. Les commandes et le récit reflètent directement les TTPs identifiés et visent à générer la télémetrie exacte attendue par la logique de détection.

  • Narratif d’attaque & Commandes

    1. Livraison : L’attaquant livre un fichier .chm (nommé UpdateHelp.chm) au destinataire.

    2. Décompilation : La victime (ou un script malveillant) exécute hh.exe avec le -decompile flag pour extraire la charge intégrée :

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

      Cela génère l’événement de création de processus que la règle surveille (hh.exe + -decompile).

    3. Exécution de charge utile – Interprète renommé : Parmi les fichiers extraits se trouve un interprète Python renommé (_pJifgWSwPi.exe). L’attaquant le lance via cmd.exe pour rester discret :

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

      Cela remplit la cmd.exe condition de la règle.

    4. Proxy de binaire signé – Msbuild : La charge utile Python écrit un fichier .proj malveillant, puis invoque msbuild.exe pour l’exécuter, atteignant la persistance ou l’exécution de code ultérieure :

      msbuild.exe C:TempPayloadsmalicious.proj /target:Build
  • Script de test de régression

    #=============================================================
    # Simulation d'attaque basée sur CHM – Déclenche la règle Sigma
    #=============================================================
    
    # Variables
    $chmPath   = "C:UsersPublicUpdateHelp.chm"
    $outFolder = "C:TempPayloads"
    $renamedPy = "_pJifgWSwPi.exe"
    $projFile  = "malicious.proj"
    
    # 1. Assurez-vous que le dossier de sortie existe
    New-Item -ItemType Directory -Force -Path $outFolder | Out-Null
    
    # 2. Simulez la décompilation du fichier CHM
    Write-Host "[*] Décompilation du CHM..."
    hh.exe -decompile $outFolder $chmPath
    
    # 3. Placez une copie de python.exe (ou toute exe bénigne) en tant qu'interprète renommé
    Copy-Item -Path "$env:SystemRootSystem32WindowsPowerShellv1.0powershell.exe" `
              -Destination "$outFolder$renamedPy" -Force
    
    # 4. Exécutez l'interprète renommé via cmd.exe
    Write-Host "[*] Lancement de l'interprète renommé via cmd.exe..."
    cmd.exe /c "`"$outFolder$renamedPy`" -c `"Write-Host 'Exécution simulée de charge'`""
    
    # 5. Créez un projet msbuild trivial qui affiche un message
    $projContent = @"
    <Project ToolsVersion='4.0' xmlns='http://schemas.microsoft.com/developer/msbuild/2003'>
      <Target Name='Build'>
        <Message Text='Msbuild a exécuté le projet malveillant' Importance='High'/>
      </Target>
    </Project>
    "@
    Set-Content -Path "$outFolder$projFile" -Value $projContent -Encoding ASCII
    
    # 6. Exécutez msbuild.exe sur le projet malveillant
    Write-Host "[*] Exécution de msbuild.exe..."
    msbuild.exe "$outFolder$projFile" /target:Build
    
    Write-Host "[+] Simulation terminée."
  • Commandes de nettoyage

    # Arrêtez tous les processus restants (s'il en existe encore)
    Get-Process -Name "_pJifgWSwPi","hh","msbuild","cmd" -ErrorAction SilentlyContinue |
      Stop-Process -Force
    
    # Supprimez les fichiers et dossiers générés
    Remove-Item -Recurse -Force -Path "C:TempPayloads"
    # Supprimez éventuellement le fichier CHM s'il a été créé pour le test
    Remove-Item -Force -Path "C:UsersPublicUpdateHelp.chm" -ErrorAction SilentlyContinue
    
    Write-Host "[+] Nettoyage terminé."