Az - 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:
Ім'я користувача
Ідентифікатор орендаря
PRT
Контекст безпеки
Похідний ключ
Можливо запитати сертифікат P2P для користувача за допомогою інструменту PrtToCert:
Сертифікати будуть діяти стільки ж часу, скільки і PRT. Для використання сертифіката ви можете використовувати інструмент Python AzureADJoinedMachinePTC, який буде аутентифікуватися на віддаленій машині, запускати PSEXEC та відкривати CMD на машині жертви. Це дозволить нам знову використовувати Mimikatz для отримання PRT іншого користувача.
Посилання
Для отримання детальнішої інформації про те, як працює Pass the Certificate, перегляньте оригінальний пост https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
Last updated