RelayKing v1.10
Beherrsche die Domäne. Relay zur Königswürde.

RelayKing ist ein umfassendes Tool zur Relay-Erkennung und -Enumeration, das entwickelt wurde, um Relay-Angriffsmöglichkeiten in Active-Directory-Umgebungen zu identifizieren. Echte Berichtsoptionen. Umfassende Angriffsabdeckung. Finde die versteckten Relay-Vektoren und berichte in deinem bevorzugten Ausgabeformat. Gib Impackets ntlmrelayx.py eine kuratierte Zielliste erkannter, relay-fähiger Hosts. Verpasse nie wieder einen kritischen, ausnutzbaren NTLM-Relay-Pfad in der Domäne.
Blog/Empfohlene Lektüre:
Weitere Details findest du im zugehörigen Blogbeitrag auf der Depth-Security-Website: https://www.depthsecurity.com/blog/introducing-relayking-relay-to-royalty/
Inhaltsverzeichnis
VOR DER VERWENDUNG LESEN:
OPSEC-HINWEISE:
**RelayKing ist in bestimmten Modi KEIN OPSEC-FREUNDLICHES TOOL, INSBESONDERE IM --audit-MODUS.
RelayKing wird WIE BESEHEN OHNE JEGLICHE GARANTIEN bereitgestellt. Siehe Ende der README.
Installation
# Use a venv. Save yourself the hassle.
# Clone repo:
git clone https://github.com/depthsecurity/RelayKing-Depth.git
#Navigate to cloned dir:
cd RelayKing-Depth/
# Configure Python venv:
virtualenv --python=python3 .
source bin/activate
# Install deps:
pip3 install -r requirements.txt
# Validate RelayKing installation was successful:
python3 relayking.py -h
Protokoll-Erkennung
- SMB/SMB2/SMB3: Signaturanforderungen, Channel Binding, Versionserkennung (keine Authentifizierung erforderlich)
- HTTP/HTTPS: Erzwingung von EPA/CBT (Authentifizierung für zuverlässige HTTPS-Prüfungen erforderlich)
- LDAP/LDAPS: Signaturanforderungen, Channel Binding (Authentifizierung für zuverlässige CBT-Prüfung bei LDAPS erforderlich)
- MSSQL: EPA-Erzwingung (Authentifizierung für zuverlässige Prüfung erforderlich)
- RPC: MS-RPC-Endpunkt-Enumeration, Authentifizierungsanforderungen (Authentifizierung für zuverlässige Prüfung erforderlich)
- WINRM/WINRMS: WS-Management, EPA-Erzwingung, Channel Binding (authentifizierte Prüfung) (WIP)
- SMTP: Erkennung der NTLM-Authentifizierung, STARTTLS-Unterstützung (WIP)
- IMAP/IMAPS: NTLM-Authentifizierung, verschlüsselter Mail-Zugriff (WIP)
Erweiterte Erkennung
- NTLM-Reflection: Identifiziert Hosts, die anfällig für NTLM-Reflection-Angriffe sind (CVE-2025-33073)
- CVE-2025-54918: Erkennt nicht gepatchte Windows-Server-2025-Hosts, die über PrintSpooler-RPC-Coercion zu LDAPS anfällig für NTLM-Reflection sind. Wird bei jedem nicht gepatchten Server-2025-Host als MEDIUM gemeldet; eskaliert auf CRITICAL, wenn der Host ein DC mit aktiviertem PrintSpooler ist. Geprüft über die UBR (Update Build Revision), die aus der Registry abgefragt wird.
- CVE-2019-1040 (Drop the MIC): Erkennt Hosts mit UBRs unterhalb des Patch-Stands von Juni 2019, wodurch das Entfernen des MIC-Felds für protokollübergreifendes Relay (SMB zu LDAP/LDAPS) mit dem
--remove-mic-Schalter von ntlmrelayx ermöglicht wird. Wird als HIGH gemeldet. Verwendet die bereits pro Host abgefragte UBR, keine zusätzlichen Netzwerkanfragen.
- Ghost-SPN-Erkennung: Fragt im
--audit-Modus Active Directory nach Service Principal Names ab, deren Hostnamen keinen DNS-Eintrag haben. Ein Angreifer kann den fehlenden DNS-Namen registrieren, um die für diesen Service Principal bestimmte NTLM-Authentifizierung abzufangen. Die Ergebnisse werden in verwundbar (überhaupt kein DNS-Eintrag) und wahrscheinlich verwundbar (löst nur über Wildcard-DNS auf) unterteilt. Wird als MEDIUM gemeldet. Die vollständigen Ergebnisse werden in possible-ghost-spns.txt geschrieben. Mit --no-ghosts unterdrückbar.
- WebDAV/WebClient: Erkennt Hosts, auf denen der WebDAV-WebClient-Dienst ausgeführt wird
- NTLMv1-Unterstützung: Prüft auf Unterstützung der NTLMv1-Authentifizierung (einzeln oder auf GPO-Ebene)
- Coercion-Schwachstellen: Erkennt (falls angegeben) nicht authentifizierte PetitPotam-, PrinterBug- und DFSCoerce-Coercions
Relay-Pfad-Analyse
- Identifiziert automatisch machbare Relay-Angriffspfade (funktionsfähig, benötigt noch Arbeit)
- Priorisiert Pfade nach Auswirkung (kritisch, hoch, mittel, niedrig)
- Erkennung protokollübergreifender Relays (erfordert
--ntlmv1 oder --ntlmv1-all; protokollübergreifende Erkennung nur, wenn eine bestätigte Net-NTLMv1-Nutzung entdeckt wurde)
- NTLM-Reflection-Pfade (einschließlich Pfaden mit teilweiser MIC-Entfernung/protokollübergreifendem Relay)
- CVE-2025-54918-Pfade: MEDIUM bei jedem nicht gepatchten Server-2025-Host, CRITICAL bei nicht gepatchtem DC mit aktiviertem PrintSpooler
- CVE-2019-1040-Pfade: HIGH, SMB-zu-LDAP-protokollübergreifendes Relay durch MIC-Stripping (
--remove-mic)
- Ghost-SPN-Pfade: MEDIUM, bis zu 5 werden im Bericht angezeigt, vollständige Ausgabe in
possible-ghost-spns.txt
- Die Schweregrad-Einstufungslogik ist WIP – reiche PRs für Upgrades/Verbesserungen ein! Derzeit sind nicht 100 % der Situationen/Szenarien abgedeckt – das Ziel ist es, alle möglichen Primitiven abzudecken.
Zieloptionen
- Active-Directory-Audit
(--audit): Ermittelt alle Computer aus AD über LDAP. Erfordert AD-Anmeldedaten mit geringen Rechten und funktionierendes DNS in der Umgebung. Erzwingbar mit --dc-ip oder durch Bearbeiten von /etc/resolv.conf.
- Dateieingabe: Ziele aus einer Textdatei laden
- CIDR-Notation: Ganze Subnetze scannen (z. B.
10.0.0.0/24)
- IP-Bereiche: IP-Bereiche scannen (z. B.
10.0.0.1-254)
- Einzelne Hosts: Bestimmte Hosts oder FQDNs anvisieren (
python3 relayking.py -u blah -p pass -d domain.local <your_target_ip_or_hostname>)
- Klartext: Für Menschen lesbare Ausgabe mit detaillierten Ergebnissen
- JSON: Strukturierte Daten für die programmatische Analyse
- XML: Hierarchisches Datenformat
- CSV: Tabellenkalkulationskompatibles Format
- Grep-fähig: Eine Zeile pro Ergebnis für einfaches Parsen
- Markdown: Dokumentationsbereites Format