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
NativeBypassCredGuard — Contornar o Credential Guard aplicando patch no WDigest.dll usando apenas funções NTAPI. | Kitploit
Ferramentas/GitHubGitHub/ricardojoserf/nativebypasscredguard
Ataques de SenhaEvasão de IDS/IPSPós-ExploraçãoRed Teaming
GitHubricardojoserf/nativebypasscredguard

NativeBypassCredGuard

Contornar o Credential Guard aplicando patch no WDigest.dll usando apenas funções NTAPI.

Ver Repositório

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
Site
270341há 1 anoRevisado pelo Kitploit

NativeBypassCredGuard

NativeBypassCredGuard é uma ferramenta projetada para contornar o Credential Guard aplicando patch no WDigest.dll usando apenas funções NTAPI (exportadas por ntdll.dll). Está disponível em duas versões: C# e C++.

A ferramenta localiza o padrão "39 ?? ?? ?? ?? 00 8b ?? ?? ?? ?? 00" no arquivo WDigest.dll em disco (como explicado no primeiro post da seção Referências, o padrão está presente neste arquivo em todas as versões do Windows), então calcula os endereços de memória necessários e, finalmente, aplica patch no valor de duas variáveis dentro do WDigest.dll: g_fParameter_UseLogonCredential (para 1) e g_IsCredGuardEnabled (para 0).

Isso força o armazenamento de credenciais em texto puro na memória, garantindo que, a partir desse ponto, as credenciais sejam armazenadas em texto claro sempre que os usuários fizerem login. Como resultado, na próxima vez que o processo LSASS for despejado, ele poderá conter senhas em texto puro.

As funções NTAPI usadas são:

poc

  • NtOpenProcessToken e NtAdjustPrivilegesToken para habilitar o privilégio SeDebugPrivilege
  • NtCreateFile e NtReadFile para abrir um handle para o arquivo DLL em disco e ler seus bytes
  • NtGetNextProcess e NtQueryInformationProcess para obter um handle para o processo lsass
  • NtReadVirtualMemory e NtQueryInformationProcess para obter o endereço base do WDigest.dll
  • NtReadVirtualMemory para ler os valores das variáveis
  • NtWriteProcessMemory para gravar novos valores nas variáveis

Usando apenas funções NTAPI, é possível remapear a biblioteca ntdll.dll para contornar hooks em modo de usuário e mecanismos de segurança, o que é um recurso opcional da ferramenta. Se usado, uma versão limpa do ntdll.dll é obtida de um processo criado em modo suspenso.


Uso

root@kitploit:~
NativeBypassCredGuard.exe <OPTION> <REMAP-NTDLL>

Opção (obrigatória):

  • check: Ler valores atuais
  • patch: Gravar novos valores

Remapear ntdll (opcional):

  • true: Remapear a biblioteca ntdll
  • false (ou omitido): Não remapear a biblioteca ntdll

Exemplos

Ler valores (sem remapeamento do ntdll):

root@kitploit:~
NativeBypassCredGuard.exe check

img1

Aplicar patch nos valores (com remapeamento do ntdll):

root@kitploit:~
NativeBypassCredGuard.exe patch true

img2


Notas

  • A ferramenta foi projetada para sistemas de 64 bits, portanto deve ser compilada como um binário de 64 bits

  • Não funcionará se não for possível abrir um handle para o lsass ou se a estrutura PEB não for legível. Em relação a esta última, você pode optar por usar kernel32!LoadLibrary para carregar o WDigest.dll no seu processo e obter seu endereço base, em vez de usar ntdll!NtReadVirtualMemory e ntdll!NtQueryInformationProcess para obtê-lo do processo lsass (você tem o código para isso comentado na versão C). Mas você estaria usando uma função não exportada por ntdll.dll, mas sim por kernel32.dll, e provavelmente seria estranho um processo carregar essa DLL :)

  • 0x3rhy criou um arquivo BOF baseado neste projeto: BypassCredGuard-BOF


Referências

  • Revisiting a Credential Guard Bypass por itm4n - Uma ótima análise da qual tirei o padrão para pesquisar a seção .text da DLL

  • WDigest: Digging the dead from the grave por neuralhax - Um blog incrível que prova que é possível usar outros valores para g_fParameter_UseLogonCredential, ainda não testei, mas você pode brincar com a variável useLogonCredential_Value

  • Exploring Mimikatz - Part 1 - WDigest por xpn - Post fantástico no blog sobre engenharia reversa e explicação do cache de credenciais do WDigest

Baixar ferramenta