Az - PTA - Pass-through Authentication
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)
From the docs: Azure Active Directory (Azure AD) Pass-through Authentication pozwala użytkownikom na logowanie się zarówno do aplikacji lokalnych, jak i opartych na chmurze, używając tych samych haseł. Ta funkcja zapewnia użytkownikom lepsze doświadczenie - jedno mniej hasło do zapamiętania, a także zmniejsza koszty pomocy IT, ponieważ użytkownicy rzadziej zapominają, jak się zalogować. Gdy użytkownicy logują się za pomocą Azure AD, ta funkcja waliduje hasła użytkowników bezpośrednio w lokalnym Active Directory.
W PTA tożsamości są synchronizowane, ale hasła nie są jak w PHS.
Autoryzacja jest walidowana w lokalnym AD, a komunikacja z chmurą odbywa się za pomocą agenta autoryzacji działającego na lokalnym serwerze (nie musi być na lokalnym DC).
Aby zalogować się, użytkownik jest przekierowywany do Azure AD, gdzie wysyła nazwa użytkownika i hasło
Dane uwierzytelniające są szyfrowane i umieszczane w kolejce w Azure AD
Lokalny agent autoryzacji zbiera dane uwierzytelniające z kolejki i je odszyfrowuje. Ten agent nazywa się "agentem autoryzacji przechodzącej" lub agentem PTA.
Agent waliduje dane uwierzytelniające w stosunku do lokalnego AD i wysyła odpowiedź z powrotem do Azure AD, która, jeśli odpowiedź jest pozytywna, kończy logowanie użytkownika.
If an attacker compromises the PTA he can see the all credentials from the queue (in clear-text). He can also validate any credentials to the AzureAD (similar attack to Skeleton key).
If you have admin access to the Azure AD Connect server with the PTA agent running, you can use the AADInternals module to insert a backdoor that will validate ALL the passwords introduced (so all passwords will be valid for authentication):
Jeśli instalacja nie powiedzie się, prawdopodobnie jest to spowodowane brakującymi Microsoft Visual C++ 2015 Redistributables.
Możliwe jest również zobaczenie haseł w postaci czystego tekstu wysyłanych do agenta PTA za pomocą następującego cmdletu na maszynie, na której zainstalowano poprzedni backdoor:
Ten backdoor będzie:
Tworzyć ukrytą folder C:\PTASpy
Kopiować PTASpy.dll
do C:\PTASpy
Wstrzykiwać PTASpy.dll
do procesu AzureADConnectAuthenticationAgentService
Gdy usługa AzureADConnectAuthenticationAgent zostanie ponownie uruchomiona, PTASpy jest „odładowany” i musi zostać ponownie zainstalowany.
Po uzyskaniu uprawnień GA w chmurze, możliwe jest zarejestrowanie nowego agenta PTA poprzez ustawienie go na maszynie kontrolowanej przez atakującego. Gdy agent jest skonfigurowany, możemy powtórzyć poprzednie kroki, aby uwierzytelnić się przy użyciu dowolnego hasła oraz uzyskać hasła w postaci czystego tekstu.
Możliwe jest użycie Seamless SSO z PTA, które jest podatne na inne nadużycia. Sprawdź to w:
Az - Seamless SSOUcz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)