Az - PTA - Pass-through Authentication

Supporte o HackTricks

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 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 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).

Fluxo de Autenticação

  1. Para fazer login, o usuário é redirecionado para Azure AD, onde ele envia o nome de usuário e a senha

  2. As credenciais são criptografadas e colocadas em uma fila no Azure AD

  3. 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.

  4. 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).

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

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

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.

Cloud -> On-Prem

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.

Seamless SSO

É possível usar Seamless SSO com PTA, que é vulnerável a outros abusos. Confira em:

Referências

Support HackTricks

Last updated