Sean Deuby | Tecnólogo Principal, Américas

No romance de Roald Dahl de 1964, «Charlie e a Fábrica de Chocolate», o enigmático Willy Wonka esconde cinco Bilhetes Dourados entre as barras de chocolate da sua fábrica. Quem encontrar os bilhetes ganha a honra de visitar os bastidores das instalações da sua empresa. No mundo digital, os Bilhetes Dourados também proporcionam acesso, mas a algo muito mais valioso do que uma fábrica misteriosa: o ambiente de TI da sua organização.

Leitura relacionada

O seu bilhete, por favor

Como introdução rápida: quando um cliente de PC se autentica num domínio, o Centro de Distribuição de Chaves Kerberos (KDC) no controlador de domínio (DC) de autenticação fornece ao cliente um Ticket Granting Ticket (TGT). Este TGT dá ao cliente a capacidade de solicitar um bilhete de serviço ao KDC para aceder a um serviço (por exemplo, um servidor de ficheiros). O KDC envia o bilhete de serviço para o cliente, encriptado com o valor de hash da palavra-passe da conta de serviço. O cliente passa o bilhete para o serviço, que o desencripta e concede ao cliente acesso ao serviço.

A conta krbtgt funciona como uma conta de serviço para o serviço KDC. Com o controlo da conta krbtgt, os atacantes podem criar TGTs fraudulentos para aceder a quaisquer recursos que desejem. Este cenário é a essência de um ataque Golden Ticket. Se executados com êxito, os ataques Golden Ticket permitem que os agentes da ameaça se façam passar por qualquer utilizador. O ataque é difícil de detectar e pode ser utilizado por agentes de ameaças para persistir sob o radar durante longos períodos de tempo.

O lançamento do ataque requer que o atacante já tenha comprometido uma conta com privilégios elevados que possa aceder ao controlador de domínio. Cada controlador de domínio no ambiente AD executa um KDC. Depois de ter acesso ao controlador de domínio, o atacante pode utilizar uma ferramenta como o Mimikatz para roubar o hash NTLM da conta krbtgt.

Com o hash da palavra-passe krbtgt em mãos, o agente da ameaça só precisa do seguinte para criar um TGT:

  • Nome de domínio totalmente qualificado (FQDN) do domínio
  • O Identificador de Segurança (SID) do domínio
  • O nome de utilizador da conta a que se destinam.

Embora os TGTs sejam normalmente válidos por 10 horas por defeito, um atacante pode tornar o TGT válido por qualquer período de tempo, até 10 anos. Por este motivo, é fundamental ter uma estratégia para detectar, atenuar e remediar estes ataques.

Utilizar a higiene de segurança básica para se proteger contra ataques do Bilhete Dourado

A prevenção de ataques Golden Ticket começa com a higiene básica de segurança. Os adversários não podem lançar o ataque sem primeiro comprometerem o ambiente, pelo que as organizações podem começar por implementar uma defesa em camadas para reduzir a superfície de ataque e aumentar a barreira à entrada.

  1. Prevenção do roubo de credenciais: A primeira camada envolve a prevenção do roubo de credenciais. Bloquear malware destinado a roubar credenciais e ataques de phishing é fundamental e deve envolver uma combinação de formação em sensibilização para a segurança dos colaboradores, bem como segurança de rede e de terminais. Eliminar palavras-passe comuns do seu diretório, utilizando um filtro de palavras-passe personalizado, como o Azure AD Password Protection, reduzirá a probabilidade de um ataque de «password spray» ter sucesso. Qualquer atividade do Mimikatz que não seja conduzida pela equipa Red da sua organização ou por um testador de penetração autorizado é um sinal claro de que os atacantes já estão presentes.
  2. Manter o AD seguro: A próxima camada envolve reforçar as muralhas em torno do próprio AD. Uma vez que um ataque «Golden Ticket» requer acesso privilegiado a um controlador de domínio, a implementação do princípio do privilégio mínimo é crucial para manter o AD seguro. As equipas responsáveis pelo AD devem reduzir ao mínimo o número de contas de utilizador e de serviço com acesso aos controladores de domínio. As contas com permissões de administrador de domínio ou de «replicação de alterações no diretório» podem ser utilizadas para lançar ataques DCSync, que permitem que o hash krbtgt seja roubado.
  3. Detecção de bilhetes falsificados: Tal como acontece com as notas de dólar falsificadas, os bilhetes falsificados podem ser detetados através da observação de comportamentos invulgares por parte do utilizador e da análise do bilhete em busca de sinais reveladores. Por exemplo, erros como discrepâncias entre o nome de utilizador e o ID relativo (RID) ou alterações no período de validade do bilhete podem ser indicadores de atividade maliciosa. Além disso, é igualmente importante monitorizar o AD para detetar atividades invulgares, tais como alterações na adesão a grupos.
  4. Tenha cuidado ao alterar a palavra-passe do krbtgt: Um dos conselhos mais comuns para lidar com ataques do tipo «Golden Ticket» é alterar a palavra-passe do krbtgt a cada 180 dias. Isto não deve ser feito de ânimo leve, uma vez que provocará falhas temporárias na validação do Certificado de Atributos Privilegiados (PAC). O melhor método para atualizar a palavra-passe consiste em estudar e executar o script de redefinição da palavra-passe da conta krbtgt (fornecido pelo MVP da Microsoft Jorge de Almeida Pinto, trata-se de um script de redefinição continuamente atualizado), o qual também permite às organizações verificar se todos os controladores de domínio (DC) com direitos de escrita no domínio replicaram as chaves derivadas do novo hash da palavra-passe. Alterar a palavra-passe da conta krbtgt a cada 180 dias é uma prática recomendada. No entanto, as equipas de AD devem também considerar alterá-la sempre que um colaborador capaz de criar um «Golden Ticket» sair da organização. Esta medida reduz o risco de um ex-colaborador insatisfeito utilizar um «Golden Ticket» falsificado para fins maliciosos. É importante lembrar que, caso seja detetado um ataque de «Golden Ticket», a palavra-passe terá de ser redefinida duas vezes para mitigar o ataque. Porquê? Porque a conta krbtgt guarda as duas palavras-passe anteriores, pelo que é necessário redefinir a palavra-passe duas vezes para impedir que outro DC utilize uma palavra-passe antiga para se replicar com o DC afetado. Como aviso, alterar a palavra-passe duas vezes antes de esta se poder replicar em todo o ambiente pode interromper o acesso à rede; por isso, não tenha pressa e certifique-se de que a primeira atualização se propagou a todos os DC.

Construir uma defesa sólida contra os ataques do Bilhete Dourado

Mitigar e responder a um ataque Golden Ticket é difícil. No entanto, uma vez que estes ataques podem abrir caminho ao roubo de dados em grande escala e ao ransomware, é vital ter em conta os ataques Golden Ticket nos seus cenários de recuperação de AD e de resposta a incidentes.

Certifique-se de que a extensão da atividade dos atacantes foi determinada antes de reconstruir os sistemas afetados e reiniciar as contas, o que permitiria ao atacante saber que detetou a sua atividade. Certifique-se de que dispõe de uma cópia de segurança offline e, idealmente, de uma floresta recuperada e isolada, para que, caso o atacante ative a carga útil do ransomware, ainda disponha de uma floresta AD viável. Só ao compreenderem plenamente os danos causados é que as organizações podem ter a certeza de que fecharam completamente a porta aos atacantes e os impediram de manter uma posição de domínio.