Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
KRBUACBypass — Abusa de tickets Kerberos para contornar o UAC do Windows e obter privilégios SYSTEM ao injetar um MachineID falso em tíquetes de serviço, aproveitando-se do truque tgtdeleg e do acesso SCM. | Kitploit
Ferramentas/GitHubGitHub/wh0amitz/krbuacbypass
Escalada de PrivilégiosExploraçãoTestes de PenetraçãoAutenticaçãoRed Teaming
GitHubwh0amitz/krbuacbypass

KRBUACBypass

Abusa de tickets Kerberos para contornar o UAC do Windows e obter privilégios SYSTEM ao injetar um MachineID falso em tíquetes de serviço, aproveitando-se do truque tgtdeleg e do acesso SCM.

Ver Repositório
51364há 3 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Contexto

Este POC foi inspirado por James Forshaw (@tiraniddo) compartilhado na BlackHat USA 2022 intitulado “Taking Kerberos To The Next Level ”, ele compartilhou uma demonstração de como abusar de tickets Kerberos para realizar um bypass de UAC. Ao adicionar um KERB-AD-RESTRICTION-ENTRY ao ticket de serviço, mas preenchendo um MachineID falso, podemos facilmente contornar o UAC e obter privilégios de SYSTEM ao acessar o SCM para criar um serviço de sistema. James Forshaw explicou a lógica por trás disso em um post no blog chamado "Bypassing UAC in the most Complex Way Possible!", o que me deixou muito interessado. Embora ele não tenha fornecido o código completo do exploit, construí um POC baseado no Rubeus. Como um conjunto de ferramentas C# para interação bruta com Kerberos e abuso de tickets, o Rubeus fornece uma interface fácil que nos permite iniciar solicitações Kerberos e manipular tickets Kerberos facilmente.

Você pode ver artigos relacionados sobre o KRBUACBypass no meu blog "Revisiting a UAC Bypass By Abusing Kerberos Tickets", incluindo o princípio de funcionamento e como ele é implementado. Como dito no artigo, este artigo foi inspirado por @tiraniddo's "Taking Kerberos To The Next Level" (Eu não teria feito isso sem o compartilhamento dele) e eu simplesmente implementei como uma ferramenta antes de me formar na faculdade.

Truque Tgtdeleg

Não podemos gerar manualmente um TGT, pois não temos nem acesso às credenciais do usuário atual. No entanto, Benjamin Delpy (@gentilkiwi) em seu Kekeo um truque (tgtdeleg) foi adicionado que permite abusar da delegação irrestrita para obter um TGT local com uma chave de sessão.

O Tgtdeleg abusa da API GSS-API do Kerberos para obter TGTs disponíveis para o usuário atual sem obter privilégios elevados no host. Este método usa a função AcquireCredentialsHandle para obter o manipulador de credenciais de segurança Kerberos para o usuário atual, e chama a função InitializeSecurityContext para HOST/DC.domain.com usando a flag ISC_REQ_DELEGATE e o SPN alvo para preparar o contexto de pseudo-delegação a ser enviado ao controlador de domínio. Isso faz com que o KRB_AP-REQ na saída da GSS-API inclua o KRB_CRED no Authenticator Checksum. A chave de sessão do ticket de serviço é então extraída do cache Kerberos local e usada para descriptografar o KRB_CRED no Authenticator para obter um TGT utilizável. O conjunto de ferramentas Rubeus também incorpora essa técnica. Para detalhes, consulte "Rubeus – Agora com Mais Kekeo".

Com este TGT, podemos gerar nosso próprio ticket de serviço, e o processo de operação viável é o seguinte:

  1. Use o truque Tgtdeleg para obter o TGT do usuário.
  2. Use o TGT para solicitar ao KDC que gere um novo ticket de serviço para o computador local. Adicione um KERB-AD-RESTRICTION-ENTRY, mas preencha um MachineID falso.
  3. Submeta o ticket de serviço no cache.

Krbscm

Uma vez que você tenha um ticket de serviço, pode usar a autenticação Kerberos para acessar o Service Control Manager (SCM) via Named Pipes ou TCP através de SPNs HOST/HOSTNAME ou RPC/HOSTNAME. Note que a API Win32 do SCM sempre usa autenticação Negotiate. James Forshaw criou um POC simples: SCMUACBypass.cpp, através de hooks nas duas APIs AcquireCredentialsHandle e InitializeSecurityContextW, o nome do pacote de autenticação chamado pelo SCM (pszPackage) para Kerberos, permitindo que o SCM use Kerberos ao autenticar localmente.

Para mais detalhes, leia:

  • Para EN-US: https://whoamianony.top/posts/revisiting-a-uac-bypass-by-abusing-kerberos-tickets/
  • Para ZH-CN: https://paper.seebug.org/3003/

Vejamos em ação

Agora vamos dar uma olhada no efeito da execução, conforme mostrado na figura abaixo. Primeiro solicite um ticket para o serviço HOST do servidor atual através da função asktgs e, em seguida, crie um serviço de sistema através do krbscm para obter o privilégio SYSTEM.

root@kitploit:~
KRBUACBypass.exe asktgs
KRBUACBypass.exe krbscm

Animation

Baixar ferramenta