Daniel Petri

O Active Directory (AD) continua a ser uma espinha dorsal crucial para ambientes de TI empresariais, centralizando a autenticação e a autorização de utilizadores e computadores. No entanto, a importância do Active Directory - juntamente com a sua idade e a dívida técnica que frequentemente acumula - torna-o um alvo principal para ciberataques. Uma técnica de ataque comum, denominada Kerberoasting, explora o protocolo de autenticação Kerberos e os nomes principais de serviço (SPNs). Aqui está uma visão mais detalhada de como o Kerberoasting funciona e como se defender contra ele.

O que é o Kerberoasting?

O Kerberoasting é um método de ataque sofisticado. Os atacantes utilizam o Kerberoasting para extrair credenciais de contas de serviço. Armados com estas credenciais, os atacantes podem ganhar uma capacidade alarmante de comprometer extensivamente a sua rede.

A base do Kerberoasting é a capacidade de qualquer utilizador autenticado num domínio AD solicitar bilhetes de serviço para qualquer serviço. Estes bilhetes são encriptados utilizando o hash da conta de serviço associada ao SPN consultado. O hash-RC4 ou DES- não é considerado forte pelos padrões modernos e, portanto, pode ser quebrado com relativa facilidade.

O que é o Kerberos?

O Kerberos é um protocolo de autenticação de rede criado para oferecer autenticação segura para aplicações cliente-servidor, utilizando criptografia de chave secreta. O protocolo é o protocolo de autenticação predefinido no Active Directory e desempenha um papel crucial na garantia de que os utilizadores e os serviços podem confiar uns nos outros num ambiente de rede.

O Kerberos utiliza bilhetes: entidades criptográficas que autenticam utilizadores ou serviços sem enviar repetidamente palavras-passe através da rede. Estes bilhetes são a espinha dorsal do processo de autenticação Kerberos.

Existem vários tipos de bilhetes Kerberos:

  • Ticket de Concessão de Ticket (TGT): Emitido após o início de sessão inicial, este bilhete autoriza o utilizador a solicitar bilhetes de serviço.
  • Bilhete de serviço, também conhecido como bilhete do Serviço de Concessão de Bilhetes (TGS): Este bilhete permite que os utilizadores acedam a serviços específicos.
  • Bilhete de sessão: Depois de um bilhete de serviço ser apresentado ao serviço e verificado por este, é utilizado um bilhete de sessão para autenticar o cliente durante a sessão.

Estes bilhetes contêm informações importantes sobre a conta de utilizador ou de serviço, o computador em que o pedido foi efectuado e muito mais. As informações contidas nos bilhetes são encriptadas e só podem ser acedidas pela parte que solicitou o bilhete ou concedeu o acesso.

O que são nomes principais de serviço (SPNs)?

Os SPNs são utilizados para identificar de forma exclusiva um serviço que se tenha registado no Active Directory. Cada SPN está associado a uma conta de serviço específica no Active Directory e descreve o tipo de serviço. Alguns exemplos de tipos de serviço:

  • Serviços Web: Um servidor Web como o IIS pode utilizar um SPN como HTTP/webserver.domain.com para autenticar com o AD.
  • Serviços SQL: As instâncias do Microsoft SQL Server registam um SPN como MSSQLSvc/servername.domain.com:1433 para ativar a autenticação Kerberos.
  • Serviços de ficheiros: Um servidor de ficheiros pode ter um SPN, como HOST/fileserver.domain.com.
  • Aplicações personalizadas: As empresas desenvolvem frequentemente aplicações internas que utilizam o AD e o Kerberos para autenticação. Estas aplicações também podem registar os respectivos SPNs.

Quando um utilizador ou um serviço pretende aceder a um serviço registado no AD, consulta o SPN relevante para solicitar o bilhete de serviço necessário, que o serviço de destino valida. As contas de serviço no Active Directory são vitais, uma vez que podem executar aplicações ou serviços críticos e têm frequentemente privilégios elevados.

Como funciona o Kerberoasting?

Num ataque típico de Kerberoasting:

  • O atacante enumera os SPNs e as suas contas de serviço associadas. Os atacantes podem usar comandos do PowerShell para encontrar facilmente todos os SPNs de tipos específicos. Um dos tipos de SPN mais úteis que os atacantes procuram é o SQL porque suporta o SQL Server (um alvo popular para a exfiltração de dados).
  • Depois de identificar os SPNs disponíveis e as suas contas de serviço associadas, o atacante solicita o bilhete Kerberos para os SPNs alvo e exfiltra o bilhete para desencriptação.
  • O atacante trabalha então offline para decifrar e desencriptar o hash da palavra-passe do bilhete, utilizando ferramentas e técnicas de força bruta offline.
  • Depois de decifrar a palavra-passe do bilhete, o atacante obtém acesso à conta (frequentemente privilegiada) que está associada ao bilhete de serviço.
  • O atacante utiliza a conta comprometida para efetuar uma escalada de privilégios e, assim, obter acesso não autorizado a informações sensíveis, para efetuar movimentos laterais ou para realizar outras actividades maliciosas.
  • O comprometimento de uma conta permite frequentemente ao atacante aceder a contas de utilizador adicionais no servidor ao qual o atacante obteve acesso originalmente. O atacante utiliza então a mesma técnica para aceder a mais contas.

Que danos pode causar o Kerberoasting?

Os riscos colocados pelo Kerberoasting são multifacetados. Na sua essência, o ataque conduz ao roubo de credenciais, colocando credenciais de contas de serviço sensíveis nas mãos de adversários.

O que amplifica a ameaça são as permissões que as contas de serviço podem ter. Um atacante que decifre a palavra-passe de uma conta de serviço com privilégios elevados pode obter um acesso alargado, abrindo portas a privilégios elevados. Armados com estas credenciais, os atacantes podem mover-se lateralmente numa rede, acedendo a dados e recursos valiosos.

Porque é que o Kerberoasting é um ataque tão popular?

O Kerberoasting continua a ser um vetor de ataque comum, principalmente porque pode ser difícil de identificar e contrariar. Este ataque é também relativamente fácil de executar utilizando ferramentas bem conhecidas.

O Kerberos foi projetado para segurança e eficiência. No entanto, a sua força depende da confidencialidade das chaves de encriptação que protegem os bilhetes durante a fase de autenticação. Se os atacantes conseguirem obter estas chaves de encriptação (palavras-passe), podem criar os seus próprios bilhetes, dando-lhes uma porta de entrada para informação privilegiada e activos de rede.

Conseguir uma exploração bem sucedida do Kerberoasting numa rede empresarial dependente do Kerberos pode conceder ao atacante acesso a um vasto conjunto de dados e ferramentas confidenciais. Isto explica porque é que os atacantes estão dispostos a fazer um grande esforço nas tentativas de Kerberoasting.

Os atacantes também podem orquestrar o Kerberoasting remotamente, evitando o envolvimento direto com o servidor de autenticação ou os activos alvo. Esta abordagem furtiva faz com que as equipas de cibersegurança tenham dificuldade em detetar e impedir o Kerberoasting nas suas fases iniciais.

Como se pode defender contra o Kerberoasting?

A mitigação dos riscos colocados pelo Kerberoasting envolve várias etapas:

  1. Fortificar as palavras-passe das contas de serviço. As palavras-passe devem ser únicas, complexas e ter mais de 25 caracteres. Devem ser capazes de resistir a ataques de força bruta, tornando mais difícil para os atacantes decifrarem as palavras-passe associadas a quaisquer bilhetes de serviço que obtenham. Altere as palavras-passe pelo menos uma vez por ano para ajudar a manter os atacantes afastados.
  2. Se o serviço relevante o suportar, utilize contas de serviço geridas por grupos (gMSAs) que forneçam gestão de palavras-passe para eliminar a necessidade de gerir manualmente as palavras-passe das contas de serviço e para aliviar as despesas administrativas.
  3. Monitorizar o Active Directory para detetar anomalias, como pedidos de bilhetes de serviço anormais ou frequentes. Estes eventos podem indicar uma tentativa de Kerberoasting em curso.
  4. Adotar o princípio do menor privilégio para as contas de serviço. Para garantir que as aplicações funcionam como esperado, estas contas têm frequentemente privilégios excessivos quando são configuradas. Ao limitar os direitos e as permissões, pode minimizar os danos potenciais se uma conta for comprometida.
  5. Considere desativar o RC4 como um tipo de encriptação. Isso pode levar algum tempo, pois é necessário garantir que os aplicativos e sistemas de nível inferior ainda possam funcionar. No entanto, este passo vale bem o esforço para garantir que as palavras-passe já não estão a utilizar este protocolo para fazer hash.

Outra defesa emergente contra o Kerberoasting é a implementação e monitorização de honey tokens. Essencialmente, estes tokens são contas de engodo equipadas com SPNs, deixadas como isco para os atacantes. Uma vez que estas contas são falsas e não têm qualquer objetivo legítimo, qualquer atividade em torno delas é um sinal claro de intenção maliciosa. Com uma monitorização adequada, podem alertar a sua equipa de segurança para um potencial ataque Kerberoasting, permitindo-lhe defender-se e minimizar quaisquer danos.

Como é que o Semperis o pode ajudar a combater o Kerberoasting

A evolução do cenário de ameaças cibernéticas exige ferramentas que possam acompanhar o ritmo. As soluções avançadas de deteção de ameaças, como a Semperis Directory Services Protector (DSP ), podem monitorizar ativamente , detetar e emitir alertas para padrões consistentes com o Kerberoasting e outros ataques baseados no Active Directory. A utilização destas ferramentas amplifica a sua defesa, tornando o seu ambiente AD mais resiliente contra violações.

O Kerberoasting é uma técnica de ataque potente. No entanto, é possível combatê-la eficazmente com os conhecimentos e ferramentas correctos. Ao compreender a sua mecânica, mantendo-se vigilantes e implementando medidas de segurança avançadas, as empresas podem salvaguardar os seus ambientes Active Directory e o tesouro de dados de que detêm as chaves.