PetitPotam : recommandations sur les actions à mettre en place pour neutraliser cette attaque

Maxime ALAY-EDDINE
août 11, 2021

PetitPotam : une attaque de type relai NTLM

PetitPotam est une technique d’attaque identifiée par le chercheur en sécurité Lionel GILLES (plus connu sous le pseudonyme topotam).

Cette attaque est de la famille des relais NTLM. NTLM (ou NT LAN Manager) est un protocole d’authentification très utilisé dans les technologies de Microsoft. NTLM repose sur une technique dite de « stimulation-réponse » (challenge / response en anglais). Cette technique permet de prouver son identité sans transmettre de mot de passe, via des calculs d’empreintes cryptographiques. Le concept de NTLM est le suivant :

  • l’utilisateur connaît son identifiant et son mot de passe ;
  • le serveur cible connaît également l’identifiant et le mot de passe de l’utilisateur ;
  • la preuve de l’identité de l’utilisateur se fait alors par transmission d’une valeur, à laquelle l’utilisateur ajoute son mot de passe puis calcule une empreinte cryptographique ;
  • de son côté, le serveur cible effectue la même opération et calcule lui aussi l’empreinte cryptographique ;
  • l’utilisateur transmet ensuite l’empreinte, et le serveur cible compare cette empreinte à celle qu’il avait calculée de son côté, l’opération permettant alors de vérifier la légitimité de la connexion.

Une attaque de type « relai NTLM » consiste à forcer un utilisateur ciblé à effectuer une connexion vers un système compromis, puis à relayer les requêtes ainsi obtenues vers le service à attaquer. Cette opération permet à l’attaquant de résoudre le problème de stimulation-réponse au nom d’un autre utilisateur, et donc d’obtenir une élévation de privilèges.

L’attaque PetitPotam permet de forcer un contrôleur de domaine à effectuer une requête vers un service NTLM contrôlé par l’attaquant, à l’aide de l’API MS-EFSRPC. En cas de réussite, l’attaquant obtient alors des droits complets sur le contrôleur de domaine.

PetitPotam ne sera pas corrigée par Microsoft

Microsoft indique dans son article KB5005413 que :

  • PetitPotam est une attaque classique de la famille des relais NTLM ;
  • De nombreuses recommandations techniques déjà documentées permettent de neutraliser ces attaques.

En conséquence, Microsoft indique que PetitPotam ne fera pas l’objet de correctifs de sécurité. Il appartient à chaque organisation d’appliquer les contremesures adaptées sur les contrôleurs de domaine afin d’éviter cette attaque.

Quels sont les systèmes affectés par PetitPotam ?

L’ANSSI précise dans son bulletin CERTFR-2021-ACT-032 que PetitPotam cible « les serveurs sur lesquels les services de certification Active Directory (AD CS) ne sont pas configurés avec des protections contre les attaques par relais NTLM. Les mesures d’atténuation décrites dans la KB5005413 indiquent aux utilisateurs la façon de prémunir leurs serveurs AD CS contre de telles attaques. »

L’ANSSI indique également : « sont potentiellement vulnérables les réseaux où l’authentification NTLM est activée au sein d’un domaine et si les services de certification « Active Directory Certificate Services (AD CS) » sont les suivants :
– Inscription Web de l’autorité de certification (Certificate Authority Web Enrollment)
– Service Web d’inscription des certificats (Certificate Enrollment Web Service) »

Existe-t-il des kits d’attaques ou exploits pour utiliser PetitPotam ?

Lionel GILLES (topotam) a publié un exploit sur GitHub, qui utilisent les tubes nommés (named pipes) LSARPC et EFSRPC, via les interfaces c681d488-d850-11d0-8c52-00c04fd90f7e et df1941c5-fe89-4e79-bf10-463657acf44d.

La vidéo ci-dessous montre une démonstration de l’exploit :

Comment neutraliser PetitPotam ?

L’approche aujourd’hui la plus simple et générant le moins d’effets de bord est d’ajouter des filtres RPC. Ici, ces filtres s’ajoutent au niveau réseau, sur la couche « User Mode » (UM), afin de bloquer les requêtes sur les interfaces utilisées par PetitPotam.

Benjamin Delpy propose la procédure suivante, également recommandée par Bleeping Computer :

1. Sur votre Bureau, créez un fichier nommé « block_efsr.txt » qui contient les lignes suivantes :

rpc
filter
add rule layer=um actiontype=block
add condition field=if_uuid matchtype=equal data=c681d488-d850-11d0-8c52-00c04fd90f7e
add filter
add rule layer=um actiontype=block
add condition field=if_uuid matchtype=equal data=df1941c5-fe89-4e79-bf10-463657acf44d
add filter
quit

2. Cliquez sur « Démarrer », puis recherchez « cmd », et lancez « l’Invite de commandes » en mode Administrateur

Exécuter l’Invite de commandes en tant qu’administrateur

3. Ensuite, dans l’Invite de commandes, exécutez :

netsh -f %userprofile%\desktop\block_efsr.txt

Vous pouvez alors vérifier que la procédure a bien fonctionné, via la commande :

netsh rpc filter show filter

Si l’on commente ligne par ligne le fichier block_efsr.txt, celui-ci consiste à :

  • Ajouter une règle (add rule) de blocage (actiontype=block) sur la couche utilisateur (layer=um pour User Mode)
  • Déclarer en condition d’activation de la règle l’utilisation d’un UUID (field=if_uuid) dont la valeur est égale (matchtype=equal) à l’un des UUIDs utilisés par PetitPotam (c681d488-d850-11d0-8c52-00c04fd90f7e pour LSARPC et df1941c5-fe89-4e79-bf10-463657acf44d pour EFSRPC)

Pour retirer les règles ainsi configurées, il suffit alors de lancer la commande :

netsh rpc filter show filter

Puis de noter les valeurs filterKey utilisées par les 2 filtres de PetitPotam, et de lancer :

netsh rpc filter delete filter filterkey=<clé_du_filtre_à_supprimer>

Outre cette approche relativement efficace, et peu impactante, Microsoft recommande aussi d’activer l’EPA (Extended Protection for Authentication) et de désactiver HTTP sur les serveurs qui utilisent AD CS. Cyberwatch laisse au lecteur le choix d’appliquer ces mesures en sus ou remplacement des filtres RPC.

Cyberwatch Compliance Manager propose une règle de conformité pour vérifier la présence des règles de filtrage RPC sur votre contrôleur de domaine. N’hésitez pas à nous demander une démonstration via le formulaire dédié.

Vous avez des questions ?

Vous souhaitez une démonstration ?

Contactez-nous et nos experts reviendront vers vous sous 24h.

Votre demande