Az - Pass the Certificate

Reading time: 3 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

Pass the Certificate (Azure)

Em máquinas unidas ao 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 sujeito) 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 Web JSON (JWT) contendo PRT e outros detalhes, assina usando a Chave Derivada (usando a chave de sessão e o contexto de segurança) e o envia para a Azure AD.
  • A Azure AD verifica a assinatura do 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:

bash
RequestCert.py [-h] --tenantId TENANTID --prt PRT --userName USERNAME --hexCtx HEXCTX --hexDerivedKey HEXDERIVEDKEY [--passPhrase PASSPHRASE]

Os certificados durarão o mesmo 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.

bash
Main.py [-h] --usercert USERCERT --certpass CERTPASS --remoteip REMOTEIP

Referências

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