Az - PTA - Pass-through Authentication
Informations de base
Depuis la documentation : Azure Active Directory (Azure AD) Pass-through Authentication permet à vos utilisateurs de se connecter à la fois aux applications locales et basées sur le cloud en utilisant les mêmes mots de passe. Cette fonctionnalité offre à vos utilisateurs une meilleure expérience - un mot de passe de moins à retenir, et réduit les coûts du service d'assistance informatique car vos utilisateurs sont moins susceptibles d'oublier comment se connecter. Lorsque les utilisateurs se connectent en utilisant Azure AD, cette fonctionnalité valide les mots de passe des utilisateurs directement contre votre Active Directory local.
Dans PTA, les identités sont synchronisées mais les mots de passe ne le sont pas comme dans PHS.
L'authentification est validée dans l'AD local et la communication avec le cloud est effectuée par un agent d'authentification fonctionnant sur un serveur local (il n'a pas besoin d'être sur le DC local).
Flux d'authentification
Pour se connecter, l'utilisateur est redirigé vers Azure AD, où il envoie le nom d'utilisateur et le mot de passe
Les identifiants sont cryptés et placés dans une file d'attente dans Azure AD
L'agent d'authentification local récupère les identifiants de la file d'attente et les décrypte. Cet agent est appelé "agent d'authentification par passage" ou agent PTA.
L'agent valide les identifiants contre l'AD local et envoie la réponse de retour à Azure AD qui, si la réponse est positive, complète la connexion de l'utilisateur.
Si un attaquant compromet le PTA, il peut voir tous les identifiants de la file d'attente (en clair). Il peut également valider n'importe quels identifiants auprès de l'AzureAD (attaque similaire à la clé Skeleton).
Local -> cloud
Si vous avez un accès admin au serveur Azure AD Connect avec l'agent PTA en cours d'exécution, vous pouvez utiliser le module AADInternals pour insérer une porte dérobée qui validera TOUS les mots de passe introduits (donc tous les mots de passe seront valides pour l'authentification) :
Si l'installation échoue, cela est probablement dû à l'absence des Redistribuables Microsoft Visual C++ 2015.
Il est également possible de voir les mots de passe en clair envoyés à l'agent PTA en utilisant la cmdlet suivante sur la machine où le backdoor précédent a été installé :
Ce backdoor va :
Créer un dossier caché
C:\PTASpy
Copier un
PTASpy.dll
dansC:\PTASpy
Injecter
PTASpy.dll
dans le processusAzureADConnectAuthenticationAgentService
Lorsque le service AzureADConnectAuthenticationAgent est redémarré, PTASpy est "déchargé" et doit être réinstallé.
Cloud -> On-Prem
Après avoir obtenu des privilèges GA sur le cloud, il est possible de registrer un nouvel agent PTA en le configurant sur une machine contrôlée par l'attaquant. Une fois l'agent configuré, nous pouvons répéter les étapes précédentes pour s'authentifier en utilisant n'importe quel mot de passe et également, obtenir les mots de passe en clair.
Seamless SSO
Il est possible d'utiliser Seamless SSO avec PTA, qui est vulnérable à d'autres abus. Consultez-le dans :
Az - Seamless SSORéférences
Last updated