Az - PTA - Pass-through Authentication

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Podstawowe informacje

Z dokumentacji: Uwierzytelnianie przekazywane w usłudze Azure Active Directory (Azure AD) pozwala Twoim użytkownikom zalogować się do aplikacji zarówno lokalnych, jak i opartych na chmurze, używając tych samych haseł. Ta funkcja zapewnia Twoim użytkownikom lepsze doświadczenie - mniej haseł do zapamiętania i zmniejsza koszty działu pomocy technicznej IT, ponieważ użytkownicy są mniej skłonni zapomnieć, jak się zalogować. Gdy użytkownicy logują się za pomocą Azure AD, ta funkcja sprawdza hasła użytkowników bezpośrednio w Twoim lokalnym katalogu Active Directory.

W PTA tożsamościsynchronizowane, ale hasła nie są, jak w przypadku 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 być to kontroler domeny lokalnej).

Przepływ uwierzytelniania

  1. Aby zalogować użytkownika, jest on przekierowywany do Azure AD, gdzie wysyła nazwę użytkownika i hasło

  2. Poświadczeniaszyfrowane i umieszczone w kolejce w Azure AD

  3. Agent uwierzytelniania lokalnego pobiera poświadczenia z kolejki i je deszyfruje. Ten agent nazywa się "Agentem uwierzytelniania przekazywanego" lub agentem PTA.

  4. Agent sprawdza poświadczenia w lokalnym AD i wysyła odpowiedź z powrotem do Azure AD, które, jeśli odpowiedź jest pozytywna, zakończa logowanie użytkownika.

Jeśli atakujący przejmuje kontrolę nad PTA, może zobaczyć wszystkie poświadczenia z kolejki (w czystym tekście). Może również zweryfikować dowolne poświadczenia do AzureAD (podobny atak do klucza szkieletowego).

Lokalnie -> chmura

Jeśli masz dostęp admina do serwera Azure AD Connect z uruchomionym agentem PTA, możesz użyć modułu AADInternals do wstawienia tylnych drzwi, które będą weryfikować WSZYSTKIE hasła wprowadzone (więc wszystkie hasła będą ważne do uwierzytelniania):

Install-AADIntPTASpy

Jeśli instalacja zawiedzie, prawdopodobnie jest to spowodowane brakiem Rozdystrybuowalnych pakietów Microsoft Visual C++ 2015.

Możliwe jest również zobaczenie haseł w tekście jawnym wysyłanych do agenta PTA za pomocą następującego polecenia cmdlet na maszynie, na której zainstalowano poprzednie tylne drzwi:

Get-AADIntPTASpyLog -DecodePasswords

To backdoor będzie:

  • Utworzy ukryty folder C:\PTASpy

  • Skopiuj PTASpy.dll do C:\PTASpy

  • Wstrzyknie PTASpy.dll do procesu AzureADConnectAuthenticationAgentService

Po ponownym uruchomieniu usługi AzureADConnectAuthenticationAgent, PTASpy jest "odłączony" i musi zostać ponownie zainstalowany.

Chmura -> Lokalnie

Po uzyskaniu uprawnień GA w chmurze, możliwe jest zarejestrowanie nowego agenta PTA, ustawiając go na maszynie kontrolowanej przez atakującego. Gdy agent jest skonfigurowany, możemy powtórzyć poprzednie kroki, aby uwierzytelnić się, używając dowolnego hasła i również uzyskać hasła w postaci czystego tekstu.

Bezproblemowe SSO

Możliwe jest korzystanie z Bezproblemowego SSO z PTA, co jest podatne na inne nadużycia. Sprawdź to w:

pageAz - Seamless SSO

Odnośniki

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Last updated