Az - PTA - Pass-through Authentication
Podstawowe informacje
Z dokumentacji: Azure Active Directory (Azure AD) Pass-through Authentication pozwala użytkownikom na logowanie się do aplikacji lokalnych i opartych na chmurze za pomocą tych samych haseł. Ta funkcja zapewnia lepsze doświadczenie użytkownikom - jedno hasło mniej do zapamiętania, a także zmniejsza koszty pomocy technicznej IT, ponieważ użytkownicy rzadziej zapominają, jak się zalogować. Gdy użytkownicy logują się za pomocą Azure AD, ta funkcja weryfikuje 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.
Uwierzytelnianie jest weryfikowane w lokalnym AD, a komunikacja z chmurą odbywa się za pomocą agenta uwierzytelniania działającego na serwerze lokalnym (nie musi to być lokalny DC).
Przebieg uwierzytelniania
Aby się zalogować, użytkownik jest przekierowywany do Azure AD, gdzie wysyła nazwę użytkownika i hasło
Poświadczenia są szyfrowane i umieszczane w kolejce w Azure AD
Lokalny agent uwierzytelniania pobiera poświadczenia z kolejki i odszyfrowuje je. Ten agent nazywa się "Pass-through authentication agent" lub PTA agent.
Agent weryfikuje poświadczenia w lokalnym AD i wysyła odpowiedź z powrotem do Azure AD, które, jeśli odpowiedź jest pozytywna, zakończy logowanie użytkownika.
Jeśli atakujący przełamie zabezpieczenia PTA, może zobaczyć wszystkie poświadczenia z kolejki (w czystym tekście). Może również weryfikować dowolne poświadczenia w AzureAD (podobny atak do Skeleton key).
On-Prem -> chmura
Jeśli masz dostęp administracyjny do serwera Azure AD Connect z działającym agentem PTA, możesz użyć modułu AADInternals do wstawienia tylnej furtki, która będzie weryfikować WSZYSTKIE wprowadzone hasła (więc wszystkie hasła będą ważne do uwierzytelniania):
Jeśli instalacja się nie powiedzie, prawdopodobnie jest to spowodowane brakiem Microsoft Visual C++ 2015 Redistributables.
Możliwe jest również zobaczenie haseł w postaci jawnej wysyłanych do agenta PTA za pomocą następującego polecenia cmdlet na maszynie, na której zainstalowano poprzedniego backdoora:
Ten backdoor będzie:
Utworzy ukryty folder
C:\PTASpy
Skopiuje
PTASpy.dll
doC:\PTASpy
Wstrzyknie
PTASpy.dll
do procesuAzureADConnectAuthenticationAgentService
Gdy usługa AzureADConnectAuthenticationAgent zostanie ponownie uruchomiona, PTASpy jest „rozładowany” i musi być ponownie zainstalowany.
Cloud -> On-Prem
Po uzyskaniu GA privileges 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 i również, uzyskać hasła w postaci jawnej.
Seamless SSO
Możliwe jest użycie Seamless SSO z PTA, które jest podatne na inne nadużycia. Sprawdź to w:
Az - Seamless SSOReferences
Last updated