Az - Pass the Certificate
Pass the Certificate (Azure)
В 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 іншого користувача.
References
Для отримання додаткової інформації про те, як працює Pass the Certificate, перегляньте оригінальну публікацію https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
Last updated