SOC Prime Bias: Critique

29 Jun 2026 06:14 UTC

RESTER DE STOCKER Un Autre Jour : La Dernière Addition à l’Appareil de Collecte de Renseignements de Turla

Author Photo
SOC Prime Team linkedin icon Suivre
RESTER DE STOCKER Un Autre Jour : La Dernière Addition à l’Appareil de Collecte de Renseignements de Turla
shield icon

Detection stack

  • AIDR
  • Alert
  • ETL
  • Query

Résumé

Le Groupe d’Intelligence des Menaces de Google a identifié STOCKSTAY, une porte dérobée multi-composants .NET utilisée par le groupe de menaces lié à la Russie Turla. Le malware est conçu avec une architecture modulaire incluant un tunnel, un orchestrateur, et un composant de la porte dérobée, communiquant tous via des WebSockets sécurisés. Il est destiné à soutenir des opérations d’espionnage informatique à long terme contre des cibles gouvernementales et militaires.

Investigation

GTIG a effectué une analyse approfondie de l’écosystème STOCKSTAY et a retracé son développement jusqu’en décembre 2022. Les chercheurs ont cartographié ses composants modulaires, examiné son utilisation de clés environnementales pour décrypter les données de configuration, et documenté son changement d’identité de l’utilitaire boursier à d’autres applications bénignes. L’enquête a également révélé l’utilisation de K1MORPHER pour l’obscurcissement de chaîne et des liens avec l’outil KAZUAR connu de Turla.

Atténuation

Les organisations doivent déployer une surveillance stricte pour détecter des comportements suspects d’applications .NET et un trafic WebSocket inhabituel vers des domaines inconnus. Il est également crucial de se défendre contre un accès initial par des fichiers RDP malveillants et de renforcer les protections des courriels contre le phishing. En outre, corriger des vulnérabilités comme CVE-2025-8088 dans WinRAR peut aider à bloquer le déploiement basé sur l’exploitation.

Réponse

Si une activité de STOCKSTAY est détectée, isolez immédiatement les hôtes affectés pour stopper la communication de commande et de contrôle et le mouvement latéral. Menez une enquête forensic détaillée pour déterminer l’ampleur complète de la compromission, en mettant un accent particulier sur les changements de registre non autorisés et les tâches planifiées nouvellement créées. Les journaux réseau doivent également être examinés pour des sessions WebSocket de longue durée, et les systèmes doivent être vérifiés pour la présence de fichiers de composants STOCKSTAY.

"flowchart TD step_initial_access["Accès initial : T1566 – Phishing (pistes d’hameçonnage comme les fichiers RDP, MSI, ou RAR ; liens d’hameçonnage vers des sites compromis)"] step_execution["Exécution : T1204.002 – Exécution utilisateur : Fichier malveillant (fichiers HTA, configs RDP) ; T1574.014 – Détournement du flux d’exécution : AppDomainManager (charges .NET) ; T1543 – Créer ou modifier un processus système"] rules_for_execution("<b>Nom de la règle</b> : Comportement suspect d’évasion de défense LOLBAS MSHTA par la détection de commandes associées (via la création de processus)<br/><b>ID de règle</b> : feb459cf-289a-41ab-9241-d8edc232c487") step_persistence["Persistance : T1543 – Créer ou modifier un processus système (entrées autorun) ; T1133 – Services distants externes (connectivité à long terme)"] step_defense_evasion["Évasion de défense : T1036 – Déguisement (renommer en utilitaires bénins) ; T1027.015 – Fichiers ou informations obfusquées : Compression ; T1497.001/002 – Évasion Virtualisation/Sandbox via WMI"] step_discovery["Découverte : T1012 – Requête au registre ; T1497.001 – Évasion Virtualisation/Sandbox (récupération d’info système/matériel via WMI)"] step_command_and_control["Commande et contrôle : T1102.002/003 – Service Web : Communication bidirectionnelle/à sens unique (WebSocket via Render) ; T1568 – Résolution dynamique"] rules_for_c2("<b>Nom de la règle</b> : Tentative d’abus de Publicnode Ethereum en tant que canal C2 (via dns_query)<br/><b>ID de règle</b> : 280e86bf-fad9-4b9c-8867-e2355e3f50ba") step_collection_exfiltration["Collecte et exfiltration : T1560.002/003 – Archiver les données collectées via bibliothèque ou méthode personnalisée (archives ZIP en mémoire)"] step_initial_access –>|conduit à| step_execution step_execution –>|active| step_persistence step_execution -.->|détecté par| rules_for_execution step_persistence –>|conduit à| step_defense_evasion step_defense_evasion –>|active| step_discovery step_discovery –>|conduit à| step_command_and_control step_command_and_control –>|active| step_collection_exfiltration step_command_and_control -.->|détecté par| rules_for_c2 "

Flux d’attaque

Exécution de la simulation

Prérequis : Le Contrôle préalable de télémétrie et de baseline doit avoir été approuvé.

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 TTPs 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 diagnostic erroné.

  • Narratif de l’attaque & Commandes : L’adversaire vise à établir une persistance en utilisant un outil se faisant passer pour un composant de mise à jour Microsoft légitime. Pour éviter la détection, l’attaquant a renommé sa porte dérobée STOCKSTAY en MicrosoftUpdateOneDrive.exe et l’a placé dans un répertoire temporaire. L’objectif est d’exécuter ce processus pour initier une connexion de shell inversé ou de commande et contrôle (C2), en s’appuyant sur le nom « légitime » pour contourner la surveillance de base des processus.

  • Script de test de régression :

    # Script de simulation : Exécution de masquage STOCKSTAY
    $MaliciousName = "MicrosoftUpdateOneDrive.exe"
    $TargetDir = "$env:TEMPStockstaySim"
    
    # 1. Créer un répertoire et un fichier "malveillant" simulés
    if (!(Test-Path $TargetDir)) { New-Item -Path $TargetDir -ItemType Directory -Force }
    $FakeBinary = Join-Path $TargetDir $MaliciousName
    
    # 2. Créer un exécutable fictif (en utilisant cmd.exe renommé à des fins de simulation)
    Copy-Item "C:WindowsSystem32cmd.exe" -Destination $FakeBinary -Force
    
    Write-Host "[+] Simulation : Créé $FakeBinary" -ForegroundColor Cyan
    
    # 3. Exécuter le processus "malveillant"
    Write-Host "[+] Simulation : Exécution de $MaliciousName..." -ForegroundColor Yellow
    Start-Process -FilePath $FakeBinary -ArgumentList "/c echo STOCKSTAY_SIMULATION_ACTIVE" -WindowStyle Hidden
    
    Write-Host "[+] Simulation : Déclenchement de l'exécution du processus." -ForegroundColor Green
  • Commandes de nettoyage :

    # Script de nettoyage
    $TargetDir = "$env:TEMPStockstaySim"
    if (Test-Path $TargetDir) {
        Remove-Item -Path $TargetDir -Recurse -Force
        Write-Host "[+] Nettoyage : Répertoire de simulation $TargetDir supprimé" -ForegroundColor Green
    } else {
        Write-Host "[-] Nettoyage : Répertoire de simulation non trouvé." -ForegroundColor Red
    }