Le ransomware Play se fait passer pour SentinelOne dans la campagne de reconnaissance Grixba
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Le rapport décrit une opération de ransomware Play qui repose sur un utilitaire de reconnaissance .NET personnalisé nommé Grixba, déployé via RDP sur un serveur Windows. Grixba se fait passer pour un exécutable SentinelOne (GT_NET.exe) et stocke les résultats de l’analyse dans ExportData.db. L’outil communique avec une adresse IP VPN PIA et génère une archive data.zip protégée par mot de passe. Une identification précoce de ces artefacts peut arrêter l’attaque avant la phase de ransomware.
Analyse de l’attaque du ransomware Play
Field Effect MDR a observé le binaire Grixba déposé dans C:UsersPublicMusic avec data.dat, suivi de l’exécution et de l’extraction de la clé XOR pour décoder GT_NET.exe and extraction of the XOR key to decode inf_g.dll. Une analyse plus approfondie a révélé des commutateurs en ligne de commande pour la reconnaissance et la création de ExportData.db, contenant des détails système étendus. Les enquêteurs ont également récupéré l’élément de mot de passe intégré nécessaire pour déverrouiller data.zip.
Atténuation
Les mesures recommandées incluent le maintien de sauvegardes fiables, la correction rapide des logiciels, l’utilisation de pare-feu DNS, l’application d’une utilisation sécurisée des VPN, l’application de MFA, et l’utilisation de plateformes MDR/XDR pour détecter l’activité de reconnaissance tôt. Les équipes devraient surveiller en permanence les artefacts distinctifs et les comportements d’exécution associés à Grixba.
Réponse
Lorsque GT_NET.exe, data.dat, inf_g.dll, ou ExportData.db sont détectés, les intervenants doivent mettre en quarantaine le point de terminaison, capturer les preuves volatiles, extraire le mot de passe ZIP depuis la valeur intégrée, et rechercher un mouvement latéral ou une mise en scène de ransomware. Les gestionnaires d’incidents devraient également bloquer l’adresse IP associée et examiner de près les journaux d’accès RDP.
graph TB %% Class Definitions classDef action fill:#99ccff classDef malware fill:#ff9999 classDef data fill:#ccffcc %% Nodes initial_access[« <b>Action</b> – <b>T1021.001 Services distants : RDP</b><br/>L’adversaire utilise RDP pour obtenir l’accès initial et dépose <b>GT_NET.exe</b> et <b>data.dat</b> dans C:\Users\Public\Music »] class initial_access action tool_gt_net[« <b>Malware</b> – <b>Nom</b> : GT_NET.exe<br/><b>Description</b> : Charge utile .NET personnalisée déposée durant la session RDP »] class tool_gt_net malware execution_obfusc[« <b>Action</b> – <b>T1027.007 Résolution dynamique des API</b><br/>L’outil .NET obfusqué utilise des encodages Base64 et XOR pour masquer ses fonctionnalités »] class execution_obfusc action discovery[« <b>Action</b> – <b>T1016 Découverte de la configuration réseau du système</b>, <b>T1018 Découverte des systèmes distants</b>, <b>T1595.001 Analyse active : balayage de blocs IP</b><br/>Grixba analyse le réseau interne et énumère les hôtes, les logiciels et les processus en cours d’exécution »] class discovery action collection[« <b>Action</b> – <b>T1560.001 Archivage des données collectées : archivage via utilitaire</b><br/>Les résultats collectés sont écrits dans ExportData.db puis compressés dans un fichier data.zip protégé par mot de passe »] class collection action credential_extraction[« <b>Action</b> – <b>T1140 Désobfuscation/Décodage de fichiers ou d’informations</b><br/>La clé XOR est décodée pour déchiffrer data.dat et générer le mot de passe du fichier zip »] class credential_extraction action preparation[« <b>Action</b> – Préparation de l’étape suivante<br/>Les renseignements sont utilisés pour l’élévation de privilèges et l’exploitation de vulnérabilités »] class preparation action %% Connections initial_access u002du002du003e|dépose| tool_gt_net tool_gt_net u002du002du003e|exécute| execution_obfusc execution_obfusc u002du002du003e|effectue| discovery discovery u002du002du003e|conduit à| collection collection u002du002du003e|produit| credential_extraction credential_extraction u002du002du003e|permet| preparation
Flux d’attaque
Détections
Détecter l’exécution de l’outil de reconnaissance Grixba avec des arguments spécifiques en ligne de commande [Création de processus Windows]
Voir
Détection de l’outil de reconnaissance Grixba déposé via RDP [Événement de fichier Windows]
Voir
IOCs (DestinationIP) à détecter : déguisement de Grixba : le ransomware Play se fait passer pour SentinelOne pour une reconnaissance furtive
Voir
IOCs (SourceIP) à détecter : déguisement de Grixba : le ransomware Play se fait passer pour SentinelOne pour une reconnaissance furtive
Voir
IOCs (HashSha256) à détecter : déguisement de Grixba : le ransomware Play se fait passer pour SentinelOne pour une reconnaissance furtive
Voir
Exécution de la simulation
Préalable : La vérification télémétrique et de référence doit avoir été réussie.
Justification : 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 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 une mauvaise interprétation.
-
Narratif d’attaque et commandes :
L’adversaire a obtenu un premier accès à un poste de travail compromis. Pour cartographier le réseau interne avant de se déplacer latéralement, il télécharge le binaire de reconnaissance Grixba (
GT_NET.exe) depuis le serveur de commande et contrôle et l’exécute avec l’ensemble d’arguments que la règle Sigma cible. L’argument choisi-m:scanall -i:dforce une découverte complète des hôtes appartenant au domaine, tandis que-i:ret-i:fénumèrent respectivement les partages distants et les partages de fichiers. Ces arguments sont typiques de la charge utile par défaut de l’outil et produisent des chaînes en ligne de commande distinctes que la règle de détection surveille.Étapes :
- Télécharger l’outil (simulé avec une copie depuis un dossier de test).
- Exécuter le binaire avec chaque ensemble d’arguments ciblés pour s’assurer que la règle s’active pour chaque cas.
- Laisser le processus s’exécuter brièvement pour permettre au SIEM de capturer l’événement.
-
Script de test de régression :
# Script de test de régression – Exécution de l'outil de reconnaissance Grixba # ---------------------------------------------------- # Hypothèses : # • GT_NET.exe est situé dans C:TempGT_NET.exe (remplacer par le chemin réel) # • Exécution avec des privilèges suffisants pour invoquer le binaire # ---------------------------------------------------- $exePath = "C:TempGT_NET.exe" if (-Not (Test-Path $exePath)) { Write-Error "GT_NET.exe non trouvé à $exePath. Abandon." exit 1 } # 1. Exécuter avec -m:scanall -i:d Write-Host "`n[+] Lancement de GT_NET.exe avec '-m:scanall -i:d' ..." Start-Process -FilePath $exePath -ArgumentList "-m:scanall -i:d" -WindowStyle Hidden -PassThru | Out-Null Start-Sleep -Seconds 5 # 2. Exécuter avec -i:r Write-Host "`n[+] Lancement de GT_NET.exe avec '-i:r' ..." Start-Process -FilePath $exePath -ArgumentList "-i:r" -WindowStyle Hidden -PassThru | Out-Null Start-Sleep -Seconds 5 # 3. Exécuter avec -i:f Write-Host "`n[+] Lancement de GT_NET.exe avec '-i:f' ..." Start-Process -FilePath $exePath -ArgumentList "-i:f" -WindowStyle Hidden -PassThru | Out-Null Start-Sleep -Seconds 5 Write-Host "`n[+] Exécution terminée. Vérifiez la détection dans le SIEM." -
Commandes de nettoyage :
# Nettoyage – terminer tous les processus GT_NET.exe persistants et supprimer le binaire Get-Process -Name "GT_NET" -ErrorAction SilentlyContinue | Stop-Process -Force $exePath = "C:TempGT_NET.exe" if (Test-Path $exePath) { Remove-Item $exePath -Force Write-Host "[+] GT_NET.exe supprimé." } else { Write-Host "[*] GT_NET.exe non présent; rien à supprimer." }