Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Certify — Outil C# pour énumérer et exploiter les mauvaises configurations dans les services de certificats Active Directory (AD CS), permettant l'abus de modèles de certificats, l'escalade de privilèges et la persistance dans le domaine. | Kitploit
Outils/GitHubGitHub/ghostpack/certify
Authentification et AutorisationEscalade de PrivilègesAnalyse des VulnérabilitésExploitationTests d'IntrusionRed Teaming
GitHubghostpack/certify

Certify

Outil C# pour énumérer et exploiter les mauvaises configurations dans les services de certificats Active Directory (AD CS), permettant l'abus de modèles de certificats, l'escalade de privilèges et la persistance dans le domaine.

Voir le dépôt
2.0k28223il y a 9h 36mVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Certify

Certify est un outil C# permettant d'énumérer et d'exploiter des mauvaises configurations dans les services de certificats Active Directory (AD CS).

@harmj0y et @tifkin_ sont les auteurs principaux de Certify et de la recherche associée sur AD CS (blog et livre blanc).

Table des matières

  • Certify
    • Utilisation
    • Considérations défensives
    • Instructions de compilation
      • Note : Exécution de Certify via PowerShell
        • Note supplémentaire : Exécution de Certify via PSRemoting
    • Réflexions
    • Remerciements

Utilisation

Un aperçu des commandes et des détails d'utilisation complets se trouvent sur le wiki.

Considérations défensives

Certify a été présenté à Black Hat 2021 avec notre exposé intitulé "Certified Pre-Owned: Abusing Active Directory Certificate Services".

Consultez notre livre blanc pour des recommandations en matière de prévention et de détection.

Instructions de compilation

Nous n'avons pas l'intention de publier de binaires pour Certify, vous devrez donc le compiler vous-même :)

Certify a été compilé pour .NET 4.7.2 et est compatible avec Visual Studio 2022 Community Edition. Ouvrez simplement le fichier .sln du projet, choisissez "Release" et compilez.

Note : Exécution de Certify via PowerShell

Si vous souhaitez exécuter Certify en mémoire via un wrapper PowerShell, compilez d'abord Certify et encodez l'assembly résultant en base64 :

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

Certify peut ensuite être chargé dans un script PowerShell avec le code suivant (où "aa..." est remplacé par la chaîne de l'assembly Certify encodée en base64) :

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

La méthode Main() et les arguments peuvent ensuite être invoqués comme suit :

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

Note supplémentaire : Exécution de Certify via PSRemoting

En raison de la manière dont PSRemoting gère la sortie, nous devons rediriger stdout vers une chaîne et la renvoyer à la place. Heureusement, Certify dispose d'une fonction pour cela.

Si vous suivez les instructions de la section Note : Exécution de Certify via PowerShell pour créer un Certify.ps1, ajoutez quelque chose comme ce qui suit au script :

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

Vous devriez alors pouvoir exécuter Certify via PSRemoting avec quelque chose comme :

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

Alternativement, l'argument /outfile:C:\FILE.txt de Certify redirigera tous les flux de sortie vers le fichier spécifié.

Réflexions

Sur le sujet de la divulgation publique, nous avons imposé un auto-embargo sur la publication de nos outils offensifs (Certify ainsi que ForgeCert) pendant environ 45 jours après la publication de notre livre blanc, afin de donner aux organisations une chance de maîtriser les problèmes liés aux services de certificats Active Directory. Nous avons également publié à l'avance quelques règles Yara / IOCs pour les deux projets, ainsi que le projet PowerShell défensif PSPKIAudit avec le livre blanc. Cependant, nous avons constaté que les organisations et les fournisseurs n'ont historiquement souvent pas corrigé les problèmes ou mis en place des détections pour les attaques "théoriques" tant que quelqu'un n'a pas prouvé qu'une attaque était possible avec une preuve de concept.

Remerciements

Certify a utilisé quelques ressources trouvées en ligne comme référence et inspiration :

  • Cet article sur la demande de certificats en C#.
  • Ce gist pour la spécification du SAN.
  • Cette réponse StackOverflow sur l'exportation de clés privées.
  • Cet article PKISolutions sur la conversion de pkiExpirationPeriod.
  • Cette section de MS-CSRA décrivant les DACLs de sécurité des agents d'inscription.

Le travail sur AD CS a été construit sur les travaux de nombreuses autres personnes. Le livre blanc contient un traitement complet, mais pour résumer :

Télécharger l’outil