NTLM est l'ancien protocole d'authentification défi-réponse de Windows, encore activé presque partout aux côtés de Kerberos. Ses faiblesses sont structurelles : la réponse est dérivée directement du hash NT (de sorte que le hash seul authentifie, sans mot de passe nécessaire), et le protocole n'a aucun lien intrinsèque avec le service auquel il est envoyé (de sorte qu'une authentification capturée peut être réacheminée ailleurs). Ces deux faits produisent toute la famille des attaques NTLM.
Les quatre mouvements#
- Capture : forcer une victime à s'authentifier auprès de vous (en empoisonnant la résolution de noms), et enregistrer la réponse NetNTLMv2 pour la casser hors ligne.
- Coercition : amener une machine privilégiée, en particulier un contrôleur de domaine, à s'authentifier auprès de vous à la demande via un déclencheur RPC ou de protocole.
- Relais : réacheminer une authentification capturée ou forcée vers un service tiers en temps réel et y agir en tant que la victime, sans jamais connaître le mot de passe.
- Rejeu (pass-the-hash) : s'authentifier directement avec un hash NT volé, puisque le protocole n'a jamais besoin du texte en clair.
La capture et la coercition produisent l'authentification ; le relais et le pass-the-hash la consomment. Les protections de la cible du relais (signature SMB, signature LDAP et channel binding) décident si le relais est possible.
Pages#
- Capture et empoisonnement Net-NTLM : récolter l'authentification par empoisonnement LLMNR/NBT-NS/mDNS.
- Spoofing ADIDNS : ajouter des enregistrements DNS intégrés à AD pour empoisonner la résolution de noms à l'échelle du domaine.
- Coercition : forcer les machines privilégiées à s'authentifier (PetitPotam, PrinterBug, et d'autres).
- Relais : réacheminer l'authentification vers des cibles SMB, LDAP et HTTP.
- Pass-the-hash : s'authentifier et exécuter avec un hash NT volé.