Golden Ticket
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
Golden ticket
Um ataque Golden Ticket consiste na criação de um Ticket Granting Ticket (TGT) legítimo, impersonando qualquer usuário através do uso do hash NTLM da conta krbtgt do Active Directory (AD). Esta técnica é particularmente vantajosa porque permite acesso a qualquer serviço ou máquina dentro do domínio como o usuário impersonado. É crucial lembrar que as credenciais da conta krbtgt nunca são atualizadas automaticamente.
Para adquirir o hash NTLM da conta krbtgt, vários métodos podem ser empregados. Ele pode ser extraído do processo Local Security Authority Subsystem Service (LSASS) ou do arquivo NT Directory Services (NTDS.dit) localizado em qualquer Controlador de Domínio (DC) dentro do domínio. Além disso, executar um ataque DCsync é outra estratégia para obter esse hash NTLM, que pode ser realizado usando ferramentas como o módulo lsadump::dcsync no Mimikatz ou o script secretsdump.py do Impacket. É importante ressaltar que para realizar essas operações, privilégios de administrador de domínio ou um nível de acesso semelhante são tipicamente necessários.
Embora o hash NTLM sirva como um método viável para esse propósito, é fortemente recomendado forjar tickets usando as chaves Kerberos do Advanced Encryption Standard (AES) (AES128 e AES256) por razões de segurança operacional.
Uma vez que você tenha o golden Ticket injetado, você pode acessar os arquivos compartilhados (C$) e executar serviços e WMI, então você poderia usar psexec ou wmiexec para obter um shell (parece que você não pode obter um shell via winrm).
Contornando detecções comuns
As maneiras mais frequentes de detectar um golden ticket são por inspecionar o tráfego Kerberos na rede. Por padrão, o Mimikatz assina o TGT por 10 anos, o que se destacará como anômalo em solicitações TGS subsequentes feitas com ele.
Lifetime : 3/11/2021 12:39:57 PM ; 3/9/2031 12:39:57 PM ; 3/9/2031 12:39:57 PM
Use os parâmetros /startoffset
, /endin
e /renewmax
para controlar o deslocamento inicial, a duração e o número máximo de renovações (todos em minutos).
Infelizmente, a duração do TGT não é registrada nos eventos 4769, então você não encontrará essa informação nos logs de eventos do Windows. No entanto, o que você pode correlacionar é ver 4769's sem um 4768 anterior. Não é possível solicitar um TGS sem um TGT, e se não houver registro de um TGT sendo emitido, podemos inferir que ele foi forjado offline.
Para contornar essa detecção, verifique os diamond tickets:
Diamond TicketMitigação
4624: Logon de Conta
4672: Logon de Admin
Get-WinEvent -FilterHashtable @{Logname='Security';ID=4672} -MaxEvents 1 | Format-List –Property
Outras pequenas truques que os defensores podem fazer é alertar sobre 4769's para usuários sensíveis como a conta de administrador de domínio padrão.
Referências
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated