Comprendre l’attaque PetitPotam

attaque petit potam

PetitPotam est une attaque redoutable qui exploite les protocoles RPC (Remote Procedure Call) pour forcer une machine Windows à s’authentifier auprès d’un serveur malveillant. Dévoilée en 2021, cette attaque a suscité une grande inquiétude, notamment dans les environnements Active Directory.

Qu’est-ce que l’attaque PetitPotam ?

PetitPotam tire parti d’une faille dans l’API EfsRpcOpenFileRaw, un appel du système lié au service Encrypting File System (EFS). L’attaquant envoie une requête RPC spécialement conçue pour forcer une machine cible à se connecter à une machine distante, souvent contrôlée par l’attaquant. Cela peut être utilisé pour :

  • Déclencher une authentification NTLM non sollicitée

  • Intercepter les hashs NTLM

  • Lancer une attaque relayée (NTLM relay) vers un autre service (par exemple, LDAP ou SMB)

👉 En résumé, l’attaque permet de forcer l’authentification d’un contrôleur de domaine vers un serveur contrôlé par l’attaquant.

Pourquoi est-ce dangereux ?

Cette attaque est particulièrement grave car :

  • Elle peut être utilisée pour prendre le contrôle d’un domaine Active Directory

  • Elle ne nécessite aucune élévation de privilège locale sur la machine cible

  • Elle fonctionne même lorsque LDAP signing est activé, si d’autres services sont vulnérables

PetitPotam est souvent combiné avec d’autres techniques comme NTLM relay avec mitm6 ou ntlmrelayx pour escalader les privilèges dans un domaine.

Conditions nécessaires

Pour que l’attaque fonctionne :

  • Le service EFS RPC doit être accessible (par défaut via lsass.exe)

  • La machine cible doit accepter les connexions RPC à distance

  • Le relais NTLM doit être possible sur une autre machine contrôlée par l’attaquant

Comment se protéger ?

Voici quelques mesures de sécurité recommandées :

  • Désactiver le service EFS si non utilisé

  • Bloquer l’accès RPC sur les ports utilisés par EFS (souvent TCP 135)

  • Mettre à jour Windows, car Microsoft a publié des correctifs partiels

  • Utiliser Kerberos exclusivement pour éviter le NTLM relay

  • Implémenter SMB signing obligatoire et LDAP signing

Filtrage RPC pour bloquer l'accès EFSRPC

Pour limiter l’exposition aux attaques comme PetitPotam, il est essentiel de filtrer les connexions RPC sur les ports associés au service EFSRPC. Cela permet de bloquer l’accès aux services vulnérables et de réduire la surface d’attaque. Vous pouvez utiliser des commandes de filtrage via des outils comme netsh pour restreindre ou bloquer l’accès à ces services.

C:\Windows\System32>netsh
netsh>rpc filter
netsh rpc filter>add rule layer=um actiontype=block
Ok.
netsh rpc filter>add condition field=if_uuid matchtype=equal data=df1941c5-fe89-4e79-bf10-463657acf44d
Ok.
netsh rpc filter>add filter
FilterKey: a4f73ea2-1441-11f0-8dda-581cf8441b5a
Ok.
netsh rpc filter>add rule layer=um actiontype=block
Ok.
netsh rpc filter>add condition field=if_uuid matchtype=equal data=c681d488-d850-11d0-8c52-00c04fd90f7e
Ok.
netsh rpc filter>add filter
FilterKey: b34e2e4f-1441-11f0-8dda-581cf8441b5a
Ok.
netsh rpc filter>

Conclusion

L’attaque PetitPotam est un excellent exemple de la manière dont des fonctionnalités légitimes de Windows peuvent être détournées à des fins malveillantes. Même si elle ne permet pas à elle seule de compromettre un domaine, elle joue un rôle clé dans des chaînes d’attaques complexes, notamment le NTLM relay. Il est donc crucial pour les administrateurs système de comprendre les mécanismes sous-jacents, de désactiver les services non essentiels et de renforcer les politiques d’authentification dans l’environnement Active Directory.

🔐 En combinant bonnes pratiques, correctifs de sécurité et filtrage ciblé, on peut considérablement réduire la surface d’attaque exposée par les services RPC. Restez vigilants, et surtout : auditez régulièrement votre réseau !