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
Certify — Ferramenta C# para enumeração e exploração de configurações incorretas no Active Directory Certificate Services (AD CS), permitindo abuso de modelos de certificado, escalonamento de privilégios e persistência no domínio. | Kitploit
Ferramentas/GitHubGitHub/ghostpack/certify
Autenticação e AutorizaçãoEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoRed Teaming
GitHubghostpack/certify

Certify

Ferramenta C# para enumeração e exploração de configurações incorretas no Active Directory Certificate Services (AD CS), permitindo abuso de modelos de certificado, escalonamento de privilégios e persistência no domínio.

Ver Repositório
2.0k282há 8 diasRevisado 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

Certify

O Certify é uma ferramenta em C# para enumerar e abusar de configurações incorretas no Active Directory Certificate Services (AD CS).

@harmj0y e @tifkin_ são os autores principais do Certify e da pesquisa associada sobre AD CS (blog e whitepaper).

Table of Contents

  • Certify
  • Uso
  • Considerações Defensivas
  • Instruções de Compilação
  • Nota: Executando o Certify via PowerShell
  • Nota Nota: Executando o Certify via PSRemoting
  • Reflexões
  • Agradecimentos

Usage

Uma visão geral dos comandos e detalhes abrangentes de uso podem ser encontrados na wiki.

Defensive Considerations

O Certify foi lançado na Black Hat 2021 com nossa palestra "Certified Pre-Owned: Abusing Active Directory Certificate Services".

Consulte nosso whitepaper para orientações sobre prevenção e detecção.

Compile Instructions

Não planejamos lançar binários para o Certify, então você terá que compilar você mesmo :)

Certify foi construído para .NET 4.7.2 e é compatível com Visual Studio 2022 Community Edition. Basta abrir o arquivo .sln do projeto, escolher "Release" e compilar.

Sidenote: Running Certify Through PowerShell

Se você quiser executar o Certify na memória através de um wrapper PowerShell, primeiro compile o Certify e codifique em base64 o assembly resultante:

root@kitploit:~
[Convert]::ToBase64String([IO.File]::ReadAllBytes("C:\Temp\Certify.exe")) | Out-File -Encoding ASCII C:\Temp\Certify.txt

O Certify pode então ser carregado em um script PowerShell com o seguinte (onde "aa..." é substituído pela string do assembly Certify codificada em base64):

root@kitploit:~
$CertifyAssembly = [System.Reflection.Assembly]::Load([Convert]::FromBase64String("aa..."))

O método Main() e quaisquer argumentos podem então ser invocados da seguinte forma:

root@kitploit:~
[Certify.Program]::Main("enum-templates --filter-enabled --filter-vulnerable".Split())

Sidenote Sidenote: Running Certify Over PSRemoting

Devido à forma como o PSRemoting lida com a saída, precisamos redirecionar o stdout para uma string e retorná-la. Felizmente, o Certify possui uma função para ajudar com isso.

Se você seguir as instruções em Nota: Executando o Certify via PowerShell para criar um Certify.ps1, anexe algo como o seguinte ao script:

root@kitploit:~
[Certify.Program]::MainString("enum-templates --filter-enabled --filter-vulnerable")

Você deve então conseguir executar o Certify via PSRemoting com algo como o seguinte:

root@kitploit:~
$s = New-PSSession dc.theshire.local
Invoke-Command -Session $s -FilePath C:\Temp\Certify.ps1

Alternativamente, o argumento /outfile:C:\FILE.txt do Certify redirecionará todos os fluxos de saída para o arquivo especificado.

Reflections

Sobre o tema da divulgação pública, nós auto-embargamos o lançamento de nossas ferramentas ofensivas (Certify e ForgeCert) por aproximadamente 45 dias após a publicação do nosso whitepaper, a fim de dar às organizações uma chance de lidar com as questões relacionadas ao Active Directory Certificate Services. Também lançamos preventivamente algumas regras Yara/IOCs para ambos os projetos e o projeto PowerShell PSPKIAudit focado em defesa junto com o whitepaper. No entanto, descobrimos que organizações e fornecedores historicamente não corrigem problemas ou criam detecções para ataques "teóricos" até que alguém prove que algo é possível com uma prova de conceito.

Acknowledgments

O Certify usou alguns recursos encontrados online como referência e inspiração:

  • Este post sobre solicitação de certificados a partir de C#.
  • Este gist para especificação de SAN.
  • Este post do StackOverflow sobre exportação de chaves privadas.
  • Este post do PKISolutions sobre conversão de pkiExpirationPeriod.
  • Esta seção do MS-CSRA descrevendo DACLs de segurança do agente de registro.

O trabalho sobre AD CS foi construído sobre o trabalho de várias outras pessoas. O whitepaper fornece um tratamento completo, mas para resumir:

  • Benjamin Delpy por seu trabalho extenso sobre smart cards/certificados com Mimikatz e Kekeo.
  • PKI Solutions por seus excelentes posts sobre PKI no Active Directory, bem como seu módulo PowerShell PSPKI, no qual nosso kit de auditoria é baseado.
  • O livro "Windows Server 2008 – PKI and Certificate Security" de Brian Komar.
  • As seguintes especificações técnicas abertas fornecidas pela Microsoft:
    • [MS-CERSOD]: Certificate Services Protocols Overview
    • [MS-CRTD]: Certificate Templates Structure
    • [MS-CSRA]: Certificate Services Remote Administration Protocol
    • [MS-ICPR]: ICertPassage Remote Protocol
    • [MS-WCCE]: Windows Client Certificate Enrollment Protocol
  • Repositório GitHub de Christoph Falta que aborda alguns detalhes sobre ataque a modelos de certificado, incluindo smart cards virtuais, bem como algumas ideias sobre abusos baseados em ACL.
  • Post de CQURE "The tale of Enhanced Key (mis)Usage" que aborda alguns abusos de Subject Alternative Name.
  • Post de 2016 da Keyfactor "Hidden Dangers: Certificate Subject Alternative Names (SANs)"
  • Os posts de @Elkement "Sizzle @ hackthebox – Unintended: Getting a Logon Smartcard for the Domain Admin!" e "Impersonating a Windows Enterprise Admin with a Certificate: Kerberos PKINIT from Linux" detalham configurações incorretas de modelos de certificado.
  • Carl Sörqvist escreveu um cenário detalhado e plausível de como algumas dessas configurações incorretas acontecem, intitulado "Supply in the Request Shenanigans".
Baixar ferramenta
  • Ceri Coburn publicou um excelente post em 2020 intitulado "Attacking Smart Card Based Active Directory Networks" detalhando alguns abusos de smart card e adições ao Certify.
  • Brad Hill publicou um whitepaper intitulado "Weaknesses and Best Practices of Public Key Kerberos with Smart Cards" que forneceu um bom contexto sobre Kerberos/PKINIT sob uma perspectiva de segurança.