Az - Pass the Certificate
Pass the Certificate (Azure)
Nas máquinas unidas no Azure, é possível autenticar de uma máquina para outra usando certificados que devem ser emitidos pela Azure AD CA para o usuário necessário (como o assunto) quando ambas as máquinas suportam o mecanismo de autenticação NegoEx.
Em termos super simplificados:
A máquina (cliente) que inicia a conexão precisa de um certificado da Azure AD para um usuário.
O cliente cria um cabeçalho de Token da Web JSON (JWT) contendo PRT e outros detalhes, assina-o usando a Chave Derivada (usando a chave de sessão e o contexto de segurança) e envia para a Azure AD.
A Azure AD verifica a assinatura JWT usando a chave de sessão do cliente e o contexto de segurança, verifica a validade do PRT e responde com o certificado.
Neste cenário e após obter todas as informações necessárias para um ataque Pass the PRT:
Nome de usuário
ID do locatário
PRT
Contexto de segurança
Chave Derivada
É possível solicitar um certificado P2P para o usuário com a ferramenta PrtToCert:
Os certificados terão a mesma duração que o PRT. Para usar o certificado, você pode usar a ferramenta python AzureADJoinedMachinePTC que irá autenticar na máquina remota, executar PSEXEC e abrir um CMD na máquina da vítima. Isso nos permitirá usar o Mimikatz novamente para obter o PRT de outro usuário.
Referências
Para mais detalhes sobre como o Pass the Certificate funciona, confira o post original https://medium.com/@mor2464/azure-ad-pass-the-certificate-d0c5de624597
Last updated