Enumération Kerberos

Pour ce premier court article de la série « exploitation de Kerberos » nous allons voir comment faire de l’énumération d’utilisateurs grâce au protocole Kerberos.

Lors d’une authentification, trois message peuvent être renvoyés par l’Authentication Service :

KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN : si le nom d’utilisateur n’existe pas.
KRB5KDC_ERR_PREAUTH_REQUIRED : si l’utilisateur est valide mais qu’il doit s’authentifier.
KDC_ERR_CLIENT_REVOKED : le compte utilisateur n’existe plus.

En analysant le type de message envoyé par l’AS nous allons donc pouvoir définir si un utilisateur existe, a existé ou n’existe pas.

Pour la suite de l’article nous allons nous servir de Metasploit qui propose un module auxiliaire pour exploiter ce défaut de conception : auxiliary/gather/kerberos_enumusers

Trois options sont à spécifier : le domaine, l’IP du KDC et un fichier contenant la liste des utilisateurs à tester :

enum1.png

Ici quatre utilisateurs ont été découvert. Ils pourront nous servir plus tard notamment pour une session de brute force. Attention cependant à respecter la politique de blocage de comptes afin de ne pas bloquer tous les utilisateurs de tout un réseau Active Directory  !