Kerberoasting | Extração de Credenciais de Serviço via TGS

Análise Técnica

Kerberoasting é uma técnica de pós-exploração que abusa da funcionalidade nativa do protocolo Kerberos, especificamente o mecanismo de solicitação de tickets de serviço (TGS-REQ). No Active Directory, serviços como SQL Server, IIS e outros são associados a contas de usuário ou de máquina através de Service Principal Names (SPNs).

Qualquer usuário autenticado no domínio pode solicitar um Ticket Granting Service (TGS) para qualquer serviço que tenha um SPN registrado. O KDC (Key Distribution Center) emite esse ticket criptografado com a chave secreta da conta de serviço solicitada (derivada do hash NTLM da senha dessa conta). O aspecto crítico é que o KDC não verifica se o usuário tem permissão para acessar o serviço nesse estágio, apenas se ele pode solicitar o ticket. Um atacante pode extrair esse ticket criptografado da memória e tentar quebrá-lo offline (brute-force). Se a conta de serviço tiver uma senha fraca, o atacante recupera a senha em texto claro, muitas vezes ganhando acesso administrativo aos servidores onde o serviço roda ou, em casos de contas de serviço com privilégios de Admin de Domínio, comprometendo toda a rede.

Mapeamento e Exploração com Metasploit

O Metasploit facilita tanto a identificação de alvos vulneráveis quanto a automação do processo de requisição, embora a quebra da senha ocorra externamente.

  • Módulo de Enumeração: auxiliary/gather/kerberos_enumusers
  • Módulo de Consulta LDAP: auxiliary/gather/ldap_query
  • Integração: Scripts Python como GetUserSPNs.py (do Impacket) são frequentemente tunelados através de sessões Metasploit.

Cenário de Exploração Detalhado:

O atacante já possui acesso inicial a uma estação de trabalho integrada ao domínio.

  1. Enumeração de SPNs:
    O primeiro passo é identificar quais contas de usuário no AD possuem SPNs associados. Contas de máquina (terminadas em $) geralmente têm senhas longas e aleatórias (128 caracteres), tornando-as inviáveis para crack. O foco são contas de usuário configuradas como serviço.
    Bash
    msf6 > use auxiliary/gather/ldap_query
    msf6 auxiliary(ldap_query) > set QUERY (&(objectCategory=person)(servicePrincipalName=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2)))
    msf6 auxiliary(ldap_query) > run

    Esta consulta LDAP filtra objetos de pessoa que têm um SPN e não estão desabilitados.
  2. Extração de Tickets:
    Embora o Metasploit possa interagir com ferramentas externas, em um ambiente Windows comprometido, o atacante pode usar o módulo post/windows/gather/credentials/sso ou carregar a extensão kiwi (Mimikatz) dentro do Meterpreter para solicitar e exportar os tickets.
  • Comando Meterpreter: kiwi_cmd “kerberos::ask /target:MSSQLSvc/db01.empresa.local”
  • Exportação: kiwi_cmd “kerberos::list /export”
  1. Quebra Offline (Cracking):
    Os arquivos .kirbi (formato Mimikatz) ou hashes extraídos (formato hashcat $krb5tgs$…) são transferidos para a máquina do atacante. Utilizando ferramentas como Hashcat (modo 13100), o atacante executa um ataque de dicionário. Se a senha da conta de serviço for “Sup3rS3nh@”, ela será descoberta em segundos, permitindo login lateral ou elevação de privilégio.

Remediação e Defesa em Profundidade

O Kerberoasting explora um comportamento “by design”, tornando impossível “corrigi-lo” via patch sem quebrar o Kerberos. A defesa baseia-se em gestão de identidade e criptografia.

  1. Senhas Fortes e Rotatividade: A mitigação primária é garantir que todas as contas de serviço com SPNs utilizem senhas complexas (mais de 25 caracteres aleatórios). Isso torna o ataque de força bruta computacionalmente inviável.
  2. Group Managed Service Accounts (gMSA): Substituir contas de serviço manuais por gMSAs sempre que possível. gMSAs gerenciam senhas de 120 caracteres automaticamente, que são impossíveis de quebrar via Kerberoasting.
  3. Criptografia AES: Configurar o domínio para suportar e preferir criptografia AES-128/256 para Kerberos em vez de RC4. Embora o AES também possa ser atacado, ele é significativamente mais lento para processar em ferramentas de cracking do que o RC4.
  4. Monitoramento: Configurar alertas de SIEM para o Evento 4769 (Kerberos Service Ticket Operations) quando houver um volume anômalo de solicitações de TGS partindo de um único usuário para múltiplos serviços distintos em um curto intervalo de tempo, indicando varredura e extração.

 

TAGS

No responses yet

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

CVE-2022-26923 – Certifried | Elevação de Privilégio via Atributos de Máquina

CVE-2022-26923 – Certifried | Elevação de Privilégio via Atributos de Máquina

Esta vulnerabilidade permite que qualquer usuário autenticado (que por padrão pode criar até 10 contas de máquina no AD[…]

Nmap, Pentest & PTES

Nmap, Pentest & PTES

A segurança de infraestruturas corporativas modernas depende intrinsecamente da capacidade de auditoria contínua e da validação rigorosa dos controles[…]

AD CS - ESC8: NTLM Relay via Web Enrollment

Active Directory Certificate Services – ESC8 | NTLM Relay via Web Enrollment

ESC8 não é uma falha de template, mas uma falha de configuração de serviço.