Attaque de chaîne d’approvisionnement de DAEMON Tools compromet les installateurs officiels avec des logiciels malveillants
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Une compromission de la chaîne d’approvisionnement a affecté les installateurs de DAEMON Tools Lite des versions 12.5.0.2421 à 12.5.0.2434. Les installateurs compromis ont exécuté un chargeur malveillant qui s’est connecté à une infrastructure distante, a récupéré des charges utiles supplémentaires et a finalement déployé à la fois une porte dérobée et un RAT basé sur QUIC. La campagne a déclenché des milliers de tentatives d’infection dans plus de 100 pays, tandis qu’une opération de deuxième étape plus restreinte était dirigée contre un groupe plus restreint de victimes sélectionnées.
Enquête
Les chercheurs de Kaspersky ont identifié trois binaires modifiés — DTHelper.exe, DiscSoftBusServiceLite.exe, et DTShellHlp.exe — qui ont contacté un domaine malveillant et exécuté des commandes via cmd.exe. Les charges utiles suivantes incluaient envchk.exe, cdg.exe, et cdg.tmp, qui ont été utilisés pour charger une porte dérobée légère et le RAT QUIC. La télémétrie a lié l’activité à des organisations dans le commerce de détail, la recherche scientifique, le gouvernement, et les secteurs manufacturiers.
Atténuation
AVB Disc Soft a publié une version propre, 12.6.0.2445, et a conseillé aux utilisateurs affectés de supprimer les versions Lite compromises, de réaliser des analyses complètes du système et de mettre à niveau immédiatement. Les organisations devraient isoler les terminaux avec DAEMON Tools installés, vérifier l’intégrité des installateurs signés et surveiller pour les binaires malveillants connus et le trafic réseau associé.
Réponse
Les défenseurs devraient rechercher les trois exécutables compromis, surveiller les requêtes HTTP sortantes vers env-check.daemontools.cc, et bloquer l’exécution de charges utiles inattendues telles que envchk.exe and cdg.exe. Les règles de détection des points de terminaison devraient également être mises à jour pour identifier le comportement de la porte dérobée, et tout système infecté devrait être mis en quarantaine sans délai.
"graph TB %% Class definitions classDef action fill:#99ccff classDef technique fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ffccff classDef tool fill:#cccccc %% Node definitions initial_access_supply_chain["<b>Accès Initial</b> – <b>T1553.002 Subvertir les Contrôles de Confiance : Signature de Code</b><br/>L’adversaire a compromis l’installateur de DAEMON Tools Lite et signé avec un certificat légitime."] class initial_access_supply_chain action technique_compromise_binary["<b>Technique</b> – <b>T1554 Compromettre le Binaire du Logiciel Hôte</b><br/>Binaries trojanisés DTHelper.exe, DiscSoftBusServiceLite.exe, DTShellHlp.exe distribués."] class technique_compromise_binary technique persistence_autostart["<b>Persistance</b> – <b>T1547 Exécution au Démarrage ou à la Connexion</b><br/>Les binaires malveillants sont configurés pour s’exécuter au démarrage du système via des mécanismes d’autostart."] class persistence_autostart action persistence_startup_items["<b>Technique</b> – <b>T1037.005 Scripts d’Initialisation au Démarrage ou à la Connexion : Éléments de Démarrage</b><br/>Installé comme éléments de démarrage."] class persistence_startup_items technique persistence_software_ext["<b>Technique</b> – <b>T1176 Extensions Logicielles</b><br/>Utilisation d’extensions logicielles pour la persistance."] class persistence_software_ext technique execution_c2_resolution["<b>Exécution</b> – <b>T1568 Résolution Dynamique</b><br/>L’implant contacte envu2011check.daemontools.cc via HTTP GET pour obtenir des commandes."] class execution_c2_resolution action execution_cmd["<b>Technique</b> – <b>T1059.003 Interpréteur de Commandes et Scripts : Shell de Commande Windows</b><br/>Commandes exécutées en utilisant cmd.exe."] class execution_cmd technique execution_indirect["<b>Technique</b> – <b>T1202 Exécution InDirecte de Commandes</b><br/>Commandes exécutées indirectement via d’autres processus."] class execution_indirect technique execution_payload_download["<b>Technique</b> – <b>T1204.003 Exécution par l’Utilisateur : Image Malveillante</b><br/>Charges utiles supplémentaires envchk.exe, cdg.exe, cdg.tmp téléchargées."] class execution_payload_download technique defense_process_hollowing["<b>Évasion de Défense</b> – <b>T1055.012 Injection de Processus : Évidement de Processus</b><br/>La porte dérobée injecte du code dans notepad.exe, conhost.exe."] class defense_process_hollowing technique defense_reflective_loading["<b>Technique</b> – <b>T1620 Chargement Réfléchi de Code</b><br/>Utilise le chargement réfléchi pour exécuter du code en mémoire."] class defense_reflective_loading technique defense_junk_code["<b>Technique</b> – <b>T1027.016 Fichiers ou Informations Obfusqués : Insertion de Codes Superflus</b><br/>Utilise du code superflu pour échapper à l’analyse."] class defense_junk_code technique c2_multi_stage["<b>Commande et Contrôle</b> – <b>T1104 Canaux Multi-Étages</b><br/>Utilise des canaux multi-étages pour récupérer des charges utiles supplémentaires."] class c2_multi_stage action c2_quic_rat["<b>Logiciel Malveillant</b> – <b>T1219 Outils d’Accès à Distance</b><br/>Déploie le RAT QUIC fournissant un accès à distance interactif."] class c2_quic_rat malware lateral_taint_shared["<b>Mouvement Latéral</b> – <b>T1080 Contaminer le Contenu Partagé</b><br/>La porte dérobée contamine le contenu partagé pour se propager latéralement."] class lateral_taint_shared action %% Connections initial_access_supply_chain –>|utiliser| technique_compromise_binary technique_compromise_binary –>|permet| persistence_autostart persistence_autostart –>|inclut| persistence_startup_items persistence_autostart –>|inclut| persistence_software_ext persistence_startup_items –>|mène à| execution_c2_resolution persistence_software_ext –>|mène à| execution_c2_resolution execution_c2_resolution –>|déclenche| execution_cmd execution_cmd –>|utilise| execution_indirect execution_cmd –>|télécharge| execution_payload_download execution_payload_download –>|fournit| defense_process_hollowing defense_process_hollowing –>|utilise| defense_reflective_loading defense_process_hollowing –>|utilise| defense_junk_code defense_reflective_loading –>|soutient| c2_multi_stage defense_junk_code –>|soutient| c2_multi_stage c2_multi_stage –>|livre| c2_quic_rat c2_quic_rat –>|permet| lateral_taint_shared "
Flux d’attaque
Détections
Téléchargement ou Téléversement via Powershell (via cmdline)
Voir
Exécution de Chemin Suspicious par Rundll32 Dll (via process_creation)
Voir
Appel de Méthodes .NET Suspicious depuis Powershell (via powershell)
Voir
Commande et Contrôle Suspicious par Requête DNS de Domaine de Premier Niveau (TLD) Inhabituel (via dns)
Voir
Détection de QUIC RAT et Contact de Domaine Malveillant via Compromission de DAEMON Tools [Connexion Réseau Windows]
Voir
Détection d’Exécution de Démarrage de DAEMON Tools Trojanisé [Création de Processus Windows]
Voir
Exécution de Simulation
Prérequis : Le contrôle préliminaire de télémétrie et de base doit avoir été réussi.
Raisonnement : 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 doivent refléter directement les TTPs identifiés et viser à générer la télémétrie exacte attendue par la logique de détection.
-
Narratif d’Attaque et Commandes :
Un attaquant qui a compromis la chaîne d’approvisionnement de DAEMON Tools plante une copie malveillante decalc.exerenommée enDTHelper.exedans un emplacement qui sera lancé au démarrage du système (par exemple, la cléHKLMSoftwareMicrosoftWindowsCurrentVersionRun). Dans le cadre de ce test, nous simulons l’exécution immédiate du binaire pour générer l’événement exact de création de processus que règle observe.Étapes :
- Copiez un exécutable bénin (
calc.exe) versC:TempDTHelper.exe. - Enregistrez le binaire dans la clé de registre Run pour émuler l’« exécution au démarrage ».
- Force le système à exécuter l’entrée Run (ou invoque directement le binaire).
- Copiez un exécutable bénin (
-
Script de Test de Régression :
# ------------------------------------------------------------- # Script de simulation pour l'exécution de démarrage de DAEMON Tools trojanisé # ------------------------------------------------------------- $tempPath = "C:TempDTHelper.exe" $runKey = "HKLM:SoftwareMicrosoftWindowsCurrentVersionRun" $runName = "DAEMONHelper" # 1. Déployez l'exécutable à l'apparence malveillante (utilisant calc.exe comme espace réservé) Copy-Item -Path "$env:SystemRootSystem32calc.exe" -Destination $tempPath -Force # 2. Enregistrez-le pour une exécution automatique à la connexion (émule la persistance) New-ItemProperty -Path $runKey -Name $runName -Value $tempPath -PropertyType String -Force # 3. Déclenchez l'exécution immédiatement à des fins de test Start-Process -FilePath $tempPath # Sortez un marqueur pour la vérification du test Write-Host "`n[+] DTHelper.exe exécuté et entrée Run créée." -
Commandes de Nettoyage :
# ------------------------------------------------------------- # Nettoyage pour la simulation de DAEMON Tools # ------------------------------------------------------------- $tempPath = "C:TempDTHelper.exe" $runKey = "HKLM:SoftwareMicrosoftWindowsCurrentVersionRun" $runName = "DAEMONHelper" # Supprimez l'entrée de registre Run Remove-ItemProperty -Path $runKey -Name $runName -ErrorAction SilentlyContinue # Arrêtez le processus s'il est toujours en cours Get-Process -Name "DTHelper" -ErrorAction SilentlyContinue | Stop-Process -Force # Supprimez l'exécutable copié Remove-Item -Path $tempPath -Force -ErrorAction SilentlyContinue Write-Host "`n[+] Nettoyage terminé."