Az - PTA - Autenticação Pass-through
Reading time: 4 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 Azure Active Directory (Azure AD) permite que seus usuários façam login em aplicativos tanto locais quanto 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 Azure AD, este recurso valida as senhas dos usuários diretamente contra seu Active Directory local.
Na PTA, as identidades são sincronizadas, mas as 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).
Local -> nuvem
Se você tiver acesso administrativo ao servidor Azure AD Connect com o agente PTA em execução, você pode usar o módulo AADInternals para inserir uma porta dos fundos que validará TODAS as senhas introduzidas (então todas as senhas serão válidas para autenticação):
Install-AADIntPTASpy
note
Se a instalação falhar, isso provavelmente se deve à falta dos Microsoft Visual C++ 2015 Redistributables.
Também é possível ver as senhas em texto claro enviadas para o agente PTA usando o seguinte cmdlet na máquina onde o backdoor anterior foi instalado:
Get-AADIntPTASpyLog -DecodePasswords
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.
Cloud -> On-Prem
caution
Após obter privilégios GA na nuvem, é possível registrar um novo agente PTA configurando-o em uma máquina controlada pelo atacante. Uma vez que o agente está configurado, podemos repetir os passos anteriores para autenticar usando qualquer senha e também, obter as senhas em texto claro.
Seamless SSO
É possível usar Seamless SSO 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.