À l’intérieur du commerce évolutif de TAG-150 avec DinDoor, DenoRAT et NightshadeC2
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
TAG-150 utilise une chaîne d’intrusion sophistiquée à plusieurs étapes basée sur un malware utilisant Deno. La campagne repose sur une ingénierie sociale de type ClickFix pour déclencher l’exécution d’un installateur MSI, qui déploie ensuite DinDoor, DenoRAT et finalement NightshadeC2. En exploitant l’environnement d’exécution Deno, les attaquants acquièrent des capacités avancées d’accès à distance et de vol d’informations.
Enquête
L’Unité de Réponse aux Menaces d’eSentire a perturbé une commande de type ClickFix dans l’environnement d’un client du secteur financier. L’enquête a révélé une séquence d’infection commençant par une commande de l’invite d’exécution de Windows, suivie d’une étape PowerShell générée par l’IA, Griffin20.ps1, utilisée pour installer l’environnement d’exécution Deno. Les étapes suivantes impliquaient DinDoor, DenoRAT et un chargeur en mémoire basé sur Python qui délivrait le RAT NightshadeC2.
Atténuation
Les organisations devraient envisager de désactiver l’invite d’exécution de Windows via les objets de stratégie de groupe lorsque cela est opérationnellement faisable. Il est également recommandé de mettre en place un programme de formation solide à la sensibilisation à la sécurité et au hameçonnage pour réduire le succès des leurres de type ClickFix. Le déploiement d’antivirus de nouvelle génération ou de solutions de détection et de réponse aux points de terminaison est essentiel pour la visibilité, la détection et le confinement.
Réponse
Si cette activité est détectée, l’hôte affecté doit être immédiatement isolé pour contenir la chaîne d’infection. Les organisations devraient faire appel à un fournisseur de détection et de réponse gérée 24/7 ou à une équipe de réponse aux incidents équivalente pour soutenir un confinement rapide et une rémédiation complète. Une surveillance continue des composants identifiés du malware basé sur Deno est également conseillée.
Flux d’attaque
Détections
Points de persistance possibles [ASEPs – Hive Software/NTUSER] (via registry_event)
Voir
Exécution de Python depuis des dossiers suspects (via cmdline)
Voir
Téléchargement ou téléchargement via Powershell (via cmdline)
Voir
Tentative possible d’abus de l’environnement d’exécution Deno (via process_creation)
Voir
LOLBAS Conhost (via cmdline)
Voir
Appeler des méthodes .NET suspectes depuis Powershell (via powershell)
Voir
Téléchargement d’exécutable suspect (via proxy)
Voir
IOC (HashSha256) pour détecter : DinDoor, DenoRAT et NightshadeC2 : Analyse des techniques évolutives de TAG-150
Voir
Détecter les requêtes GET vers les points de terminaison User et Message-Event associés à DenoRAT [Connexion réseau Windows]
Voir
Exécution de simulation
Prérequis : Le contrôle préalable de la télémétrie et de la base doit être passé.
Rationale : 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 déroulé doivent directement refléter les TTP identifiés et viser à générer la télémétrie exacte attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un mauvais diagnostic.
-
Narrative & Commandes de l’attaque : L’adversaire a réussi à établir un point d’appui sur un hôte Windows et tente d’activer leur balise DenoRAT. Pour échapper aux EDRs basés sur des signatures traditionnelles, le malware utilise des modèles de réseau « Living-off-the-Land », communiquant via HTTP/S standard. Le malware essaiera de se connecter au serveur C2 en envoyant des requêtes GET aux points de terminaison spécifiques
/userand/message-event. Cette simulation imite le comportement de balise pour vérifier que la logique de détection du SOC se déclenche lorsque ces chaînes spécifiques apparaissent dans les journaux d’accès web. -
Script de test de régression :
# Script de simulation de balise C2 DenoRAT # Ce script simule les requêtes HTTP GET spécifiques utilisées par DenoRAT pour déclencher la règle de détection. $C2_URL = "http://localhost" # Remplacer par votre adresse de serveur web de test local $Endpoints = @("/user", "/message-event") Write-Host "[+] Démarrage de la simulation C2 de DenoRAT..." -ForegroundColor Cyan foreach ($Endpoint in $Endpoints) { $Target = $C2_URL + $Endpoint Write-Host "[*] Simulation de l'enregistrement C2 vers : $Target" -ForegroundColor Yellow try { # Exécution de la requête GET $Response = Invoke-WebRequest -Uri $Target -Method Get -ErrorAction SilentlyContinue Write-Host "[+] Requête envoyée. Code de statut : $($Response.StatusCode)" -ForegroundColor Green } catch { # Nous attendons un 404 si les points de terminaison n'existent pas réellement, ce qui est bien pour tester la télémétrie Write-Host "[!] Requête envoyée (Erreur de connexion/404 attendu) : $_" -ForegroundColor Gray } Start-Sleep -Seconds 2 } Write-Host "[+] Simulation terminée." -ForegroundColor Cyan -
Commandes de nettoyage :
# Aucune modification persistante n'est effectuée par le script de simulation. # Pour nettoyer les journaux de serveur web si nécessaire (Attention : Cela supprime des journaux !) : # Remove-Item -Path "C:inetpublogsLogFilesW3SVC1*.log" -Force Write-Host "[+] Nettoyage : Aucun artefact persistant n'a été créé." -ForegroundColor Green