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)
Z dokumentacji: Azure Active Directory (Azure AD) Pass-through Authentication pozwala Twoim użytkownikom logować się zarówno do aplikacji lokalnych, jak i opartych na chmurze, używając tych samych haseł. Ta funkcja zapewnia lepsze doświadczenie użytkowników - 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 Twoim 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 nazwę 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.
Jeśli atakujący kompromituje PTA, może zobaczyć wszystkie dane uwierzytelniające z kolejki (w czystym tekście). Może również walidować dowolne dane uwierzytelniające w AzureAD (podobny atak do klucza szkieletowego).
Jeśli masz dostęp administratora do serwera Azure AD Connect z działającym agentem PTA, możesz użyć modułu AADInternals, aby wstawić tylne drzwi, które zwalidują WSZYSTKIE hasła wprowadzone (tak, że wszystkie hasła będą ważne do autoryzacji):
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:
This backdoor will:
Create a hidden folder C:\PTASpy
Copy a PTASpy.dll
to C:\PTASpy
Injects PTASpy.dll
to AzureADConnectAuthenticationAgentService
process
Gdy usługa AzureADConnectAuthenticationAgent jest ponownie uruchamiana, PTASpy jest „odładowywany” i musi być 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:
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)