Az - Pass the Certificate
Przekazanie Certyfikatu (Azure)
W przypadku połączonych maszyn w Azure możliwe jest uwierzytelnianie z jednej maszyny do drugiej za pomocą certyfikatów, które muszą być wydane przez Azure AD CA dla wymaganego użytkownika (jako podmiot), gdy obie maszyny obsługują mechanizm uwierzytelniania NegoEx.
W bardzo uproszczonych terminach:
Maszyna (klient) inicjująca połączenie potrzebuje certyfikatu od Azure AD dla użytkownika.
Klient tworzy nagłówek JSON Web Token (JWT) zawierający PRT i inne szczegóły, podpisuje go za pomocą klucza pochodnego (używając klucza sesji i kontekstu zabezpieczeń) i wysyła go do Azure AD.
Azure AD weryfikuje podpis JWT za pomocą klucza sesji klienta i kontekstu zabezpieczeń, sprawdza ważność PRT i odpowiada certyfikatem.
W tym scenariuszu, po zebraniu wszystkich potrzebnych informacji do ataku Przekazanie PRT:
Nazwa użytkownika
ID najemcy
PRT
Kontekst zabezpieczeń
Klucz pochodny
Możliwe jest żądanie certyfikatu P2P dla użytkownika za pomocą narzędzia PrtToCert:
Certyfikaty będą trwać tak samo jak PRT. Aby użyć certyfikatu, można skorzystać z narzędzia Python AzureADJoinedMachinePTC, które uwierzytelnia się na zdalnej maszynie, uruchamia PSEXEC i otwiera CMD na maszynie ofiary. Pozwoli nam to ponownie użyć Mimikatz, aby uzyskać PRT innego użytkownika.
Odnośniki
Aby uzyskać więcej szczegółów na temat działania Pass the Certificate, sprawdź oryginalny post https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
Last updated