Segurança 11 min de leitura

Autenticação Kerberos no Active Directory: Do Handshake AS-REQ/TGS-REQ e Anatomia do PAC à Defesa Contra Kerberoasting e Uso de gMSA

Guilherme Nascimento 0 comentários

Autenticação Kerberos no Active Directory: Do Handshake AS-REQ/TGS-REQ e Anatomia do PAC à Defesa Contra Kerberoasting e Uso de gMSA

Autenticação Kerberos no Active Directory

Base Técnica Oficial: Fundamentado nas especificações RFC 4120, MS-PAC e manuais Microsoft Learn
HORA NERD // MICROSOFT SECURITY BASE 2026

Destaque de Segurança
Manual Avançado de Criptografia e Hardening para SysAdmins, Red Teams e Engenheiros de Identidade

O Kerberos v5 é a espinha dorsal de autenticação do Active Directory desde o lançamento do Windows 2000. No entanto, a maioria das organizações opera o protocolo sem compreender a mecânica de seus tickets criptográficos, as extensões proprietárias da Microsoft no Privilege Attribute Certificate (PAC) e como configurações padrão legadas abrem as portas para ataques devastadores como Kerberoasting, AS-REP Roasting e Golden Tickets. Este guia disseca o protocolo na teoria e na prática, estabelecendo as diretrizes mandatórias de mitigação recomendadas pela Microsoft.

✓
O Handshake Criptográfico: Do AS-REQ ao TGS-REQ e a função sagrada da conta `krbtgt`.
✓
Anatomia do PAC (MS-PAC): Como grupos e privilégios são assinados e validados no KDC.
✓
Ataques Reais Dissecados: A mecânica de exploração do Kerberoasting e Golden Tickets.
✓
Defesa em Profundidade: Implementação de gMSA, grupo Protected Users e FAST Armoring.

—

1. O Protocolo Kerberos v5 no Active Directory: O Fluxo Criptográfico

Ao contrário do protocolo legado NTLM (que se baseia em desafio e resposta e é vulnerável a ataques de Relay e Pass-the-Hash), o Kerberos v5 opera com autenticação mútua baseada em tickets emitidos por uma entidade de confiança: o KDC (Key Distribution Center), que reside em cada Controlador de Domínio do Active Directory.

O funcionamento do protocolo é detalhado na especificação How the Kerberos Version 5 Authentication Protocol Works no Microsoft Learn.

TERMINAL / bashUTF-8
+---------------------------------------------------------------------------------------------------+
|               O HANDSHAKE COMPLETO DE AUTENTICAÇÃO KERBEROS NO ACTIVE DIRECTORY                   |
+---------------------------------------------------------------------------------------------------+

   [ CLIENTE / ESTAÇÃO ]              [ KEY DISTRIBUTION CENTER (KDC / DC) ]          [ SERVIDOR ALVO ]
           │                                          │                                       │
           │ 1. AS-REQ (Pré-autenticação)             │                                       │
           │    Envia Timestamp cifrado com hash      │                                       │
           │    da senha do usuário                   │                                       │
           ├─────────────────────────────────────────►│                                       │
           │                                          │                                       │
           │ 2. AS-REP (Emissão do TGT)               │                                       │
           │    KDC devolve:                          │                                       │
           │    • Chave de Sessão de Logon            │                                       │
           │    • TGT (Criptografado com hash KRBTGT) │                                       │
           │◄─────────────────────────────────────────┤                                       │
           │                                          │                                       │
           │ 3. TGS-REQ (Solicitação de Serviço)      │                                       │
           │    Apresenta o TGT + SPN do serviço      │                                       │
           │    (ex: HTTP/web.corp.local)             │                                       │
           ├─────────────────────────────────────────►│                                       │
           │                                          │                                       │
           │ 4. TGS-REP (Emissão do Service Ticket)   │                                       │
           │    KDC devolve Ticket de Serviço (ST)    │                                       │
           │    cifrado com o hash da conta do SPN    │                                       │
           │◄─────────────────────────────────────────┤                                       │
           │                                                                                  │
           │ 5. AP-REQ (Apresentação ao Serviço)                                              │
           │    Cliente entrega o Ticket de Serviço diretamente ao servidor                   │
           ├─────────────────────────────────────────────────────────────────────────────────►│
           │                                                                                  │
           │ 6. AP-REP (Autenticação Mútua confirmada com sucesso)                            │
           │◄─────────────────────────────────────────────────────────────────────────────────┤
+---------------------------------------------------------------------------------------------------+

O Passo a Passo Criptográfico:

1. AS-REQ e AS-REP (Authentication Service Exchange)

  • O cliente quer provar quem ele é sem enviar a senha pela rede. Ele gera um carimbo de data/hora (timestamp) e o criptografa com a chave derivada da sua própria senha.
  • O KDC decodifica o timestamp. Se a hora do cliente e do KDC estiverem alinhadas (tolerância máxima padrão de 5 minutos via W32Time), o KDC confirma a identidade do usuário.
  • O KDC gera o Ticket Granting Ticket (TGT). O TGT é criptografado com a chave mestra secreta da conta krbtgt do domínio. O usuário não consegue ler nem alterar o conteúdo do TGT.

2. TGS-REQ e TGS-REP (Ticket-Granting Service Exchange)

  • Quando o usuário deseja acessar uma pasta compartilhada (cifs/fileserver.corp.local) ou um banco de dados (MSSQLSvc/sql01.corp.local:1433), ele não envia sua senha para o servidor de arquivos.
  • O cliente envia o seu TGT ao KDC informando o Service Principal Name (SPN) do destino.
  • O KDC valida o TGT usando a chave krbtgt, localiza a conta no AD que detém o SPN solicitado, cria o Ticket de Serviço (ST – Service Ticket) e o criptografa utilizando o hash da senha da conta de serviço que roda a aplicação.

3. AP-REQ e AP-REP (Application Exchange)

  • O cliente entrega o Ticket de Serviço diretamente ao servidor da aplicação.
  • O servidor da aplicação decodifica o ticket utilizando sua própria chave secreta. Como apenas ele e o KDC conhecem essa chave, o servidor sabe com 100% de certeza que o usuário foi legitimamente autenticado pelo domínio.

—

2. A Anatomia do Privilege Attribute Certificate (PAC)

O padrão aberto da RFC 4120 do Kerberos define apenas a identidade do usuário ([email protected]), mas não informa quais permissões ou grupos de segurança o usuário possui.

Para viabilizar o controle de acesso no ecossistema Windows, a Microsoft criou uma extensão proprietária obrigatória: o Privilege Attribute Certificate (PAC), especificado formalmente no documento MS-PAC: Privilege Attribute Certificate Data Structure no Microsoft Learn.

TERMINAL / bashUTF-8
+---------------------------------------------------------------------------------------------------+
|               ESTRUTURA INTERNA DO PRIVILEGE ATTRIBUTE CERTIFICATE (PAC)                          |
+---------------------------------------------------------------------------------------------------+

  [ CORPO DO PAC (Inserido dentro do TGT e do Ticket de Serviço) ]
  ├── LOGON_INFO:
  │   • User SID (Identificador de Segurança único do usuário)
  │   • Group SIDs (Lista de todos os SIDs dos grupos que o usuário é membro)
  │   • User Account Control (Flags de controle de conta)
  │   • Resource Group SIDs (SIDs de grupos locais do domínio de destino)
  ├── CLIENT_INFO:
  │   • Timestamp de emissão do ticket e nome do usuário
  ├── SERVER SIGNATURE (Assinatura do Servidor de Destino):
  │   • HMAC calculado sobre o corpo do PAC usando a chave da conta de serviço do SPN
  └── KDC SIGNATURE (Assinatura do Controlador de Domínio):
      • HMAC calculado sobre a Server Signature usando a chave secreta da conta `krbtgt`
+---------------------------------------------------------------------------------------------------+

Por que as Duas Assinaturas Digitais são Cruciais?

O PAC contém duas assinaturas criptográficas distintas para impedir fraudes de escalação de privilégios:
1. Server Signature: Permite ao servidor de aplicação validar que o PAC recebido não foi adulterado em trânsito após ter sido emitido.
2. KDC Signature: Assinada com a chave da conta krbtgt. O servidor de aplicação pode enviar uma requisição especial de validação ao DC para verificar se o PAC foi realmente gerado pelo KDC do domínio e não forjado por um serviço comprometido.

—

3. Anatomia dos Principais Ataques ao Kerberos

O desconhecimento da física do Kerberos transforma redes corporativas em alvos triviais para invasores:

TERMINAL / bashUTF-8
+---------------------------------------------------------------------------------------------------+
|               OS TRÊS VETORES CRÍTICOS DE EXPLORAÇÃO DO KERBEROS                                  |
+---------------------------------------------------------------------------------------------------+

  1. KERBEROASTING:
     Qualquer usuário comum ──► Pede TGS para um SPN de serviço ──► Hash do serviço extraído da RAM
     ──► Quebra de senha offline em GPUs sem gerar alertas no DC!

  2. AS-REP ROASTING:
     Contas com "DONT_REQ_PREAUTH" ──► Atacante pede AS-REP sem saber a senha ──► DC devolve o hash
     cifrado ──► Quebra de senha offline!

  3. GOLDEN TICKET:
     Chave da conta `krbtgt` vazada ──► Atacante forja TGTs falsos com PAC de Domain Admin
     ──► Acesso perpétuo e invisível que sobrevive à troca de senhas de todos os usuários!
+---------------------------------------------------------------------------------------------------+

1. Kerberoasting: O Ataque Mais Comum em Ambientes Corporativos

  • A Falha de Arquitetura: Qualquer usuário do domínio (mesmo um estagiário ou terceiro com acesso básico) tem permissão de solicitar um Ticket de Serviço (TGS) para qualquer SPN registrado na floresta.
  • O Vetor: Se uma aplicação (como um pool do IIS ou serviço do SQL) estiver rodando sob a identidade de uma conta de usuário comum com SPN registrado (setspn -s), o KDC entrega o Ticket de Serviço criptografado com o hash da senha desse usuário.
  • A Extração: O atacante extrai o ticket da memória de sua estação de trabalho (sem precisar de privilégios de administrador local) e leva o hash para uma máquina externa para quebra offline de senha via força bruta com dicionários (utilizando ferramentas como Hashcat).
  • O Perigo: O Controlador de Domínio registra apenas um evento normal de concessão de ticket (Event ID 4769), sem nenhum log de tentativa de login falha, tornando o ataque 100% invisível em auditorias superficiais.

2. Golden Ticket vs. Silver Ticket

  • Golden Ticket: Ocorre quando o invasor obtém o hash NTLM ou a chave AES da conta sagrada krbtgt (geralmente através de um dump de memória do processo lsass.exe em um Controlador de Domínio comprometido). O atacante pode forjar TGTs arbitrários com qualquer nome de usuário, injetando o SID de Enterprise Admins no PAC com validade de 10 anos.
  • Silver Ticket: O invasor não possui a chave do krbtgt, mas comprometeu a senha de um servidor específico. Ele forja um Ticket de Serviço (ST) direto para aquele servidor sem consultar o KDC.

—

4. Blindagem Moderna: gMSA, Protected Users e Kerberos Armoring

Para mitigar estruturalmente esses vetores de ataque, a Microsoft desenvolveu defesas profundas documentadas em Best Practices for Securing Active Directory.

TERMINAL / bashUTF-8
+---------------------------------------------------------------------------------------------------+
|               AS TRÊS CAMADAS DE BLINDAGEM DO KERBEROS MODERNO                                   |
+---------------------------------------------------------------------------------------------------+

  [ 1. GROUP MANAGED SERVICE ACCOUNTS (gMSA) ]
  • Senhas aleatórias de 128 caracteres geradas e rotacionadas automaticamente pelo KDC
  • Sem senha humana em texto plano em arquivos de configuração ou serviços
  • Elimina a viabilidade matemática de quebra por Kerberoasting

  [ 2. GRUPO PROTECTED USERS ]
  • Proíbe categoricamente NTLM, Digest e autenticações com cifras fracas (RC4/DES)
  • Não armazena credenciais em cache na memória do LSASS
  • TGT com tempo de expiração reduzido para 4 horas (em vez das 10 horas padrão)

  [ 3. KERBEROS ARMORING (FAST - RFC 6113) ]
  • Cria um túnel criptografado entre o cliente e o KDC usando a conta da máquina
  • Protege a pré-autenticação AS-REQ contra interceptação e ataques de dicionário
+---------------------------------------------------------------------------------------------------+

1. Group Managed Service Accounts (gMSA)

A recomendação mandatória da Microsoft para serviços corporativos (IIS, tarefas agendadas, SQL Server) é a migração imediata de contas de serviço normais para gMSA, especificado em Group Managed Service Accounts Overview no Microsoft Learn:

  • Ninguém sabe a senha da conta de serviço (ela é gerada pelo KDC via KDS Root Key).
  • A senha possui 128 caracteres complexos e é rotacionada automaticamente a cada 30 dias pelo próprio sistema operacional.
  • Mesmo que um invasor solicite um ticket Kerberoastable para o SPN da gMSA, o hash gerado é matematicamente impossível de ser quebrado por força bruta.

2. O Grupo de Segurança “Protected Users”

Introduzido no Windows Server 2012 R2 e detalhado em Protected Users Security Group:

  • Qualquer conta de alto privilégio (Domain Admins, Enterprise Admins) deve ser membro do grupo global Protected Users.
  • Efeitos Imediatos:

* O NTLM é desativado para essas contas: elas só autenticam via Kerberos.
* O KDC não emite tickets usando o algoritmo obsoleto e vulnerável RC4; apenas AES-128 ou AES-256.
* As credenciais não são mantidas em cache no processo lsass.exe de estações onde o administrador fizer logon, neutralizando o Mimikatz.
* O tempo de vida do TGT é reduzido para 4 horas (contra as 10 horas tradicionais).

—

5. Comandos Práticos no PowerShell para Auditoria e Hardening

Abaixo apresentamos a suíte de automação em PowerShell para auditar e blindar o ambiente contra ataques ao Kerberos:

TERMINAL / powershellUTF-8
# 1. Identificar contas de usuário com SPN registrado (Alvos potenciais de Kerberoasting)
Get-ADUser -Filter {ServicePrincipalNames -like "*"} -Properties ServicePrincipalNames, MemberOf |
    Select-Object Name, UserPrincipalName, ServicePrincipalNames, Enabled |
    Format-Table -AutoSize

Console PowerShell // Evidência Prática de Auditoria
Active Directory Domain Services
Console do Windows PowerShell executando Get-ADUser para auditar contas com ServicePrincipalNames no Active Directory

Leitura do Terminal: Na execução acima em ambiente real de laboratório, apenas a conta padrão krbtgt (com o SPN administrativo legado kadmin/changepw e status desabilitado) foi retornada. Se uma conta de usuário convencional (ex.: svc_sql ou iis_user) aparecer nesta listagem, ela é um alvo imediato para extração de tickets TGS e quebra offline de senha por força bruta.

TERMINAL / powershellUTF-8
# 2. Localizar contas vulneráveis a AS-REP Roasting (Pré-autenticação desativada)
Get-ADUser -Filter 'useraccountcontrol -band 4194304' -Properties useraccountcontrol |
    Select-Object Name, UserPrincipalName, Enabled

# 3. Criar a chave-raiz do Serviço de Distribuição de Chaves (KDS) para habilitar gMSA
# (Em produção, aguarde 10 horas para propagação de replicação após a criação da chave)
Add-KdsRootKey -EffectiveImmediately

# 4. Criar uma nova conta de serviço gMSA para um cluster IIS
New-ADServiceAccount -Name "gmsa_iis_farm" `
                     -DNSHostName "gmsa_iis_farm.corp.local" `
                     -PrincipalsAllowedToRetrieveManagedPassword "Grupo_Servidores_Web_IIS" `
                     -KerberosEncryptionType AES128,AES256

# 5. Instalar e testar a conta gMSA localmente no servidor de destino
Install-ADServiceAccount -Identity "gmsa_iis_farm"
Test-ADServiceAccount -Identity "gmsa_iis_farm" # Deve retornar: True

# 6. Auditar tickets Kerberos em cache na estação local via prompt de comando
klist

—

## 6. Referências Técnicas Oficiais da Microsoft

Para aprofundamento adicional nos manuais de engenharia utilizados na construção desta análise:
* [Microsoft Learn: How the Kerberos Version 5 Authentication Protocol Works](https://learn.microsoft.com/en-us/windows-server/security/kerberos/how-the-kerberos-version-5-authentication-protocol-works)
* [Microsoft Learn: MS-PAC Privilege Attribute Certificate Specification](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-pac/166d8064-c863-41e1-9c23-dc5f80ab9f1b)
* [Microsoft Learn: Group Managed Service Accounts (gMSA) Overview](https://learn.microsoft.com/en-us/windows-server/security/group-managed-service-accounts/group-managed-service-accounts-overview)
* [Microsoft Learn: Protected Users Security Group Architecture](https://learn.microsoft.com/en-us/windows-server/security/credentials-protection-and-management/protected-users-security-group)
* [Microsoft Learn: Best Practices for Securing Active Directory](https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/plan/security-best-practices/best-practices-for-securing-active-directory)
* [Microsoft Learn: Kerberos Armoring (FAST) Implementation](https://learn.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/hh831747(v=ws.11))

—


Hardening & Cibersegurança em Active Directory
Auditoria Kerberos•Eliminação de NTLM•Implantação de gMSA•Tier Model

Sua infraestrutura de identidade corporativa está blindada contra Kerberoasting e roubo de credenciais?

A equipe de segurança defensiva da Hora Nerd atua na auditoria e expurgo de contas vulneráveis a Kerberoasting e AS-REP Roasting, desativação planejada de NTLM, estruturação de contas gerenciadas de grupo (gMSA) e arquitetura de Tiering administrativo em ambientes Active Directory.

Guilherme Nascimento ✓

Guilherme Nascimento

Especialista & Fundador

Especialista em Infraestrutura, Cloud/DevOps e Cibersegurança | +10 anos de experiência prática

Profissional com mais de uma década atuando no campo de batalha da tecnologia corporativa. Especialista em arquiteturas resilientes, automação com Docker/Kubernetes, Hardening de Active Directory, Linux avançado e observabilidade SRE. Criador do ecossistema Hora Nerd, dedicado a desmistificar a tecnologia para profissionais e estudantes.

Cloud & DevOps Active Directory Hardening Linux SysAdmin Docker & CI/CD Observabilidade SRE
HORA NERD EMPRESAS · DIAGNÓSTICO TÉCNICO

Sua empresa enfrenta desafios com este tema ou precisa destravar a infraestrutura?

Elimine gargalos de rede, problemas de lentidão em servidores, custos descontrolados de nuvem e riscos de segurança. Atuamos como especialista freelance emergencial ou consultoria técnica contínua.

Deixe seu comentário

Seu e-mail não será publicado. Campos obrigatórios estão marcados com *