Pass the ticket

Pass the Ticket est la version Kerberosifiée de la célèbre attaque Pass the Hash. Comme son nom l'indique, le but de cette attaque va être d'exporter un ticket (TGT ou TGS) depuis une machine compromise et de l'incorporer dans notre session afin d'usurper l'identité et les droits de l'utilisateur d'origine.

L'attaque Pass the Ticket présente cela dit quelques limitations. La première, c'est qu'un utilisateur non privilégié ne pourra pas dumper son TGT à moins que la clé de registre:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters\AllowTgtSessionKey

Soit positionnée à autre chose que 0.

Proof of concept:

Si la clé de registre vaut 0, le TGT exporté aura une clé de session vide:

Il ne sera donc pas possible d'utiliser ce TGT pour de futures demandes de TGS.

En revanche si la clé AllowTgtSessionKey est positionnée à autre chose que 1, la clé de session ne sera pas vide:

Vous pourrez donc usurper ce TGT. La clé de registre étant située dans le groupe HKEY_LOCAL_MACHINE il sera nécessaire d'avoir les droits NT System pour pouvoir y ajouter la clé AllowTgtSessionKey (REG_DWORD).

Pour exporter un ticket on pourra se servir de mimikatz et de cette commande :

kerberos::list /export