Az - PTA - Pass-through Authentication

Unterstütze HackTricks

Grundlegende Informationen

Aus den Dokumenten: Azure Active Directory (Azure AD) Pass-through Authentication ermöglicht es Ihren Benutzern, sich mit denselben Passwörtern sowohl bei lokalen als auch bei cloudbasierten Anwendungen anzumelden. Diese Funktion bietet Ihren Benutzern eine bessere Erfahrung - ein Passwort weniger zu merken, und reduziert die IT-Helpdesk-Kosten, da Ihre Benutzer weniger wahrscheinlich vergessen, wie sie sich anmelden. Wenn sich Benutzer mit Azure AD anmelden, validiert diese Funktion die Passwörter der Benutzer direkt gegen Ihr lokales Active Directory.

In PTA werden Identitäten synchronisiert, aber Passwörter nicht wie in PHS.

Die Authentifizierung wird im lokalen AD validiert und die Kommunikation mit der Cloud erfolgt durch einen Authentifizierungsagenten, der auf einem lokalen Server läuft (er muss nicht auf dem lokalen DC sein).

Authentifizierungsablauf

  1. Um sich anzumelden, wird der Benutzer zu Azure AD weitergeleitet, wo er den Benutzernamen und das Passwort eingibt.

  2. Die Anmeldedaten werden verschlüsselt und in eine Warteschlange in Azure AD gestellt.

  3. Der lokale Authentifizierungsagent sammelt die Anmeldedaten aus der Warteschlange und entschlüsselt sie. Dieser Agent wird "Pass-through Authentication Agent" oder PTA-Agent genannt.

  4. Der Agent validiert die Anmeldedaten gegen das lokale AD und sendet die Antwort zurück an Azure AD, das, wenn die Antwort positiv ist, die Anmeldung des Benutzers abschließt.

Wenn ein Angreifer den PTA kompromittiert, kann er alle Anmeldedaten aus der Warteschlange (im Klartext) sehen. Er kann auch beliebige Anmeldedaten gegenüber AzureAD validieren (ähnlicher Angriff wie Skeleton Key).

On-Prem -> Cloud

Wenn Sie Admin-Zugriff auf den Azure AD Connect-Server mit dem PTA-Agenten haben, können Sie das AADInternals-Modul verwenden, um eine Hintertür einzufügen, die ALLE eingegebenen Passwörter validiert (sodass alle Passwörter für die Authentifizierung gültig sind):

Install-AADIntPTASpy

Wenn die Installation fehlschlägt, liegt dies wahrscheinlich an fehlenden Microsoft Visual C++ 2015 Redistributables.

Es ist auch möglich, die im Klartext gesendeten Passwörter an den PTA-Agenten mit dem folgenden Cmdlet auf der Maschine zu sehen, auf der der vorherige Backdoor installiert wurde:

Get-AADIntPTASpyLog -DecodePasswords

Dieser Backdoor wird:

  • Einen versteckten Ordner C:\PTASpy erstellen

  • Eine PTASpy.dll nach C:\PTASpy kopieren

  • PTASpy.dll in den Prozess AzureADConnectAuthenticationAgentService injizieren

Wenn der AzureADConnectAuthenticationAgent-Dienst neu gestartet wird, wird PTASpy „entladen“ und muss neu installiert werden.

Cloud -> On-Prem

Nach dem Erhalt von GA-Privilegien in der Cloud ist es möglich, einen neuen PTA-Agenten zu registrieren, indem man ihn auf einer vom Angreifer kontrollierten Maschine einrichtet. Sobald der Agent eingerichtet ist, können wir die vorherigen Schritte wiederholen, um mit jedem Passwort zu authentifizieren und auch die Passwörter im Klartext zu erhalten.

Seamless SSO

Es ist möglich, Seamless SSO mit PTA zu verwenden, das anfällig für andere Missbräuche ist. Überprüfen Sie es in:

Az - Seamless SSO

Referenzen

Unterstützen Sie HackTricks

Last updated