Az - PTA - Pass-through Authentication
Last updated
Last updated
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
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 são menos propensos a 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, 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).
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.
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).
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 backdoor que validará TODAS as senhas introduzidas (então todas as senhas serão válidas para autenticação):
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:
Esta backdoor irá:
Criar uma pasta oculta C:\PTASpy
Copiar um PTASpy.dll
para C:\PTASpy
Injetar PTASpy.dll
no processo AzureADConnectAuthenticationAgentService
Quando o serviço AzureADConnectAuthenticationAgent for reiniciado, o PTASpy é “descarregado” e deve ser reinstalado.
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 esteja configurado, podemos repetir os passos anteriores para autenticar usando qualquer senha e também, obter as senhas em texto claro.
É possível usar Seamless SSO com PTA, que é vulnerável a outros abusos. Confira em:
Az - Seamless SSOAprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)