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
CVE-2026-54121-CertiGhost — CVE-2026-54121 (Certighost) PoC de impersonação de DC do AD CS. Tratamento de SAN corrigido + reutilização de conta segura para MAQ. | Kitploit
Ferramentas/GitHubGitHub/marcgoam/cve-2026-54121-certighost
Autenticação e AutorizaçãoEscalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoMovimento LateralTestes de PenetraçãoAtaque Adversário
GitHubmarcgoam/cve-2026-54121-certighost

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

CVE-2026-54121-CertiGhost

CVE-2026-54121 (Certighost) PoC de impersonação de DC do AD CS. Tratamento de SAN corrigido + reutilização de conta segura para MAQ.

Ver Repositório
1025há 1 mêsAinda não revisado

CVE-2026-54121 (Certighost) - fork corrigido

Um fork funcional da ferramenta de prova de conceito para CVE-2026-54121, também conhecida como Certighost. Pesquisa original e PoC por @H0j3n e @aniqfakhrul; análise detalhada em:

  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26.

Este fork corrige o tratamento de SAN que impedia o PKINIT de obter sucesso em CAs que respeitam a SAN solicitada, torna o parsing de --target-san mais robusto e reformula o tratamento da conta de computador para que não esgote mais a cota ms-DS-MachineAccountQuota.

Uso

Execute como root porque os serviços LDAP e SMB falsos exigem as portas privilegiadas 389 e 445.

root@kitploit:~
sudo python3 certighost.py -d playground.local -u lowpriv -p 'Password1234' --dc-ip 192.168.1.10

Após a conclusão bem-sucedida, o certificado alvo (.pfx) e o cache Kerberos (.ccache) são gravados no diretório de trabalho atual.

O que este script faz

  1. Reutiliza uma única conta de computador estável (CERTIGHOST$, criada na primeira execução) ou usa uma especificada via --computer-name.
  2. Inicia dois listeners falsos: um servidor SMB/LSA na porta 445 e um servidor LDAP na porta 389.
  3. Envia uma solicitação de certificado como essa conta de computador, incorporando um atributo cdc personalizado apontando para um IP controlado (via --listener; opcional, auto-detectado se omitido) além de um atributo rmd contendo o nome DNS do DC alvo.
  4. O CA conecta de volta aos listeners falsos LSA/LDAP. Eles autenticam como a conta criada (validada através do DC real via Netlogon) e respondem às consultas do CA com a identidade do DC alvo (sAMAccountName, SID, dNSHostName).
  5. O CA emite um certificado válido pertencente ao DC.
  6. O script executa PKINIT com o pfx do DC para solicitar o .ccache e o hash NT.

Alterações neste fork

1. Correção de SAN (faz o PKINIT funcionar)

O original construía a SAN do certificado tanto a extensão subjectAltName do CSR quanto o atributo de solicitação SAN:dns= a partir do hostname do computador falso em vez do FQDN do DC alvo. Em uma CA que respeita a SAN solicitada, o certificado emitido portanto carregava o dNSHostName da conta falsa, então o PKINIT o mapeava para o principal errado e falhava com:

root@kitploit:~
KDC_ERR_CLIENT_NAME_MISMATCH(Reserved for PKINIT)

A SAN agora usa o dNSHostName do DC alvo (rmd_value / target_dns), que é o que o PKINIT mapeia para uma conta de máquina. O certificado emitido agora apresenta DNS:<dc>.<domain> e o AS-REQ é concluído como o DC.

2. --target-san robusto

--target-san agora aceita qualquer uma das formas MEEREEN, MEEREEN$ ou o FQDN meereen.essos.local (correspondido por sAMAccountName ou dNSHostName), em vez de apenas a forma curta NAME.

3. Reutilização da conta de computador (sem mais esgotamento de MAQ)

O original criava uma nova conta aleatória GHOST********$ a cada execução. Como as contas de computador criadas via ms-DS-MachineAccountQuota são de propriedade dos Administradores de Domínio (não do criador), um usuário com privilégios baixos não pode excluí-las, então execuções repetidas rapidamente esgotavam a cota (padrão 10) com contas órfãs.

Este fork reutiliza uma única conta estável (CERTIGHOST$, criada somente se ainda não existir), então a cota nunca cresce e não há nada para limpar entre execuções.

4. Aviso de conta remanescente

Quando a conta é criada pela primeira vez, o script exibe um aviso informando que ela fica no AD:

root@kitploit:~
[!] WARNING: computer account CERTIGHOST$ was created and is left in AD.

A conta permanece para reutilização em execuções futuras. Para removê-la completamente, exclua-a com um Administrador de Domínio (o proprietário do objeto):

root@kitploit:~
Get-ADComputer CERTIGHOST | Remove-ADComputer -Confirm:$false

Requisitos

  • Python 3
  • impacket
  • cryptography, pyasn1, asn1crypto, pycryptodomex

Referências

  • https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-54121
  • https://gist.github.com/H0j3n/a5ef2609b5f2944ac2390a191a534c26
  • https://github.com/aniqfakhrul/CVE-2026-54121 (PoC original)

Aviso legal

Apenas para testes de segurança autorizados e fins educacionais. Use-o somente contra sistemas em que você tenha permissão explícita para testar.

Baixar ferramenta