hacktricks/windows-hardening/active-directory-methodology/acl-persistence-abuse/shadow-credentials.md
2023-06-06 18:56:34 +00:00

4.5 KiB

Credenciais Shadow

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Introdução

Confira o post original para todas as informações sobre essa técnica.

Em resumo: se você pode escrever na propriedade msDS-KeyCredentialLink de um usuário/computador, você pode recuperar o hash NT desse objeto.

Isso ocorre porque você poderá definir credenciais de autenticação chave pública-privada para o objeto e usá-las para obter um Ticket de Serviço especial que contém seu hash NTLM dentro do Certificado de Atributo de Privilégio (PAC) em uma entidade NTLM_SUPLEMENTAL_CREDENTIAL criptografada que você pode descriptografar.

Requisitos

Essa técnica requer o seguinte:

  • Pelo menos um Controlador de Domínio do Windows Server 2016.
  • Um certificado digital para Autenticação de Servidor instalado no Controlador de Domínio.
  • Nível Funcional do Windows Server 2016 no Active Directory.
  • Comprometer uma conta com os direitos delegados para escrever no atributo msDS-KeyCredentialLink do objeto de destino.

Abuso

Abusar do Key Trust para objetos de computador requer etapas adicionais após a obtenção de um TGT e o hash NTLM para a conta. Geralmente, existem duas opções:

  1. Forjar um RC4 silver ticket para se passar por usuários privilegiados no host correspondente.
  2. Usar o TGT para chamar S4U2Self para se passar por usuários privilegiados no host correspondente. Essa opção requer modificar o Ticket de Serviço obtido para incluir uma classe de serviço no nome do serviço.

O abuso do Key Trust tem a vantagem adicional de que não delega acesso a outra conta que possa ser comprometida - é restrito à chave privada gerada pelo atacante. Além disso, não requer a criação de uma conta de computador que pode ser difícil de limpar até que a escalada de privilégios seja alcançada.

Whisker

Junto com este post, estou lançando uma ferramenta chamada " Whisker ". Com base no código do DSInternals de Michael, o Whisker fornece uma camada C# para realizar esse ataque em engajamentos. O Whisker atualiza o objeto de destino usando LDAP, enquanto o DSInternals permite atualizar objetos usando tanto LDAP quanto RPC com o Serviço de Replicação de Diretório (DRS) Remote Protocol.

Whisker tem quatro funções:

  • Add - Esta função gera um par de chaves pública-privada e adiciona uma nova credencial de chave ao objeto de destino como se o usuário tivesse se inscrito no WHfB a partir de um novo dispositivo.
  • List - Esta função lista todas as entradas do atributo msDS-KeyCredentialLink do objeto de destino.
  • Remove - Esta função remove uma credencial de chave do objeto de destino especificada por um GUID DeviceID.
  • Clear - Esta