No Linux, os tickets são armazenados em caches de credenciais ou ccaches. Existem 3 tipos principais, que indicam onde os tickets podem ser encontrados: * **Arquivos**, por padrão no diretório **/tmp**, na forma de **krb5cc\_%{uid}.** * **Kernel Keyrings**, um espaço especial no kernel do Linux fornecido para armazenar chaves. * **Memória do processo**, usada quando apenas um processo precisa usar os tickets. Para verificar qual tipo de armazenamento é usado em uma máquina específica, a variável _**default\_ccache\_name**_ deve ser verificada no arquivo **/etc/krb5.conf**, que por padrão tem permissão de leitura para qualquer usuário. Caso esse parâmetro esteja faltando, seu valor padrão é _FILE:/tmp/krb5cc\_%{uid}_. Para extrair tickets das outras 2 fontes (keyrings e processos), um ótimo artigo, [**Kerberos Credential Thievery (GNU/Linux)**](https://www.delaat.net/rp/2016-2017/p97/report.pdf), lançado em 2017, explica maneiras de recuperar os tickets deles. ### Keyring - Do artigo > O **kernel do Linux** possui um recurso chamado **keyrings**. Esta é uma **área de memória** que reside dentro do kernel e é usada para **gerenciar e reter chaves**. > > A chamada do sistema **keyctl** foi introduzida na versão do kernel 2.6.10 5. Isso fornece **às aplicações do espaço do usuário uma API** que pode ser usada para interagir com keyrings do kernel. > O **nome do keyring** em uso pode ser analisado a partir do **arquivo de configuração do Kerberos /etc/krb5.conf**, que tem permissão de leitura habilitada para qualquer pessoa (octal 644) por padrão. Um invasor pode então aproveitar essa informação para **procurar por tickets** 11 contendo keyrings e extrair os tickets. Um script de prova de conceito que implementa essa funcionalidade pode ser visto na Seção A.2 **(hercules.sh)**. Em um keyring, o ccache é armazenado como componentes. Como visto na Figura 2, um ccache de arquivo é composto por 3 componentes distintos: cabeçalho, principal padrão e uma sequência de credenciais. Um **keyring contém o principal padrão e as credenciais**. Este script irá despejar esses componentes em arquivos separados. Em seguida, usando um **cabeçalho sintetizado pelo invasor**, esses pedaços são combinados na ordem correta para **reconstruir um ccache de arquivo**. Este arquivo reconstruído pode então ser exfiltrado para uma máquina invasora e depois usado para se passar por um usuário Kerberos. Um programa simples para gerar um cabeçalho ccache válido pode ser visto na Seção A.3. Com base no **script heracles.sh** (do artigo), uma ferramenta em C que você pode usar (criada pelo autor do post completo) é [**tickey**](https://github.com/TarlogicSecurity/tickey), e ela extrai tickets de keyrings: ``` /tmp/tickey -i ``` **Esta informação foi retirada de:** [**https://www.tarlogic.com/en/blog/how-to-attack-kerberos/**](https://www.tarlogic.com/en/blog/how-to-attack-kerberos/)
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥 - Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira 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 seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [repositório hacktricks-cloud](https://github.com/carlospolop/hacktricks-cloud)**.