SOC Prime Bias: Élevé

22 Jul 2026 07:09 UTC

À l’intérieur du commerce évolutif de TAG-150 avec DinDoor, DenoRAT et NightshadeC2

Author Photo
SOC Prime Team linkedin icon Suivre
À l’intérieur du commerce évolutif de TAG-150 avec DinDoor, DenoRAT et NightshadeC2
shield icon

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

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 /user and /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