# Az - Pass the Certificate

{{#include ../../../banners/hacktricks-training.md}}

## Pass the Certificate (Azure)

Dans les machines jointes à Azure, il est possible de s'authentifier d'une machine à une autre en utilisant des certificats qui **doivent être émis par Azure AD CA** pour l'utilisateur requis (en tant que sujet) lorsque les deux machines prennent en charge le mécanisme d'authentification **NegoEx**.

En termes super simplifiés :

- La machine (client) initiant la connexion **a besoin d'un certificat d'Azure AD pour un utilisateur**.
- Le client crée un en-tête JSON Web Token (JWT) contenant PRT et d'autres détails, le signe en utilisant la clé dérivée (en utilisant la clé de session et le contexte de sécurité) et **l'envoie à Azure AD**.
- Azure AD vérifie la signature JWT en utilisant la clé de session du client et le contexte de sécurité, vérifie la validité du PRT et **répond** avec le **certificat**.

Dans ce scénario et après avoir récupéré toutes les informations nécessaires pour une attaque [**Pass the PRT**](pass-the-prt.md) :

- Nom d'utilisateur
- ID de locataire
- PRT
- Contexte de sécurité
- Clé dérivée

Il est possible de **demander un certificat P2P** pour l'utilisateur avec l'outil [**PrtToCert**](https://github.com/morRubin/PrtToCert)**:**
```bash
RequestCert.py [-h] --tenantId TENANTID --prt PRT --userName USERNAME --hexCtx HEXCTX --hexDerivedKey HEXDERIVEDKEY [--passPhrase PASSPHRASE]
```
Les certificats dureront aussi longtemps que le PRT. Pour utiliser le certificat, vous pouvez utiliser l'outil python [**AzureADJoinedMachinePTC**](https://github.com/morRubin/AzureADJoinedMachinePTC) qui va **authentifier** la machine distante, exécuter **PSEXEC** et **ouvrir un CMD** sur la machine victime. Cela nous permettra d'utiliser à nouveau Mimikatz pour obtenir le PRT d'un autre utilisateur.
```bash
Main.py [-h] --usercert USERCERT --certpass CERTPASS --remoteip REMOTEIP
```
## Références

- Pour plus de détails sur le fonctionnement de Pass the Certificate, consultez le post original [https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597](https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597)

{{#include ../../../banners/hacktricks-training.md}}
