Kerberoasting, um dos ataques mais comuns contra controladores de domínio (DCs), é usado por adversários para roubar credenciais e mover-se lateralmente na rede. Como o Kerberoasting não explora nenhuma brecha de segurança, detectar esse ataque é difícil.
Kerberos, o protocolo padrão usado pelo Active Directory (AD), permite que os usuários acessem serviços na rede usando tickets no lugar de senhas. Eles são gerados para cada sessão e são usados por um período curto e específico. Os usuários podem acessar serviços remotos, solicitando um ticket de serviço do DC. As solicitações incluem identificadores exclusivos chamados de nomes principais de serviço (SPNs). Para usar a autenticação Kerberos em seu ambiente, os SPNs devem ser registrados no AD com pelo menos uma conta de logon de serviço, que é uma conta dedicada à execução do serviço. Um usuário de domínio válido tem permissão para solicitar um ticket de serviço de concessão de tickets (TGS) para qualquer SPN, e partes do TGS podem ser criptografadas com o algoritmo de criptografia Rivest Cipher 4 (RC4) usando o hash de senha da conta de serviço atribuída ao solicitou SPN como a chave.
O Kerberoasting abusa do funcionamento do protocolo Kerberos. Os atores da ameaça precisam apenas obter uma conta de usuário de domínio válida – não uma conta de administrador local ou uma conta com permissões privilegiadas – para monitorar contas SPN e tickets associados.
Esses tickets podem ser quebrados offline para obter os hashes de senha. Vamos dar uma olhada mais profunda em como esse ataque está sendo executado.
Como um ataque Kerberoasting é realizado?
1. Listando SPNs de contas de serviço AD
Verificar a rede em busca de contas de serviço e, em seguida, detectar a conta de serviço necessária é a primeira etapa. Em seguida, o adversário adquire o SPN da conta de serviço usando diferentes técnicas, como varredura de SPN ou consulta LDAP.
2. Solicitando tickets TGS
O invasor então solicita tíquetes TGS ao controlador de domínio para os SPNs extraídos. O TGS valida o uso de um bilhete para uma finalidade específica.
3. Extraindo hashes da memória
O controlador de domínio AD responderia enviando um ticket para o serviço solicitado. Os tickets TGS costumam ser criptografados com hashes NT. Assim, os adversários despejam os hashes NTLM (New Technology Local Area Network Manager) da memória usando ferramentas como mimikatz e PWDump X, e o ticket é usado para quebrar a senha de texto simples.
4. Descriptografando os hashes
Ao obter o hash, o invasor usa técnicas de força bruta para recuperar senhas em texto não criptografado. Os invasores geralmente realizam esse processo fora do ambiente da vítima. Isso permite que eles usem unidades de processamento gráfico (GPU) poderosas para reduzir o tempo de descriptografia e elimina a possibilidade de documentar eventos de logon com falha, uma vez que os hashes são descriptografados offline.
5. Movimento lateral
Assim que o invasor obtiver a senha necessária, ele pode mover-se lateralmente pela rede e obter acesso a dados confidenciais.
Como detectar esses ataques?
Detectar Kerberos é uma das tarefas mais difíceis, pois o ataque não viola nenhuma regra. Ele apenas explora a operação do método de autenticação Kerberos. Além disso, entre as inúmeras solicitações legítimas, é difícil identificar uma anômala. Os SPNs do usuário podem ser facilmente recuperados e quebrados offline. Não haveria nenhum vestígio, pois os hashes de senha são quebrados offline. Como resultado, os bloqueios de conta não ocorrem.
É difícil detectar esse ataque, mas não é impossível. Os analistas de segurança podem usar técnicas de detecção baseadas em assinaturas e análises comportamentais para detectar e impedir um ataque Kerberoasting.
Também é altamente recomendável que você use algoritmos de criptografia fortes para contas de serviço, como AES-128 e AES-256. Alterar as senhas das contas de serviço com frequência também pode ajudar a proteger as contas contra o comprometimento.
Protegendo-se contra o Kerberoasting
Para detectar um ataque Kerberoasting, procure estes indicadores ou eventos:
- Monitorar contas de usuário com atividades de solicitação TGS suspeitas:
Nos estágios iniciais de um ataque Kerberoasting, um hacker levanta várias solicitações TGS (id do evento = 4769) de uma única conta de usuário para obter acesso à rede. É importante monitorar contas que geram várias solicitações em um curto espaço de tempo.
- Várias tentativas de logon com falha de uma única conta de usuário:
Logons com falha são comuns. No entanto, quando houver várias tentativas de logon malsucedidas seguidas de um logon bem-sucedido, isso pode ser um sinal de que um invasor está tentando comprometer uma conta. As atividades da conta sempre devem ser monitoradas de perto.
- Alterações suspeitas na conta de um usuário de origem:
Depois que um invasor obtém acesso, ele geralmente faz alterações críticas na conta. Isso pode ser feito para chamar a atenção do administrador do sistema ou para facilitar o movimento lateral pela rede.
A precisão das técnicas baseadas em assinatura é mínima e pode levar a falsos positivos. No entanto, você pode implantar uma ferramenta de gerenciamento de eventos e informações de segurança (SIEM) que usa aprendizado de máquina (ML) para aprender os padrões de ataque e ajudar na defesa contra ataques conhecidos.
Usando uma solução SIEM, você pode filtrar eventos com ID 4769, que normalmente é gerado toda vez que o Centro de distribuição de chaves (KDC) recebe uma solicitação de ticket Kerberos TGS. No entanto, 4769 eventos são um dos eventos mais registrados no DC. Portanto, é aconselhável usar esse filtro durante as buscas da Instrumentação de Gerenciamento do Windows.
Usando o poderoso mecanismo de pesquisa, você também pode filtrar tickets com tipo de criptografia 0x17 e tickets com opções e códigos de falha como 0x40810000 e 0x0, respectivamente.
Você também pode filtrar solicitações de contas de serviço. Os ataques Kerberoasting são geralmente iniciados a partir das contas de serviço. Você também pode filtrar as solicitações de nomes de serviço com um “$” que normalmente indica contas de computador.
Ao restringir o uso de contas de domínio como contas de serviço, os invasores podem ser impedidos de se mover lateralmente pela rede.
Como o Log360 ajuda a se defender contra ataques
ManageEngine Log360, um poderoso recurso de SIEM, faz isso identificando assinaturas associadas a um ataque e usando seu recurso de correlação para inter-relacionar os eventos e identificar os padrões.
O recurso UEBA da solução pode detectar ameaças com base no comportamento dos usuários. A solução usa ML e inteligência artificial (IA) para entender e aprender padrões de comportamento e desenvolver uma linha de base para cada usuário, tudo em um único console. Em seguida, atribui pontuação de risco aos usuários sempre que houver desvios no comportamento do usuário. Você pode identificar usuários mal-intencionados com base em sua pontuação de risco.
Com seus relatórios prontos para auditoria, você pode obter informações detalhadas sobre todas as suas atividades de rede. Isso ajuda a identificar e mitigar ameaças o mais rápido possível.
O Log360 é uma solução de SIEM abrangente que combate de forma proativa os ataques de segurança interna e externa com gerenciamento de log eficaz e auditoria AD aprofundada.