SOC Prime Bias: Élevé

03 Déc 2025 19:02

Matanbuchus 3.0 : Analyse Technique

Author Photo
Ruslan Mikhalov Chief of Threat Research at SOC Prime linkedin icon Follow
Matanbuchus 3.0 : Analyse Technique
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Matanbuchus est un téléchargeur malveillant basé sur C++ qui est distribué sous forme de Malware‑as‑a‑Service (MaaS) depuis 2020. La version 3.0, observée en juillet 2025, introduit la sérialisation basée sur Protobuf, le chiffrement ChaCha20, et plusieurs nouvelles techniques anti-analyse. Le malware se compose d’un module téléchargeur qui récupère un module principal de porte dérobée depuis son serveur C2, puis gère la persistance, l’exécution de commandes, et la livraison de charges utiles de suivi. Il a été lié à des incidents de ransomware et à des campagnes distribuant le voleur d’informations Rhadamanthys et NetSupport RAT.

Analyse de Matanbuchus 3.0

L’analyse décrit deux composants, un téléchargeur et un module principal, et passe en revue la chaîne d’infection initiale utilisant QuickAssist, un MSI malveillant hébergé sur gpa-cro.com, et une DLL chargée frauduleusement se faisant passer pour HRUpdate.exe. Le téléchargeur contacte mechiraz.com pour obtenir le module principal, qui s’enregistre alors auprès du C2, crée une tâche planifiée nommée Update Tracker Task, et définit un mutex par hôte. Le trafic C2 s’écoule sur HTTPS en utilisant des messages Protobuf chiffrés sécurisés avec des clés et des nonces ChaCha20.

Atténuation

Les mesures défensives incluent le blocage des domaines malveillants gpa-cro.com et mechiraz.com à la périphérie du réseau, la surveillance de la création de la tâche Update Tracker Task et de la clé de registre HKCU associée, et l’application du whitelisting d’applications pour arrêter l’exécution de packages MSI et de DLL chargées latéralement non fiables. Les équipes de sécurité devraient détecter le trafic typiquement chiffré par ChaCha20 et restreindre l’utilisation des utilitaires Windows tels que msiexec pour les fichiers non signés ou non vérifiés.

Réponse

Lorsqu’une activité de Matanbuchus est détectée, isolez le système impacté, capturez la définition de la tâche planifiée, l’entrée de registre, la valeur du mutex, et toutes les charges utiles récupérées, puis supprimez les binaires et tâches malveillants. Effectuez des analyses médico-légales complètes sur les points de terminaison pour découvrir les charges utiles de deuxième étape et toutes les données exfiltrées, puis réinitialisez les identifiants exposés et remédiez aux comptes Active Directory affectés.

mermaid graph TB %% Section des Définitions de Classe classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef process fill:#ccffcc classDef operator fill:#ff9900 %% Nœuds – Techniques, Outils, Processus init_remote_access[« <b>Technique</b> – <b>T1219 Outils de Contrôle à Distance</b><br />Utilisé QuickAssist pour obtenir un point d’appui. »] tool_quickassist[« <b>Outil</b> – <b>Nom</b>: QuickAssist<br /><b>Description</b>: Utilitaire d’assistance à distance Windows »] execution_user_exec[« <b>Technique</b> – <b>T1204.002 Exécution de l’Utilisateur</b><br />MSI malveillant téléchargé via ligne de commande »] process_msi[« <b>Processus</b> – <b>Nom</b>: Malicious.msi<br /><b>Description</b>: Charge utile délivrée »] tool_cmdshell[« <b>Outil</b> – <b>Nom</b>: Windows Command Shell<br /><b>ID Technique</b>: T1059.003 »] process_hrupdate[« <b>Processus</b> – <b>Nom</b>: HRUpdate.exe<br /><b>Description</b>: Exécuté par cmd »] tool_msiexec[« <b>Outil</b> – <b>Nom</b>: Msiexec<br /><b>ID Technique</b>: T1218.007<br />Utilisé pour le chargement de DLL frauduleux »] process_maliciousdll[« <b>Processus</b> – <b>Nom</b>: DLL Malveillante<br /><b>Description</b>: Chargée via msiexec »] persistence_schtask[« <b>Technique</b> – <b>T1053 Tâche/Job Planifié(e)</b><br />Crée une tâche pour exécuter msiexec au redémarrage »] discovery_systeminfo[« <b>Technique</b> – <b>T1082 Découverte d’Informations Système</b><br />Collecte nom de l’hôte, OS, etc. »] discovery_identity[« <b>Technique</b> – <b>T1589 Collecte d’Informations d’Identité de la Victime</b><br />Collecte détails utilisateur et domaine »] discovery_network[« <b>Technique</b> – <b>T1590.001 Propriétés de Domaine</b><br />Collecte info de domaine et de produit de sécurité »] defense_obfuscation[« <b>Technique</b> – <b>T1027 Fichiers ou Informations Obscurcis</b><br />Résolution API Dynamique et Code Brouillon »] defense_deobfuscate[« <b>Technique</b> – <b>T1140 Dé-obfuscation/Décodage de Fichiers ou Informations</b> »] defense_virustime[« <b>Technique</b> – <b>T1497.003 Evasion Basée sur le Temps</b> »] defense_useractivity[« <b>Technique</b> – <b>T1497.002 Contrôles Basés sur l’Activité Utilisateur</b> »] c2_webservice[« <b>Technique</b> – <b>T1102.002 Communication Bidirectionnelle Service Web</b><br />HTTPS avec Protobuf chiffré »] c2_appprotocol[« <b>Technique</b> – <b>T1071 Protocole de Couches d’Application</b><br />Utilise HTTP/HTTPS »] payload_powershell[« <b>Technique</b> – <b>T1059.001 PowerShell</b><br />Exécute charges utiles téléchargées »] payload_cmdshell[« <b>Technique</b> – <b>T1059.003 Windows Command Shell</b><br />Exécute EXE DLL MSI »] process_injection[« <b>Technique</b> – <b>T1055.001 Injection de DLL</b><br />Injecte via pipelines nommés »] tool_wmi[« <b>Outil</b> – <b>Nom</b>: Gestion à Distance Windows (WMI)<br /><b>ID Technique</b>: T1021.006 »] %% Affectations de Classe class init_remote_access action class tool_quickassist tool class execution_user_exec action class process_msi process class tool_cmdshell tool class process_hrupdate process class tool_msiexec tool class process_maliciousdll process class persistence_schtask action class discovery_systeminfo action class discovery_identity action class discovery_network action class defense_obfuscation action class defense_deobfuscate action class defense_virustime action class defense_useractivity action class c2_webservice action class c2_appprotocol action class payload_powershell action class payload_cmdshell action class process_injection action class tool_wmi tool %% Connexions – Flux d’Attaque init_remote_access u002du002d>|utilise| tool_quickassist tool_quickassist u002du002d>|active| execution_user_exec execution_user_exec u002du002d>|télécharge| process_msi process_msi u002du002d>|exécuté par| tool_cmdshell tool_cmdshell u002du002d>|exécute| process_hrupdate process_hrupdate u002du002d>|lance| tool_msiexec tool_msiexec u002du002d>|charge| process_maliciousdll process_maliciousdll u002du002d>|crée| persistence_schtask persistence_schtask u002du002d>|exécute au redémarrage| tool_msiexec persistence_schtask u002du002d>|exécute| process_maliciousdll init_remote_access u002du002d>|conduit à| discovery_systeminfo init_remote_access u002du002d>|conduit à| discovery_identity init_remote_access u002du002d>|conduit à| discovery_network process_maliciousdll u002du002d>|emploie| defense_obfuscation process_maliciousdll u002du002d>|utilise| defense_deobfuscate process_maliciousdll u002du002d>|applique| defense_virustime process_maliciousdll u002du002d>|applique| defense_useractivity process_maliciousdll u002du002d>|communique avec| c2_webservice c2_webservice u002du002d>|utilise| c2_appprotocol c2_webservice u002du002d>|livre| payload_powershell c2_webservice u002du002d>|livre| payload_cmdshell payload_powershell u002du002d>|exécute| process_injection payload_cmdshell u002du002d>|exécute| process_injection process_injection u002du002d>|utilise| tool_wmi

Flux d’Attaque

Exécution de la Simulation

Préalable : Le contrôle préalable à l’envol Télémetry & Baseline doit avoir échoué.

Narratif de l’Attaque & Commandes

  1. Exécution de l’utilisateur (T1204) – L’attaquant persuade l’utilisateur d’ouvrir QuickAssist.
  2. Chargement de DLL (T1574.001) – Pendant que QuickAssist est en cours d’exécution, l’attaquant copie une DLL malveillante (malicious.dll) dans le même répertoire que HRUpdate.exe et lance alors HRUpdate.exe, provoquant le chargement de la DLL malveillante.
  3. Création de Tâche Planifiée (T1546.010) – L’attaquant utilise msiexec.exe -z combiné avec une commande shell (powershell -EncodedCommand …) pour créer une tâche planifiée cachée qui exécute la charge utile malveillante.
  4. Exécution de Proxy de Binaire Signé (T1218.002 / T1218.007) – La charge utile est lancée via msiexec et éventuellement via WMI (wmic process call create …) pour se mélanger avec les actions admin légitimes.

Script de Test de Régression

# -------------------------------------------------
# Script de Simulation – Activité Matanbuchus (TTPs)
# -------------------------------------------------
# 1. Déployer la DLL malveillante à côté de HRUpdate.exe
$malDllPath = "$env:ProgramFilesHRUpdatemalicious.dll"
Copy-Item -Path ".malicious.dll" -Destination $malDllPath -Force

# 2. Lancer QuickAssist (légitime)
Start-Process -FilePath "C:Program FilesQuickAssistQuickAssist.exe" -WindowStyle Hidden

# 3. Exécuter HRUpdate.exe pour déclencher le chargement de la DLL
Start-Process -FilePath "C:Program FilesHRUpdateHRUpdate.exe" -ArgumentList "/silent" -Wait

# 4. Créer une tâche planifiée en utilisant msiexec.exe -z
$taskName = "SysUpdate"
$taskCmd  = "powershell -NoProfile -WindowStyle Hidden -EncodedCommand " +
            ([Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes('Start-Process notepad.exe')))
$msiCmd = "msiexec.exe -z $taskName /quiet /qn /l*v `"$env:TEMPmsi.log`" /i $taskCmd"
Start-Process -FilePath "C:WindowsSystem32msiexec.exe" -ArgumentList $msiCmd -WindowStyle Hidden

# 5. (Optionnel) Exécuter la même charge utile via WMI pour couvrir T1218.007
$wmiCmd = "cmd /c $taskCmd"
wmic process call create "$wmiCmd"
# -------------------------------------------------
# Fin de la Simulation
# -------------------------------------------------

Commandes de Nettoyage

# Terminez tous les processus QuickAssist ou HRUpdate restants
Get-Process -Name "QuickAssist","HRUpdate" -ErrorAction SilentlyContinue | Stop-Process -Force

# Supprimez la DLL malveillante
Remove-Item -Path "$env:ProgramFilesHRUpdatemalicious.dll" -Force -ErrorAction SilentlyContinue

# Supprimez la tâche planifiée
schtasks /Delete /TN "SysUpdate" /F

# Supprimez le journal temporaire msiexec
Remove-Item -Path "$env:TEMPmsi.log" -Force -ErrorAction SilentlyContinue