Az - Pass the Certificate
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
В Azure приєднані машини можуть аутентифікуватися з однієї машини на іншу, використовуючи сертифікати, які повинні бути видані Azure AD CA для потрібного користувача (як суб'єкта), коли обидві машини підтримують механізм аутентифікації NegoEx.
В супер спрощених термінах:
Машина (клієнт), що ініціює з'єднання, потребує сертифікат від Azure AD для користувача.
Клієнт створює заголовок JSON Web Token (JWT), що містить PRT та інші деталі, підписує його, використовуючи похідний ключ (з використанням сеансового ключа та контексту безпеки) і надсилає його до Azure AD.
Azure AD перевіряє підпис JWT, використовуючи сеансовий ключ клієнта та контекст безпеки, перевіряє дійсність PRT і відповідає з сертифікатом.
У цьому сценарії та після збору всієї інформації, необхідної для атаки Pass the PRT:
Ім'я користувача
ID орендаря
PRT
Контекст безпеки
Похідний ключ
Можна запросити P2P сертифікат для користувача за допомогою інструменту PrtToCert:
Сертифікати будуть діяти так само, як і PRT. Щоб використовувати сертифікат, ви можете скористатися інструментом python AzureADJoinedMachinePTC, який автентифікується на віддаленій машині, запускає PSEXEC і відкриває CMD на машині жертви. Це дозволить нам знову використовувати Mimikatz, щоб отримати PRT іншого користувача.
Для отримання додаткової інформації про те, як працює Pass the Certificate, перегляньте оригінальну публікацію https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)