CyberAct
Publications/#SMB signing
Tag

SMB signing : authentification et intégrité des flux

Comprendre SMB signing

Définition

Le SMB signing est un mécanisme de signature cryptographique appliqué aux paquets du protocole SMB (Server Message Block). Il garantit l'authentification et l'intégrité des flux échangés entre un client et un serveur Windows. Chaque paquet SMB est signé à l'aide d'une clé de session dérivée des credentials de l'utilisateur authentifié. Sans SMB signing actif, un attaquant positionné en man-in-the-middle peut intercepter, modifier ou rejouer des paquets sans que les deux parties ne le détectent. En termes de configuration, trois états existent : désactivé, activé mais non requis, et requis (enforced). Seul l'état 'requis' offre une protection réelle. Par défaut, les contrôleurs de domaine Windows activent et requièrent le SMB signing. En revanche, les postes de travail et serveurs membres ont le SMB signing activé mais non requis, ce qui les rend vulnérables. Cette distinction est fondamentale pour comprendre la surface d'attaque dans un environnement Active Directory.

Détection (Blue Team / SOC)

La détection des attaques exploitant l'absence de SMB signing repose sur plusieurs sources de logs. L'événement Windows 3000 du journal Microsoft-Windows-SMBServer/Security indique qu'un client s'est connecté sans signature. L'audit des connexions SMB peut être activé via la stratégie de groupe 'Microsoft network server: Digitally sign communications (always)'. Côté réseau, une capture Wireshark ou Zeek permet d'identifier les sessions SMB où le flag 'signing required' est à false dans les messages 'Negotiate Protocol'. Un SIEM peut corréler les connexions SMB réussies sans signature avec des changements de droits ou des accès inhabituels. Les outils comme BloodHound collectent nativement l'état du SMB signing sur chaque hôte du domaine via l'attribut 'SMBSigning'. Des alertes sur l'utilisation de Responder ou ntlmrelayx peuvent aussi être déclenchées en surveillant les requêtes LLMNR/NBT-NS anormales, visibles dans les logs DNS et les captures réseau. Une baseline des hôtes avec SMB signing non requis permet de prioriser les actions de remédiation.

Exploitation & contre-mesures (Red Team)

L'absence de SMB signing requis est la condition préalable à l'attaque NTLM relay, technique centrale en pentest Active Directory. L'outil Responder empoisonne les réponses LLMNR, NBT-NS et mDNS pour capturer des authentifications NTLM. Ces challenges sont ensuite relayés en temps réel vers des cibles sans SMB signing via ntlmrelayx (impacket). Sans signature, le serveur cible ne peut pas vérifier l'origine du paquet et accepte l'authentification relayée. L'attaquant obtient alors une session avec les droits de la victime sur la machine cible. Des options avancées de ntlmrelayx permettent l'exécution de commandes, le dump de secrets LSASS via secretsdump, ou la création de comptes machine. La contre-mesure principale est d'activer 'Microsoft network client/server: Digitally sign communications (always)' via GPO sur l'ensemble du parc. Sur les systèmes modernes (Windows 11 et Server 2025), le SMB signing est requis par défaut. Il est aussi recommandé de désactiver LLMNR et NBT-NS pour supprimer le vecteur d'empoisonnement initial. CrackMapExec permet de scanner rapidement l'état du SMB signing sur tout un réseau via l'option '--gen-relay-list'.

Articles sur SMB signing

MenacesActive Directory : quand le contrôleur de domaine devient une porte ouverte

Un contrôleur de domaine mal configuré suffit à exposer tout un SI. LLMNR, SMB signing, versions obsolètes : le tour des vecteurs d'attaque les plus exploités.

21 juin 20265 min de lecture