AS-REP Roasting

Si un compte n’exige pas la pre-authentification Kerberos (option « Do not require Kerberos preauthentication » d’activée), un attaquant peut demander un AS-REP pour ce compte sans connaître le mot de passe. Le KDC renvoie une portion chiffrée contenant des données dérivées du mot de passe de ce compte. Cette dernière peut ensuite être attaqué hors ligne (attaques par dictionnaire ou bruteforce) pour retrouver le mot de passe du compte sans générer d’authentification réseau ni provoquer d’échecs visibles côté client.

Identifier les comptes vulnérables

Il est possible de lister les comptes vulnérables avec impacket de deux façons différents. Si nous possédons déjà un compte du domaine, nous pouvons interroger la base des utilisateurs via LDAP :

GetNPUsers.py -request -format hashcat -outputfile $OUTPUT_FILE -dc-ip $DC_IP "$DOMAIN/$USER:$PASS"

Si non, il est possible d’utiliser ce même outil avec un dictionnaire de noms d’utilisateurs afin d’énumérer sur celui-ci :

GetNPUsers.py -request -format hashcat -outputfile $OUTPUT_FILE -usersfile $USERS_FILE -dc-ip $DC_IP "$DOMAIN/"

Casser le ticket

Si des utilisateurs sont effectivement vulnérable, il est alors possible de tenter de retrouver leur mot de passe grâce à hashcat ou john the ripper :

Voir le guide dédié aux attaques par bruteforce