Az - Pass the Certificate
Reading time: 3 minutes
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.
Pass the Certificate (Azure)
In Azure-verbundenen Maschinen ist es möglich, sich von einer Maschine zur anderen mit Zertifikaten zu authentifizieren, die von Azure AD CA für den erforderlichen Benutzer (als Subjekt) ausgestellt werden müssen, wenn beide Maschinen den NegoEx-Authentifizierungsmechanismus unterstützen.
In super vereinfachten Begriffen:
- Die Maschine (Client), die die Verbindung initiiert, benötigt ein Zertifikat von Azure AD für einen Benutzer.
- Der Client erstellt einen JSON Web Token (JWT) Header, der PRT und andere Details enthält, signiert ihn mit dem abgeleiteten Schlüssel (unter Verwendung des Sitzungsschlüssels und des Sicherheitskontexts) und sendet ihn an Azure AD.
- Azure AD überprüft die JWT-Signatur mit dem Sitzungsschlüssel des Clients und dem Sicherheitskontext, prüft die Gültigkeit des PRT und antwortet mit dem Zertifikat.
In diesem Szenario und nachdem alle benötigten Informationen für einen Pass the PRT Angriff gesammelt wurden:
- Benutzername
- Mandanten-ID
- PRT
- Sicherheitskontext
- Abgeleiteter Schlüssel
Es ist möglich, ein P2P-Zertifikat für den Benutzer mit dem Tool PrtToCert:
RequestCert.py [-h] --tenantId TENANTID --prt PRT --userName USERNAME --hexCtx HEXCTX --hexDerivedKey HEXDERIVEDKEY [--passPhrase PASSPHRASE]
Die Zertifikate haben die gleiche Gültigkeit wie das PRT. Um das Zertifikat zu verwenden, können Sie das Python-Tool AzureADJoinedMachinePTC verwenden, das sich authentifiziert und PSEXEC ausführt sowie eine CMD auf der Opfermaschine öffnet. Dies ermöglicht es uns, Mimikatz erneut zu verwenden, um das PRT eines anderen Benutzers zu erhalten.
Main.py [-h] --usercert USERCERT --certpass CERTPASS --remoteip REMOTEIP
Referenzen
- Für weitere Details darüber, wie Pass the Certificate funktioniert, siehe den Originalbeitrag https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
tip
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Lernen & üben Sie Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Unterstützen Sie HackTricks
- Überprüfen Sie die Abonnementpläne!
- Treten Sie der 💬 Discord-Gruppe oder der Telegram-Gruppe bei oder folgen Sie uns auf Twitter 🐦 @hacktricks_live.
- Teilen Sie Hacking-Tricks, indem Sie PRs an die HackTricks und HackTricks Cloud GitHub-Repos senden.