Aller au contenu

Analyse de Protocole : SMB (Server Message Block) et Mouvement Latéral

1. Mécanique technique et partages administratifs

Section intitulée « 1. Mécanique technique et partages administratifs »

SMB fonctionne sur une architecture client-serveur. L’authentification est généralement gérée via Kerberos dans un domaine Active Directory, avec un repli (fallback) sur NTLM si la résolution SPN échoue ou si l’accès s’effectue via une adresse IP.

Pour faciliter la gestion informatique à distance, Windows crée automatiquement des partages administratifs cachés sur chaque machine. Ces partages sont suffixés par le caractère $, ce qui les rend invisibles lors d’une navigation réseau standard.

  • Partages de disques (C$, D$) : accordent un accès administratif complet à la racine des volumes de disques durs respectifs.
  • Le partage ADMIN$ : un pointeur spécifique vers le répertoire C:\Windows.

Les acteurs de la menace militarisent le protocole SMB à travers de multiples phases de la chaîne d’attaque (kill chain).

Comme détaillé dans notre Analyse du mouvement latéral avec PsExec, les attaquants s’authentifient sur le partage ADMIN$ de la cible via SMB (TCP 445), y déposent un exécutable de service malveillant (PSEXESVC.exe), et utilisent RPC sur SMB pour ordonner au gestionnaire de contrôle des services (SCM) de l’exécuter.

Pour échapper à la détection réseau, les frameworks C2 modernes (comme Cobalt Strike ou Sliver) déploient des balises SMB (SMB Beacons). Au lieu de communiquer directement avec Internet, les hôtes internes infectés communiquent entre eux via SMB en utilisant des tubes nommés (accessibles via le partage IPC$). Pour un pare-feu, cela ressemble simplement à du trafic de partage de fichiers interne légitime.

Dans les investigations de ransomwares modernes, les adversaires ne déploient souvent plus la charge utile de chiffrement sur chaque terminal. Au lieu de cela, ils exécutent le ransomware sur un seul serveur puissant et chiffrent des milliers de fichiers à travers le réseau, entièrement via SMB. Ce “chiffrement distant” (Remote Encryption) contourne les agents EDR locaux sur les postes victimes, car les fichiers locaux sont simplement modifiés via un accès de partage réseau standard.

Les analystes DFIR s’appuient sur des journaux d’événements Windows spécifiques pour traquer l’activité SMB malveillante.

Accès aux partages (Événements 5140 & 5145)

Consignés dans le journal Security. Événement 5140 : un objet de partage réseau a été accédé. Révèle l’IP source. Événement 5145 : accès détaillé. Si l’attaquant accède au partage IPC$, le “Nom cible relatif” révélera le nom exact du tube nommé (Named Pipe) utilisé.

Activité des tubes Sysmon (Év. 17 & 18)

Les événements Sysmon 17 (Tube créé) et 18 (Tube connecté) corrèlent directement l’activité réseau SMB au PID du processus malveillant hébergeant la balise.

Détecter le chiffrement distant (Événements 30803 & 30807)

Section intitulée « Détecter le chiffrement distant (Événements 30803 & 30807) »

Lorsqu’un attaquant effectue un chiffrement distant agressif sur SMB, le script ouvre des milliers de handles (descripteurs) de fichiers simultanément. Ce trafic agressif et artificiel provoque souvent la défaillance ou la chute de la connexion du client SMB. Les analystes doivent surveiller le journal Microsoft-Windows-SMBClient/Connectivity. Un pic massif de l’Événement 30803 (Échec de la connexion réseau) et de l’Événement 30807 (Connexion déconnectée) est une signature comportementale hautement fiable indiquant qu’un chiffrement de ransomware à distance est en cours.

hunt_admin_share_access.kql
// Détecte l'accès non autorisé aux partages administratifs cachés (C$, ADMIN$)
// ce qui est indicatif d'un mouvement latéral ou d'une préparation (staging) de charge utile à distance.
DeviceEvents
| where ActionType == "ShareAccessed"
| extend ShareName = tostring(AdditionalFields.ShareName)
// Cibler les partages administratifs cachés
| where ShareName endswith "C$" or ShareName endswith "ADMIN$"
// Exclure les serveurs de sauvegarde ou de gestion attendus
| where RemoteIP !in ("10.0.0.50", "10.0.0.51")
| project TimeGenerated, DeviceName, InitiatingProcessAccountName, RemoteIP, ShareName
| sort by TimeGenerated desc
  1. Micro-segmentation : les postes de travail n’ont généralement aucune raison de communiquer avec d’autres postes de travail sur le port TCP 445. Appliquez des pare-feux basés sur l’hôte pour bloquer le trafic SMB de poste à poste (workstation-to-workstation), limitant strictement l’accès SMB aux contrôleurs de domaine et aux serveurs de fichiers désignés. Cette seule règle stoppe 90 % de la propagation automatisée de vers.
  2. Désactiver SMBv1 : assurez-vous que le protocole obsolète et hautement vulnérable SMBv1 est entièrement désactivé sur l’ensemble du réseau pour prévenir les exploits de type EternalBlue.
  3. Signature SMB (SMB Signing) : imposez la signature SMB via une GPO pour prévenir les attaques par relais NTLM, garantissant que le trafic SMB intercepté ne peut pas être manipulé ou relayé vers d’autres serveurs.