Publicado: 13 de maio de 2024
Colaborador: Matthew Kosinski
O Kerberoasting é um ataque cibernético que explora o protocolo de autenticação Kerberos. Os agentes de ameaças roubam tickets de serviço do Kerberos para descobrir as senhas em texto simples das contas de serviço da rede. Então, os hackers assumem o controle dessas contas de serviço para roubar dados, espalhar malware e muito mais.
O Kerberoasting está cada vez mais comum. Os analistas de segurança do X-Force da IBM observaram um aumento de 100% nos incidentes Kerberoasting entre 2022 e 2023 segundo o X-Force Threat Intelligence Index. Esse crescimento faz parte de uma ampla tendência de hackers que abusam de contas válidas para violar redes. As melhorias na segurança da rede e de endpoint dificultaram muito os ataques diretos.
Alguns fatores adicionais impulsionam a popularidade do Kerberoasting. Muitos serviços de diretórios e sistemas de computação em nuvem usam o Kerberos, o que significa que os hackers podem aproveitar o protocolo para obter acesso à infraestrutura crítica da rede.
Em particular, o Kerberos é padrão no Microsoft Windows Active Directory, e muitos ataques Keberoasting têm como alvo domínios do Active Directory. Além disso, contas de serviço criadas manualmente tendem a ter senhas fracas e privilégios elevados, o que as torna alvos atraentes.
Os ataques Kerberoasting são difíceis de detectar porque aproveitam o design pretendido do Kerberos. A parte mais suspeita de um ataque Kerberoasting (descriptografar os tickets) acontece offline. Os profissionais de segurança cibernética não podem erradicar completamente a possibilidade do Kerberoasting, mas podem implementar defesas proativas para mitigar a ameaça.
Obtenha insights essenciais para ajudar suas equipes de segurança e TI a gerenciar melhor os riscos e limitar possíveis perdas.
O Kerberoasting costuma ser um meio de escalada de privilégios, não uma tática inicial de invasão. Depois que um hacker obtém o controle de uma conta de usuário de domínio para entrar na rede, ele usa o Keberoasting para expandir seu alcance.
A maioria dos ataques Kerberoasting segue o mesmo método básico:
Para entender por que o Keberoasting funciona, é preciso primeiro entender o básico do Kerberos.
O Kerberos é um protocolo de autenticação que permite que usuários e serviços (como aplicativos, bancos de dados e servidores) se autentiquem e comuniquem com segurança no Active Directory e em outros domínios.
O processo de autenticação Kerberos usa um sistema de tickets. No centro desse sistema está o centro de distribuição de chaves (KDC), que opera no controlador de domínio da rede.
O KDC é essencialmente o guardião do domínio. Ele autentica usuários e serviços na rede e emite tickets para eles. Os tickets são credenciais que comprovam a identidade dos usuários e permitem que eles acessem outros recursos na rede. Os usuários e os serviços trocam esses tíquetes para se verificarem uns aos outros.
Quando um usuário faz login em um domínio, ele primeiro se autentica no KDC e recebe um ticket de concessão de ticket (TGT). Este TGT permite ao usuário solicitar acesso aos serviços do domínio.
Quando o usuário deseja acessar um serviço, ele envia uma solicitação ao serviço de concessão de tickets (TGS) do KDC. O TGT acompanha essa solicitação para garantir a identidade do usuário.
Em resposta, o KDC emite um ticket de serviço, também chamado de "ticket TGS", que é criptografado usando a senha da conta de serviço. Isso acontece para garantir que apenas o serviço de destino possa validar a solicitação de acesso do usuário. O usuário apresenta esse ticket de serviço ao serviço de destino, que autentica o usuário e inicia uma sessão segura.
Há alguns detalhes no design do Kerberos que o deixam aberto ao Kerberoasting.
Primeiro, o KDC não verifica se os usuários estão autorizados a acessar um serviço. Qualquer usuário pode solicitar um tíquete para qualquer serviço. Cabe aos serviços individuais impor as permissões e bloquear usuários não autorizados. Portanto, os hackers não precisam se apoderar das contas dos administradores de domínio ou de outros usuários privilegiados. Qualquer conta comprometida funciona.
Em segundo lugar, cada serviço em um domínio Kerberos deve ser associado a uma conta de serviço responsável por executar o serviço no domínio. As contas de serviço permitem que o Kerberos autentique serviços, emita tíquetes de serviço e imponha controles de segurança. Essas contas também dão aos hackers um alvo, pois tendem a ter altos privilégios.
Em terceiro lugar, os tickets Kerberos são criptografados, usando os hashes de senha das contas associadas como chaves. É importante ressaltar que, para o Kerberoasting, os tíquetes de serviço usam os hashes de senha das contas de serviço relevantes.
As senhas de contas são chaves de criptografia simétricas convenientes porque apenas o KDC e o serviço relacionado devem conhecer essa senha. Mas, como os tickets são criptografados usando hashes de senha, os hackers podem fazer engenharia reversa de senhas de contas de serviço quebrando a criptografia de um ticket.
Além disso, as contas de serviço configuradas manualmente geralmente têm o sinalizador "a senha nunca expira" ativado. Em redes de longa duração, isso pode significar que as contas de serviço usam senhas muito antigas, que seguem diretrizes de segurança desatualizadas, tornando-as fáceis de quebrar.
O primeiro passo em um ataque típico de Kerberoasting é roubar a conta de um usuário do domínio. Um hacker pode usar muitos métodos de ataque cibernético nessa fase, como phishing, keyloggers ou outras técnicas. O hacker pode, então, usar essa conta para acessar o domínio de destino.
Quando o hacker está na rede, ele procura contas de serviço. Ele geralmente faz isso procurando contas com nomes principais de serviço (SPNs). SPNs são identificadores exclusivos que vinculam serviços às suas contas de serviço em um domínio Kerberos. Como somente contas de serviço têm esse atributo, a enumeração das contas com SPNs é uma maneira útil para os hackers encontrarem alvos. Todas as contas de domínio podem enumerar SPNs por padrão.
Os hackers podem usar comandos do PowerShell e consultas LDAP (Lightweight Directory Access Protocol) para exibir contas com SPNs. Eles também podem usar ferramentas especializadas de hacking e teste de penetração . Por exemplo, o toolkit Impacket inclui um script chamado "GetUserSPNs.py", que gera uma lista de contas de serviço em um domínio.
O hacker usa a conta de domínio sequestrada para solicitar tickets de serviço para seus serviços direcionados.
O hacker não usa esses tickets para acessar esses serviços. Ele poderia, mas teria apenas as permissões limitadas da provável conta de usuário de baixo nível roubada. Em vez disso, o hacker leva esses tickets da rede para um computador que ele controla.
O hacker descriptografa os tickets roubados para recuperar as senhas das contas de serviço.
Como os tickets usam as senhas das contas de serviço como chaves criptográficas, os hackers normalmente usam ataques de força bruta para esse esforço. Eles usam sistematicamente senhas diferentes para gerar chaves de criptografia (“hashes”) que usam no ticket roubado. Se uma chave de criptografia funcionar, a senha que gerou a chave será a senha da conta de serviço.
Os hackers podem acelerar a descriptografia usando listas de palavras de senhas comuns. Eles também usam várias ferramentas para automatizar o processo de quebra. Algumas das ferramentas mais comuns de Kerberoasting incluem:
Impacket: um toolkit Python projetado para testadores de penetração. Ele inclui alguns scripts que podem causar danos reais nas mãos de um hacker.
Rubeus: um conjunto de ferramentas projetado para explorar o Kerberos para testes de penetração. Como muitas ferramentas de hackers éticos, pode ser usado por hackers antiéticos para fins maliciosos.
John the Ripper e Hashcat: quebradores de senhas que podem executar ataques de força bruta.
Mimikatz: ajuda os hackers a extrair e quebrar tíquetes Kerberos.
A quebra de tíquetes é a maior bandeira vermelha no processo de Kerberoasting, mas, normalmente, acontece fora da rede alvo em um dispositivo controlado por hackers. As ferramentas de segurança da organização não conseguem detectá-la.
Armado com a senha de uma conta de serviço, o hacker pode fazer login nessa conta e usar suas permissões para acessar recursos confidenciais, fazer movimentos laterais e muito mais.
Por exemplo, se um hacker quebrar a senha de uma conta de serviço do SQL Server, ele poderá obter o controle dos bancos de dados hospedados nesse servidor.
Embora o Kerberoasting normalmente exija uma conta de usuário de domínio comprometida, o pesquisador de segurança Charlie Clark descobriu uma técnica de ataque que permite que hackers roubem tickets de serviço sem sequestrar uma conta nas condições certas.1
Lembre-se de que, para que um usuário possa receber tickets de serviço, ele deve se autenticar no KDC e obter um TGT que permita solicitar acesso ao serviço. Usando a ferramenta de exploração Kerberos Rubeus, Clark conseguiu modificar essa solicitação de autenticação inicial para solicitar um ticket de serviço em vez de um TGT. Funcionou, e o KDC respondeu com um ticket de serviço.
Esse método tem aplicações limitadas. Para que a técnica funcione, o hacker deve fingir enviar a solicitação de autenticação de uma conta que não exige pré-autenticação no Kerberos. As contas que exigem pré-autenticação, que são a maioria, precisam de credenciais de usuário para enviar a solicitação de autenticação inicial que Clark modificou. Ainda assim, essa técnica abre um caminho potencial para invasores.
Os hackers usaram técnicas de Kerberoasting em alguns dos ataques cibernéticos mais significativos dos últimos anos.
No ataque de 2020 à SolarWinds, os hackers do estado russo espalharam malware disfarçando-o como uma atualização legítima da plataforma de gerenciamento de infraestrutura Orion da SolarWinds. Os hackers violaram várias empresas e agências governamentais, incluindo os Departamentos de Estado e de Justiça dos EUA. De acordo com a Mitre, os hackers usaram o Kerberoasting para aumentar seus privilégios em sistemas comprometidos.2
Da mesma forma, hackers associados ao ransomware Akira geralmente usam Kerberoasting para expandir seu alcance e manter o acesso às redes que violam. Em abril de 2024, o Akira atingiu 250 organizações em todo o mundo, extorquindo um total de US$ 42 milhões em pagamentos de resgate.3
Embora os ataques de golden tickets também tenham como alvo os processos de autenticação Kerberos, eles diferem do Keberoasting.
No Kerberoasting, hackers roubam e quebram tickets para descobrir senhas e assumir contas de serviço.
Em um ataque de golden ticket, um hacker primeiro obtém privilégios de nível de administrador em um domínio. Isso permite que ele acesse a senha da conta krbtgt, que é a conta usada pelo KDC para criptografar TGTs. O hacker usa esses privilégios para criar tickets Kerberos falsos, que permitem que ele finja ser qualquer usuário e obtenha acesso praticamente irrestrito aos recursos da rede.
Os ataques Kerberoasting são difíceis de detectar porque os invasores passam grande parte do tempo se disfarçando de contas legítimas. Suas solicitações de tickets se misturam com as reais, e a quebra de senha real acontece fora da rede.
Dito isso, existem ferramentas e práticas que as organizações podem usar para reduzir as chances de um ataque bem-sucedido e interceptar melhor o Kerberoasting em andamento.
Como os ataques Kerberoasting assumem o controle das contas de domínio, proteger essas contas com controles aprimorados do IAM pode ajudar a impedir algumas violações.
Políticas e práticas de senhas fortes, incluindo soluções centralizadas de gerenciamento de senhas, podem dificultar a descoberta de senhas por hackers. A estrutura MITRE ATT&CK, por exemplo, recomenda que as senhas das contas de serviço tenham pelo menos 25 caracteres de comprimento, sejam suficientemente complexas e sejam alteradas regularmente.4
No Active Directory, as organizações podem usar contas de serviço gerenciadas por grupo. Essas são contas de serviço que geram, gerenciam e alteram senhas regularmente de forma automática, para que os administradores não precisem gerenciar senhas manualmente.
A autenticação forte, como a autenticação adaptativa ou multifator (MFA), também pode ajudar a proteger as contas de usuário contra roubo. Dito isso, muitas vezes é desafiador e ineficiente usar a MFA para contas de serviço.
As ferramentas de gerenciamento de acesso privilegiado podem ajudar a fornecer segurança extra para as credenciais de contas privilegiadas, como contas de serviço Kerberos e outros destinos altamente valiosos.
Ao limitar os privilégios das contas de serviço às permissões necessárias, as organizações podem minimizar os danos que os hackers podem causar ao comprometer essas contas.
Além disso, as contas de serviço podem ser limitadas a logons não interativos e apenas em serviços e sistemas específicos.
As solicitações de tickets mal-intencionadas geralmente se misturam às legítimas, mas os hackers podem deixar sinais reveladores. Por exemplo, uma conta que solicita muitos tickets para muitos serviços de uma só vez pode estar realizando um ataque Kerberoasting.
Logs de eventos como o Visualizador de Eventos do Windows ou um sistema de gerenciamento de eventos e informações de segurança (SIEM) podem ajudar as equipes de segurança a detectar atividades suspeitas. Ferramentas que monitoram usuários, como uma solução de análise de comportamento do usuário (UBA), podem ajudar a detectar hackers que sequestraram contas legítimas.
As equipes de segurança podem detectar mais atividades de ameaças alinhando as ferramentas de monitoramento aos seus sistemas de informação. Por exemplo, as ferramentas podem ser configuradas para que qualquer tentativa de uma conta de serviço de fazer logon fora de seu escopo predefinido acione um alerta e exija investigação.
Muitas instâncias do Kerberos ainda são compatíveis com o algoritmo de criptografia RC4. No entanto, esse padrão de criptografia mais antigo é relativamente fácil de ser quebrado pelos hackers.
Ativar um tipo de criptografia mais forte, como o AES, pode dificultar a quebra de tickets por hackers.
Algumas organizações criam honeytokens, contas de domínio falsas que devem ser comprometidas. Quando hackers atacam um honeytoken, um alerta é gerado automaticamente para que a equipe de segurança possa agir.
Os honeytokens são projetados para desviar a atenção de contas reais, muitas vezes parecendo ter credenciais fracas e altos privilégios.
Descubra, controle, gerencie e proteja contas privilegiadas em endpoints e ambientes de multinuvem híbrida.
Ofereça contexto, inteligência e segurança profundos às decisões sobre quais usuários devem ter acesso aos dados e aplicativos da sua organização, no local ou na nuvem.
Gerenciamento de acesso e identidade abrangente, seguro e compatível para empresas modernas.
Aprenda com os desafios e sucessos das equipes de segurança em todo o mundo, com base em insights e observações obtidos com o monitoramento de mais de 150 bilhões de eventos de segurança por dia em mais de 130 países.
A orquestração de identidade é uma solução de software para coordenar sistemas díspares de gerenciamento de acesso e identidade (IAM) de múltiplos provedores de identidade em fluxos de trabalho sem fricção.
Quanto mais as equipes e funcionários de segurança souberem sobre os diferentes tipos de ameaças à cibersegurança, mais efetivamente eles poderão prevenir, se preparar e responder a ataques cibernéticos.
Todos os links levam para fora do site ibm.com
1 Clark, Charlie. New Attack Paths? As Requested Service Tickets. Semperis. 27 de setembro de 2022.
2 SolarWinds Compromise. MITRE ATT&CK. 14 de abril de 2023.
3 StopRansomware: Akira Ransomware. Cybersecurity and Infrastructure Security Agency (CISA). 18 de abril de 2024.
4 Steal or Forge Kerberos Tickets: Kerberoasting. MITRE ATT&CK. 30 de março de 2023.