* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
**Esta informação foi extraída do post:** [**https://www.tarlogic.com/en/blog/how-kerberos-works/**](https://www.tarlogic.com/en/blog/how-kerberos-works/)
O objetivo desta série de posts é esclarecer como o Kerberos funciona, mais do que apenas apresentar os ataques. Isso ocorre porque, em muitas ocasiões, não está claro por que algumas técnicas funcionam ou não. Ter esse conhecimento permite saber quando usar qualquer um desses ataques em um pentest.
Portanto, após uma longa jornada de mergulho na documentação e vários posts sobre o assunto, tentamos escrever neste post todos os detalhes importantes que um auditor deve conhecer para entender como aproveitar o protocolo Kerberos.
Neste primeiro post, apenas a funcionalidade básica será discutida. Em posts posteriores, veremos como realizar os ataques e como funcionam os aspectos mais complexos, como a delegação.
Se você tiver alguma dúvida sobre o tópico que não está bem explicado, não tenha medo de deixar um comentário ou fazer uma pergunta sobre ele. Agora, sobre o tópico.
Em primeiro lugar, o Kerberos é um protocolo de autenticação, não de autorização. Em outras palavras, permite identificar cada usuário, que fornece uma senha secreta, no entanto, não valida a quais recursos ou serviços esse usuário pode acessar.
O Kerberos é usado no Active Directory. Nesta plataforma, o Kerberos fornece informações sobre os privilégios de cada usuário, mas é responsabilidade de cada serviço determinar se o usuário tem acesso aos seus recursos.
O Kerberos usa UDP ou TCP como protocolo de transporte, que envia dados em texto claro. Devido a isso, o Kerberos é responsável por fornecer criptografia.
* **Cliente ou usuário** que deseja acessar o serviço.
* **AP** (Application Server) que oferece o serviço exigido pelo usuário.
* **KDC** (Key Distribution Center), o principal serviço do Kerberos, responsável por emitir os ingressos, instalado no DC (Domain Controller). É suportado pelo **AS** (Authentication Service), que emite os TGTs.
Existem várias estruturas manipuladas pelo Kerberos, como ingressos. Muitas dessas estruturas são criptografadas ou assinadas para evitar que sejam adulteradas por terceiros. Essas chaves são as seguintes:
As principais estruturas manipuladas pelo Kerberos são os ingressos. Esses ingressos são entregues aos usuários para serem usados por eles para executar várias ações no reino Kerberos. Existem 2 tipos:
O **PAC** (Privilege Attribute Certificate) é uma estrutura incluída em quase todos os ingressos. Esta estrutura contém os privilégios do usuário e é assinada com a chave do KDC.
É possível que os serviços verifiquem o PAC comunicando-se com o KDC, embora isso não aconteça com frequência. No entanto, a verificação do PAC consiste apenas em verificar sua assinatura, sem inspecionar se os privilégios dentro do PAC estão corretos.
Além disso, mesmo que não faça parte do Kerberos, mas do NRPC, o AP opcionalmente poderia usar a mensagem **KERB\_VERIFY\_PAC\_REQUEST** para enviar ao KDC a assinatura do PAC e verificar se está correta.
Nesta seção, a sequência de mensagens para realizar a autenticação será estudada, começando de um usuário sem ingressos, até ser autenticado no serviço desejado.
Nota: o timestamp criptografado é necessário apenas se o usuário exigir pré-autenticação, o que é comum, exceto se a flag [_DONT\_REQ\_PREAUTH_](https://support.microsoft.com/en-us/help/305144/how-to-use-the-useraccountcontrol-flags-to-manipulate-user-account-pro) \_\_ estiver definida na conta do usuário.
Após receber a solicitação, o KDC verifica a identidade do usuário descriptografando o timestamp. Se a mensagem estiver correta, ele deve responder com um _KRB\_AS\_REP_:
Para finalizar, se tudo correu bem, o usuário já possui um TGS válido para interagir com o serviço. Para usá-lo, o usuário deve enviar uma mensagem _KRB\_AP\_REQ_ para o AP:
Depois disso, se os privilégios do usuário estiverem corretos, ele poderá acessar o serviço. Se for o caso, o AP verificará o PAC em relação ao KDC. E também, se a autenticação mútua for necessária, ele responderá ao usuário com uma mensagem _KRB\_AP\_REP_.
* \[MS-APDS\] – Suporte de Domínio do Protocolo de Autenticação: [https://msdn.microsoft.com/en-us/library/cc223948.aspx](https://msdn.microsoft.com/en-us/library/cc223948.aspx)
* Mimikatz e Ataques Kerberos do Active Directory: [https://adsecurity.org/?p=556](https://adsecurity.org/?p=556)
* Explicando como se eu tivesse 5 anos: Kerberos: [https://www.roguelynn.com/words/explain-like-im-5-kerberos/](https://www.roguelynn.com/words/explain-like-im-5-kerberos/)
* Kerberos e KRBTGT: [https://adsecurity.org/?p=483](https://adsecurity.org/?p=483)
* Mastering Windows Network Forensics and Investigation, 2ª Edição. Autores: S. Anson, S. Bunting, R. Johnson e S. Pearson. Editorial Sibex.
* Active Directory, 5ª Edição. Autores: B. Desmond, J. Richards, R. Allen e A.G. Lowe-Norris
* Service Principal Names: [https://msdn.microsoft.com/en-us/library/ms677949(v=vs.85).aspx](https://msdn.microsoft.com/en-us/library/ms677949\(v=vs.85\).aspx)
* Níveis funcionais do Active Directory: [https://technet.microsoft.com/en-us/library/dbf0cdec-d72f-4ba3-bc7a-46410e02abb0](https://technet.microsoft.com/en-us/library/dbf0cdec-d72f-4ba3-bc7a-46410e02abb0)
* OverPass The Hash – Blog Gentilkiwi: [https://blog.gentilkiwi.com/securite/mimikatz/overpass-the-hash](https://blog.gentilkiwi.com/securite/mimikatz/overpass-the-hash)
* Pass The Ticket – Blog Gentilkiwi: [https://blog.gentilkiwi.com/securite/mimikatz/pass-the-ticket-kerberos](https://blog.gentilkiwi.com/secur