Golden Ticket Attack

Views: 649
0 0
Read Time:2 Minute, 44 Second

Tive a oportunidade de trabalhar minhas habilidades de ataque do Windows dentro de um par de CyberRanges diferentes recentemente. Tenho tentado entender os diferentes casos de uso com Mimikatz e decidi compartilhar minhas experiências com um Ataque de Bilhete Dourado.

Para começar, um Bilhete Dourado é um ataque pós-exploração que fornece a capacidade de persistência de domínio. Ou seja, o invasor já comprometeu uma conta que tem os direitos do DcSync para o Domínio do Diretório Ativo. Assim, ser capaz de despejar o hash krbtgt, bem como o domínio SID, e usar essas informações para criar um Bilhete Dourado forjado.

Image for post

Para criar o Golden Ticket, usei o sistema de base (WKS23) para testar as credenciais da conta de administrador local (pwn3d) contra o controlador de domínio (DC01); que eu validei que pwn3d não tinha privilégios para DC01.

Image for post

Em vez de copiar Mimikatz para o sistema base, usei um PowerShell Download Cradle (do meu sistema atacante) para executar comandos Mimikatz. O primeiro comando foi criar o Golden Ticket e o segundo comando foi injetar o Golden Ticket.

Usando o hash krbtgt e o SID de domínio, criei um Golde Ticket e o salvei com o nome padrão (ticket.kirbi) para o diretório de trabalho atual. Eu queria guardar o bilhete para uso posterior em vez de usar imediatamente o PassTheTicket (PTT).

Usei os seguintes flags para não usar o tempo de vida do bilhete padrão de 10 anos:

· /domain:plum.local — nome de domínio totalmente qualificado

· /sid:S-1-5-21-XXXXXXXXXX-XXXXXXXXXXXXXXXXXXXXXXXX — domínio SID

· /krbtgt:<hash> — hash da conta krbtgt de domínio

· /admin:IDontExist23 — conta falsa

· /id:500 — personificar o administrador de domínio (RID 500)

· /groups:512 — atribua as permissões falsas da conta do grupo Administradores de Domínio

· /startoffset:0 — horário de início de quando o bilhete estiver disponível em minutos

· /endin:600 — tempo de vida do bilhete em minutos (600 = 10hrs)

· /renewmax:10080 — tempo máximo de vida útil que o bilhete pode ser renovado em minutos (10080 = 10 dias)

Image for post

Com o bilhete criado e salvo localmente no WKS23, usei Mimikatz para injetar o bilhete salvo e depois validei que o bilhete foi criado. Se eu tivesse estabelecido uma base para sistemas adicionais, eu poderia ter copiado o Golden Ticket e injetado desses sistemas também.

Image for post

Em seguida, usei o Get-WmiObject e o Net User para validar que a conta do administrador local poderia acessar o DC01 e validei que o usuário falso não existia dentro do LDAP.

Image for post

Mitigação:

  • Redefinindo a senha krbtgt (duas vezes) para invalidar os bilhetes dourados atuais
  • Revisão e filtro De Segurança ID 4624 e 4672

Referências:

PentesterAcademy — Laboratório de Diretório Ativo

NotSoSecure — Hacking avançado de infraestrutura

Disclaimer:

Este artigo é disponibilizado apenas para fins educativos!!! Além disso, este artigo fornece informações gerais sobre temas de segurança cibernética usados para “Hacking Ético”.

As pessoas que acessam essas informações assumem total responsabilidade pelo uso e concordam em não usar este conteúdo para qualquer finalidade ilegal. Além disso, o autor não se responsabiliza por quaisquer danos diretos ou indiretos ou despesas incorridas que possam resultar do uso das informações abrangidas neste artigo.

As informações deste artigo são “como estão”, sem garantia de qualquer tipo.

FONTE: MIKE BOND

POSTS RELACIONADOS