Usurpation du support informatique : comment les acteurs de menace transforment une session à distance en un accès étendu à l’entreprise
Detection stack
- AIDR
- Alert
- ETL
- Query
Résumé
Les acteurs de la menace exploitent la collaboration externe de Microsoft Teams pour se faire passer pour le support informatique et convaincre les utilisateurs de leur accorder un accès à distance par ingénierie sociale. Après avoir obtenu l’accès, ils déploient un paquet MSI malveillant qui installe un runtime Node.js portable et un implant en JavaScript pour le C2 et la persistance. La campagne inclut également une activité manuelle, une reconnaissance Active Directory et un déplacement latéral via WinRM.
Enquête
Microsoft Threat Intelligence a analysé une chaîne d’intrusion qui évoluait du phishing Teams au déplacement latéral à l’intérieur de l’environnement cible. L’enquête a révélé un abus d’outils légitimes tels que Node.js et WinRM pour camoufler l’activité malveillante dans les opérations normales. Les chercheurs ont également identifié un contrat intelligent Ethereum utilisé pour la découverte C2 dormant et des points de terminaison hébergés sur Azure utilisés pour délivrer des charges utiles.
Atténuation
Les organisations devraient mettre en œuvre des contrôles de sécurité en couches, y compris une MFA résistante au phishing et des politiques d’accès externe restrictives pour Microsoft Teams. Les règles d’Attack Surface Reduction (ASR) devraient être activées pour bloquer les interpréteurs de script non autorisés et le contenu téléchargé. L’accès WinRM devrait également être limité aux postes de travail administratifs approuvés et aux systèmes de gestion de confiance.
Réponse
Si cette activité est détectée, les organisations devraient présumer un compromis des identifiants et prioriser la rotation de tous les identifiants accessibles, y compris les comptes administrateurs de domaine. Les enquêteurs devraient identifier les systèmes où Node.js ou des binaires renommés de Node.js ont été exécutés à partir de répertoires modifiables par l’utilisateur. Les équipes de sécurité devraient également examiner l’activité WinRM et les journaux d’interaction externe de Microsoft Teams pour détecter des signes de déplacement latéral ou d’accès non autorisé.
Flux d’attaque
Nous mettons toujours à jour cette partie.
Détections
Téléchargement ou Téléversement via Powershell (via cmdline)
Exécution de binaire NodeJS depuis un emplacement inhabituel (via cmdline)
Énumération possible du système (via cmdline)
Énumération possible de logiciels antivirus ou pare-feu (via process_creation)
Énumération ou manipulation possible de comptes ou groupes (via cmdline)
Utilisation suspecte de CURL (via cmdline)
Vérifications d’évasion possibles (via powershell)
IOCs (HashSha256) à détecter : Usurpation de support IT : comment les acteurs de la menace transforment une session distante en accès à l’échelle de l’entreprise
PowerShell télécharge un MSI malveillant et exécute l’implant chiffré [Windows Powershell]
Exécution de Simulation
Prérequis : Le contrôle préalable de télémétrie et de base doit avoir été passé.
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 pertinents entraîneront une mauvaise interprétation.
-
Narratif & Commandes d’attaque : L’adversaire a obtenu un accès initial via un lien de spearphishing. Pour établir un point d’appui plus persistant et discret, il utilise PowerShell pour télécharger un installateur malveillant (simulé par un MSI) depuis un serveur distant. Une fois que « l’installation » est terminée, l’attaquant dépose un implant basé sur JavaScript dans le
répertoire LocalAppDatade l’utilisateur. Pour éviter la détection basée sur les signatures du fichier JS, il utilise lebinaire node.exelégitime pour exécuter le script, utilisant effectivement une technique « Living off the Land » pour exécuter son code malveillant. -
Script de test de régression :
# 1. Configuration : Créer un fichier MSI et JS fictif dans LocalAppData $localAppData = $env:LOCALAPPDATA $dummyMsi = "$localAppDataupdate_package.msi" $dummyJs = "$localAppDataimplant.js" New-Item -Path $dummyMsi -ItemType File -Force "// Charge utile JS malveillante" | Out-File -FilePath $dummyJs -Force # 2. Exécution - Étape 1 : Téléchargement PowerShell (Déclenche selection1) # Utilisation des mots-clés spécifiques 'download' et 'msi' pour garantir l'activation de la règle Start-Process powershell.exe -ArgumentList "-Command", "Write-Host 'Starting download of msi package...'" -WindowStyle Hidden # 3. Exécution - Étape 2 : Exécution Node.js (Déclenche selection2) # Utilisation de 'LocalAppData' et 'js' pour garantir l'activation de la règle Start-Process node.exe -ArgumentList "$dummyJs" -WorkingDirectory $localAppData -
Commandes de nettoyage :
# Supprimer les fichiers fictifs créés pendant la simulation $localAppData = $env:LOCALAPPDATA Remove-Item -Path "$localAppDataupdate_package.msi" -ErrorAction SilentlyContinue Remove-Item -Path "$localAppDataimplant.js" -ErrorAction SilentlyContinue