Az - PTA - Pass-through Authentication

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert en équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Informations de base

À partir de la documentation : L'authentification de passe Azure Active Directory (Azure AD) permet à vos utilisateurs de se connecter à la fois aux applications sur site 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 annuaire Active Directory sur site.

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 sur site et la communication avec le cloud est effectuée par un agent d'authentification s'exécutant sur un serveur sur site (il n'a pas besoin d'être sur le DC sur site).

Flux d'authentification

  1. Pour se connecter, l'utilisateur est redirigé vers Azure AD, où il envoie le nom d'utilisateur et le mot de passe

  2. Les informations d'identification sont chiffrées et placées dans une file d'attente dans Azure AD

  3. L'agent d'authentification sur site récupère les informations d'identification de la file d'attente et les déchiffre. Cet agent est appelé "agent d'authentification de passe" ou agent PTA.

  4. L'agent valide les informations d'identification contre l'AD sur site 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 toutes les informations d'identification de la file d'attente (en clair). Il peut également valider n'importe quelles informations d'identification auprès de AzureAD (attaque similaire à la clé Skeleton).

Sur site -> cloud

Si vous avez un accès administrateur 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 (ainsi tous les mots de passe seront valides pour l'authentification) :

Install-AADIntPTASpy

Si l'installation échoue, cela est probablement dû au manque des Microsoft Visual C++ 2015 Redistributables.

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ù la porte dérobée précédente a été installée :

Get-AADIntPTASpyLog -DecodePasswords

Ce backdoor va :

  • Créer un dossier caché C:\PTASpy

  • Copier un PTASpy.dll dans C:\PTASpy

  • Injecter PTASpy.dll dans le processus AzureADConnectAuthenticationAgentService

Lorsque le service AzureADConnectAuthenticationAgent est redémarré, PTASpy est "déchargé" et doit être réinstallé.

Cloud -> On-Prem

Après avoir obtenu les privilèges GA sur le cloud, il est possible de enregistrer un nouvel agent PTA en le configurant sur une machine contrôlée par l'attaquant. Une fois que l'agent est 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.

Authentification unique transparente

Il est possible d'utiliser l'authentification unique transparente avec PTA, qui est vulnérable à d'autres abus. Vérifiez cela dans :

pageAz - Seamless SSO

Références

Apprenez le piratage AWS de zéro à héros avec htARTE (HackTricks AWS Red Team Expert)!

Autres façons de soutenir HackTricks :

Dernière mise à jour