Az - PTA - Pass-through Authentication

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Grundlegende Informationen

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

Bei PTA werden Identitäten synchronisiert, aber Passwörter nicht, wie bei PHS.

Die Authentifizierung wird im lokalen AD validiert und die Kommunikation mit der Cloud erfolgt über einen Authentifizierungsagenten, der auf einem lokalen Server ausgeführt wird (er muss nicht auf dem lokalen DC sein).

Authentifizierungsfluss

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

  2. Die Anmeldeinformationen werden verschlüsselt und in einer Warteschlange in Azure AD gespeichert.

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

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

Wenn ein Angreifer den PTA kompromittiert, kann er alle Anmeldeinformationen aus der Warteschlange (im Klartext) sehen. Er kann auch beliebige Anmeldeinformationen an das AzureAD validieren (ähnlicher Angriff wie bei einem Skeleton Key).

Lokal -> 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 (so werden alle Passwörter für die Authentifizierung gültig):

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 mithilfe des folgenden Cmdlets auf dem Rechner zu sehen, auf dem zuvor die Backdoor installiert wurde:

Get-AADIntPTASpyLog -DecodePasswords

Dieses Hintertür 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 erneut installiert werden.

Cloud -> On-Prem

Nachdem GA-Berechtigungen in der Cloud erhalten wurden, ist es möglich, einen neuen PTA-Agent zu registrieren, indem er auf einer vom Angreifer kontrollierten Maschine eingerichtet wird. Sobald der Agent eingerichtet ist, können wir die vorherigen Schritte wiederholen, um uns mit einem beliebigen Passwort anzumelden und auch die Passwörter im Klartext zu erhalten.

Nahtlose SSO

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

pageAz - Seamless SSO

Referenzen

Erlernen Sie AWS-Hacking von Grund auf mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated