
Dominiere die Domäne. Leite an die Königsklasse weiter.

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.
Weitere Details findest du im zugehörigen Blogbeitrag auf der Depth-Security-Website: https://www.depthsecurity.com/blog/introducing-relayking-relay-to-royalty/
**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.
# 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
--remove-mic-Schalter von ntlmrelayx ermöglicht wird. Wird als HIGH gemeldet. Verwendet die bereits pro Host abgefragte UBR, keine zusätzlichen Netzwerkanfragen.--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.--ntlmv1 oder --ntlmv1-all; protokollübergreifende Erkennung nur, wenn eine bestätigte Net-NTLMv1-Nutzung entdeckt wurde)--remove-mic)possible-ghost-spns.txt(--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.10.0.0.0/24)10.0.0.1-254)python3 relayking.py -u blah -p pass -d domain.local <your_target_ip_or_hostname>)--coerce-all kombiniert mit --audit und Anmeldedaten mit geringen Rechten, um JEDE Domänenmaschine für das Massen-Relaying von Computerkonten zu coercen. Äußerst nützlich in Umgebungen mit aktiviertem Net-NTLMv1.--ntlmv1 oder --ntlmv1-all zur Erkennung von LanMan-GPOs auf Domänenebene. --ntlmv1-all prüft ALLE Hosts aus AD und deren Registrierungswerte mithilfe von RemoteRegistry. (erfordert lokale Administratorrechte).--gen-relay-list <file> erzeugt eine direkt importierbare Zieldatei für den -tf-Schalter von ntlmrelayx.py.--audit-Modus automatisch, wenn Anmeldedaten vorhanden sind. Mit --no-ghosts unterdrückbar. Die vollständigen Ergebnisse werden zusammen mit dem Hauptbericht in possible-ghost-spns.txt geschrieben; der Bericht selbst zeigt die ersten 5, um Unübersichtlichkeit zu vermeiden.-h ausgeben, wie erwartet:python3 relayking.py -h
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1 --gen-relay-list relaytargets.txt
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql -o plaintext,json --output-file relayking-scan --proto-portscan --gen-relay-list relaytargets.txt
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local -vv --protocols smb,ldap,ldaps,mssql,http,https -o plaintext SERVER1-EXAMPLE.LAB.LOCAL
python3 relayking.py --null-auth -vv --protocols smb,ldap,http -o plaintext 10.0.0.0/24
python3 relayking.py -u ‘lowpriv’ -p ‘lowpriv-password’ -d client.domain.local --dc-ip 10.0.0.1 -vv --audit --protocols smb,ldap,ldaps,mssql,http,https --threads 10 -o plaintext,json --output-file relayking-scan --proto-portscan --ntlmv1-all --gen-relay-list relaytargets.txt
--threads. Jeder Haupt-Thread erhält für bestimmte Aufgaben darunter Worker-Threads. HTTP verwendet beispielsweise 20 Threads pro Haupt-Thread. Das führt zu etwa 200 offenen HTTP-Threads zum Scannen auf HTTP-NTLM-Auth. Meistens wird das recht gut toleriert, aber wenn es Verzögerungen/Netzwerkprobleme verursacht, reduziere die Threads. Die Standardeinstellung von 10 Threads ist ohnehin außergewöhnlich schnell.--proto-portscan bei praktisch allen deiner Scans verwenden. Es verbessert die Leistung erheblich und verhindert, dass der Scanner auf Timeouts bei Ports wartet, die gar nicht existieren. Falls es Probleme verursacht, kannst du es auf Kosten der Scan-Leistung entfernen (sollte es aber nicht!)--max-scangroup, --split-into und --skip können zur Steuerung der Gruppierung verwendet werden.--max-scangroup angeben, um die Anzahl der Ziele pro Gruppe festzulegen. Beispielsweise teilt --max-scangroup 100 299 Ziele in 3 Gruppen auf. Die Gruppen haben dann 100, 100 bzw. 99 Ziele.--split-into angeben, um die Anzahl der Gruppen festzulegen. Beispielsweise teilt --split-into 3 299 Ziele in 3 Gruppen auf. Die Gruppen haben dann 100, 100 bzw. 99 Ziele. Du kannst --max-scangroup und --split-into nicht gleichzeitig angeben.--skip angeben, um Gruppen zu überspringen. Beispielsweise teilt --max-scangroup 3 --skip 1 299 Ziele in 3 Gruppen mit 100, 100 und 99 Zielen auf, überspringt die erste Gruppe und startet den Scan ab der zweiten Gruppe. Das hilft, wenn du das Tool neu starten möchtest.--ntlmv1 oder -ntlmv1-all: Das Hinzufügen von --ntlmv1 ruft alle LanMan-GPOs der Domäne ab und sonst nichts. Erfordert AD-Anmeldedaten mit geringen Rechten. --ntlmv1-all erfordert Administrator-Anmeldedaten und prüft jeden einzelnen Host in der Domäne mit offenem SMB auf den Registrierungsschlüssel LMCompatibilityLevel. Die Ausführung von mindestens --ntlmv1 ist erforderlich, um protokollübergreifende SMB-Relay-Pfade anzuzeigen/zu erkennen.
--ntlmv1-all zu Aussetzern führen. Außerdem sehr aufwendig und nicht OPSEC-sicher, aber gründlich. Vermutlich nicht empfehlenswert, außer du bist im YOLO-Modus oder verzweifelt.-o json,plaintext) und --output-file relayking-scan erzeugt relayking-scan.json + relayking-scan.txt, sodass es nicht nötig ist, das Tool für mehrere Formate zweimal auszuführen. Verfügbar: plaintext, json, xml, csv, grep, markdown (Standard: plaintext)--coerce-all-Funktion verwendet PetitPotam, DFSCoerce und PrinterBug auf ALLEN ANGEZIELTEN HOSTS. Sie coercet außerdem massenhaft jede Maschine in der Domäne, ohne den vollständigen Protokoll-Audit auszuführen. Die gleichzeitige Angabe von + führt einen Domänen-Audit eine Massen-Coercion durch. ()--opsec-safe-Modus, der die Nutzung von Impacket/anderen fingerprintbaren Python-Bibliotheken vermeidet. Nicht trivial zu implementieren.-vv oder -vvv aus, wenn du Fehler erlebst. Die Protokollierung wird mit jeder Version weiter verbessert.--audit aus und RelayKing kann keine Hosts in DNS auflösen, weil deren DNS-Server sich schlicht weigern, die Computer-FQDNs in der Ziel-DNS-Zone aufzulösen. Kein RelayKing-Problem.Wie besehen. Es existieren sicherlich viele Fehler. Siehe oben. Offensichtlich nicht für illegale/unautorisierte Aktivitäten entwickelt oder gedacht.
Berücksichtige das Verhalten und die Natur ALLER Tools, die du für einen Kundeneinsatz und in deren Netzwerk(en) ausführst. Dies erreicht man, indem man den Quellcode des Tools liest und die internen Abläufe vor der Ausführung versteht – nicht, indem man blind Code ausführt, den man auf GitHub gefunden hat. Auch wenn ich dir versichern kann, dass sich in RelayKing kein absichtlich bösartiger/zerstörerischer Code befindet, ist es im Allgemeinen gute Praxis, alle neuartigen/unbenutzten Tools vor der Ausführung zu validieren. Vertrauen, aber immer verifizieren.
Sei vorsichtig bei der Verwendung in Red-Team-Übungen, insbesondere mit authentifizierten Prüfungen und --audit. Du WIRST erkannt werden, und es wird deine Schuld sein! Du hättest die Warnung am Anfang der README lesen sollen, falls du diesen Satz irgendwie liest und das nicht bereits wusstest.
Auch wenn es äußerst unwahrscheinlich/kaum vorstellbar ist: Falls RelayKing irgendetwas kaputt macht, bist du auf dich allein gestellt, und weder der Autor noch Depth Security haften für irgendwelche Ergebnisse/Probleme/Schwierigkeiten/auf-den-Kopf-gestellten-geospatialen-Bit-Flipping-Nuklearexplosionen, die durch die Ausführung von RelayKing entstehen könnten (wie unwahrscheinlich auch immer). Deine Ergebnisse können abweichen. RelayKing wird, noch einmal, OHNE GARANTIEN ODER ZUSICHERUNG IRGENDWELCHER SPEZIFISCHER ERGEBNISSE, FUNKTIONEN, NÜTZLICHKEIT ODER VERHALTENSWEISEN BEREITGESTELLT – WEDER HIER AUSDRÜCKLICH ERWÄHNT (UND/ODER NICHT ERWÄHNT) NOCH ANDERWEITIG STILLSCHWEIGEND.
Das einzige legitime GitHub-Repository des Autors (logansdiomedi) befindet sich unter https://github.com/depthsecurity/RelayKing-Depth – alle anderen sind Forks/Kopien/oder was auch immer, die der Autor wahrscheinlich weder gelesen, validiert, getestet, analysiert noch auf Funktionalität/Verhalten/Legitimität geprüft hat. Benutze deinen Verstand.
MIT-Lizenz – Details siehe LICENSE-Datei.
--dc-ip--krb-dc-only--audit--coerce--audit-Modus): Nach Abschluss des Host-Scans fragt RelayKing AD nach SPNs ab, deren Hostnamen keinen DNS-Eintrag haben. Diese sind Kandidaten für DNS-Registrierungsangriffe, die NTLM-Authentifizierung abfangen. Der Bericht enthält bis zu 5 Ergebnisse, um die Ausgabe überschaubar zu halten; die vollständige Liste wird immer in possible-ghost-spns.txt im Arbeitsverzeichnis geschrieben. Übergib --no-ghosts, um diese Prüfung vollständig zu überspringen.--remove-mic-Flag von ntlmrelayx identifiziert.