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

graph TB %% Class Definitions classDef technique fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ffeb99 classDef operator fill:#ff9900 %% Nodes initial_access[« <b>Technique</b> – <b>T1204.001 Exécution utilisateur : lien malveillant</b><br/><b>Description</b> : Les victimes cliquent sur un lien malveillant. »] class initial_access technique delivery_html_smuggling[« <b>Technique</b> – <b>T1027.006 Fichiers ou informations obfusqués : HTML Smuggling</b><br/><b>Description</b> : JavaScript malveillant caché dans une page web. »] class delivery_html_smuggling technique delivery_compile_after[« <b>Technique</b> – <b>T1027.004 Compilation après livraison</b><br/><b>Description</b> : Charge utile assemblée après livraison. »] class delivery_compile_after technique delivery_embedded_payloads[« <b>Technique</b> – <b>T1027.009 Charges utiles intégrées</b><br/><b>Description</b> : Charge cachée dans d’autres fichiers. »] class delivery_embedded_payloads technique delivery_deobfuscate[« <b>Technique</b> – <b>T1140 Déobfuscation / décodage</b><br/><b>Description</b> : Décodage Base64 dans le navigateur. »] class delivery_deobfuscate technique persistence_run_key[« <b>Technique</b> – <b>T1127.002 Exécution proxy outils développeur</b> »] class persistence_run_key technique persistence_appcert[« <b>Technique</b> – <b>T1546.009 DLL AppCert</b> »] class persistence_appcert technique recon_hardware[« <b>Technique</b> – Collecte d’informations matériel »] class recon_hardware technique recon_firmware[« <b>Technique</b> – Collecte d’informations firmware »] class recon_firmware technique c2_web_protocols[« <b>Technique</b> – Protocole web C2 »] class c2_web_protocols technique c2_bidirectional[« <b>Technique</b> – Communication bidirectionnelle »] class c2_bidirectional technique c2_oneway[« <b>Technique</b> – Communication unidirectionnelle »] class c2_oneway technique c2_encrypted[« <b>Technique</b> – Canal chiffré »] class c2_encrypted technique c2_data_encoding[« <b>Technique</b> – Encodage des données »] class c2_data_encoding technique c2_config_repo[« <b>Technique</b> – Dépôt de configuration »] class c2_config_repo technique asset_drain[« <b>Technique</b> – Approvisionnement de tokens »] class asset_drain technique %% Tools / Processes tool_malicious_link[« <b>Outil</b> : Lien de phishing »] class tool_malicious_link tool tool_js_payload[« <b>Outil</b> : Payload JavaScript obfusqué »] class tool_js_payload tool process_installer[« <b>Processus</b> : Installateur Windows »] class process_installer process tool_node_exe[« <b>Outil</b> : node.exe »] class tool_node_exe tool tool_web3modal[« <b>Outil</b> : UI Web3Modal »] class tool_web3modal tool %% Connections unchanged initial_access –>|leads_to| delivery_html_smuggling delivery_html_smuggling –>|uses| tool_malicious_link delivery_html_smuggling –>|uses| tool_js_payload delivery_html_smuggling –>|enables| delivery_compile_after delivery_compile_after –>|enables| delivery_embedded_payloads delivery_embedded_payloads –>|triggers| delivery_deobfuscate delivery_deobfuscate –>|creates| process_installer process_installer –>|drops| persistence_run_key process_installer –>|may_use| persistence_appcert persistence_run_key –>|executes| tool_node_exe persistence_appcert –>|loads| tool_node_exe tool_node_exe –>|collects| recon_hardware tool_node_exe –>|collects| recon_firmware recon_hardware –>|feeds| c2_web_protocols recon_firmware –>|feeds| c2_web_protocols c2_web_protocols –>|supports| c2_bidirectional c2_web_protocols –>|supports| c2_oneway c2_bidirectional –>|uses| c2_encrypted c2_oneway –>|uses| c2_encrypted c2_encrypted –>|encodes| c2_data_encoding c2_data_encoding –>|stores_config_in| c2_config_repo c2_config_repo –>|provides| asset_drain asset_drain –>|uses| tool_web3modal

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é."