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/depthsecurity/relayking-depth
Escalade de PrivilègesReconnaissanceScanners de VulnérabilitésAnalyse des VulnérabilitésExploitationÉvasion IDS/IPSMouvement LatéralCollecte d'InformationsSécurité RéseauTests d'Intrusion
GitHubdepthsecurity/relayking-depth
3423048il y a 5 moisVérifié par Kitploit

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

RelayKing-Depth

Dominez le domaine. Relaie vers la royauté.

Voir le dépôt

RelayKing v1.10

Dominez le domaine. Relayer vers la royauté.

RelayKing est un outil complet de détection et d'énumération de relais conçu pour identifier les opportunités d'attaques par relais dans les environnements Active Directory. Véritables options de rapport. Couverture complète des attaques. Trouvez les vecteurs de relais cachés et rapportez-les dans le format de sortie de votre choix. Alimentez ntlmrelayx.py d'Impacket avec une liste cible organisée d'hôtes détectés et relayables. Ne manquez plus jamais un chemin de relais NTLM critique et exploitable dans le domaine.

Blog/Recommended Reading:

Voir le blog associé publié sur le site de Depth Security pour plus de détails : https://www.depthsecurity.com/blog/introducing-relayking-relay-to-royalty/

Table of Contents

  • Blog/Recommended Reading
  • Read Before Using
    • OPSEC Considerations
  • Features
    • Protocol Detection
    • Advanced Detection
    • Relay Path Analysis
    • Targeting Options
    • Output Formats
    • Misc Features
  • Installation
  • Usage
    • Command-Line Options
    • Examples
  • Functionality Notes
    • Performance
    • Grouping
    • Feature Behavior Notes
  • To-Do
  • Current Known Bugs/Limitations
  • Submitting Issues/Pull Requests
    • Issues
    • Pull Requests
  • Credits
  • Disclaimer
  • License

READ BEFORE USING:

OPSEC CONSIDERATIONS:

**RelayKing N'EST PAS UN OUTIL OPSEC-FRIENDLY DANS CERTAINS MODES, PARTICULIÈREMENT EN MODE --audit. RelayKing est fourni EN L'ÉTAT SANS AUCUNE GARANTIE. Voir le bas du readme.

Installation

root@kitploit:~
# 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

Protocol Detection

  • SMB/SMB2/SMB3 : Exigences de signature, liaison de canal, détection de version (aucune authentification requise)
  • HTTP/HTTPS : Application EPA/CBT (Authentification requise pour des vérifications HTTPS fiables)
  • LDAP/LDAPS : Exigences de signature, liaison de canal (Authentification requise pour une vérification CBT fiable sur LDAPS)
  • MSSQL : Application EPA (Authentification requise pour une vérification fiable)
  • RPC : Énumération des points de terminaison MS-RPC, exigences d'authentification (Authentification requise pour une vérification fiable)
  • WINRM/WINRMS : WS-Management, application EPA, liaison de canal (Vérification authentifiée) (WIP)
  • SMTP : Détection d'authentification NTLM, support STARTTLS (WIP)
  • IMAP/IMAPS : Authentification NTLM, accès au courrier chiffré (WIP)

Advanced Detection

  • NTLM Reflection : Identifie les hôtes vulnérables aux attaques par réflexion NTLM (CVE-2025-33073)
  • CVE-2025-54918 : Détecte les hôtes Windows Server 2025 non patchés vulnérables à la réflexion NTLM via la coercition RPC PrintSpooler vers LDAPS. Signalé comme MOYEN sur tout hôte Server 2025 non patché ; passe à CRITIQUE lorsque l'hôte est un contrôleur de domaine avec PrintSpooler activé. Vérifié via UBR (Update Build Revision) interrogé depuis le registre.
  • CVE-2019-1040 (Drop the MIC) : Détecte les hôtes avec des UBR inférieurs au seuil du patch de juin 2019, permettant le stripping du champ MIC pour un relais inter-protocole (SMB vers LDAP/LDAPS) avec --remove-mic de ntlmrelayx. Signalé comme ÉLEVÉ. Utilise l'UBR déjà interrogé par hôte, sans requêtes réseau supplémentaires.
  • Ghost SPN Detection : En mode --audit, interroge Active Directory pour les noms de principaux de service dont les noms d'hôte n'ont pas d'enregistrement DNS. Un attaquant peut enregistrer le nom DNS manquant pour intercepter l'authentification NTLM destinée à ce principal de service. Les résultats sont divisés en vulnérables (aucun enregistrement DNS du tout) et probablement vulnérables (résolu uniquement via DNS générique). Signalé comme MOYEN. Les résultats complets sont écrits dans possible-ghost-spns.txt. Supprimez avec --no-ghosts.
  • WebDAV/WebClient : Détecte les hôtes avec le service WebDAV WebClient en cours d'exécution
  • NTLMv1 Support : Vérifie le support de l'authentification NTLMv1 (individuellement ou au niveau GPO)
  • Coercion Vulnerabilities : Détecte PetitPotam, PrinterBug, DFSCoerce non authentifiés (si spécifié)

Relay Path Analysis

  • Identifie automatiquement les chemins d'attaque par relais viables (Fonctionnel, nécessite plus de travail)
  • Priorise les chemins par impact (critique, élevé, moyen, faible)
  • Détection de relais inter-protocole (nécessite --ntlmv1 ou --ntlmv1-all - détection inter-protocole uniquement lorsque l'utilisation confirmée de Net-NTLMv1 est découverte)
  • Chemins de réflexion NTLM (y compris les chemins de suppression partielle de MIC/relais inter-protocole)
  • Chemins CVE-2025-54918 : MOYEN sur tout hôte Server 2025 non patché, CRITIQUE sur un contrôleur de domaine non patché avec PrintSpooler activé
  • Chemins CVE-2019-1040 : ÉLEVÉ, relais inter-protocole SMB vers LDAP via stripping MIC (--remove-mic)
  • Chemins Ghost SPN : MOYEN, jusqu'à 5 affichés dans le rapport avec la sortie complète dans possible-ghost-spns.txt
  • La logique de notation de sévérité est en cours de développement, soumettez des PR pour des améliorations/perfectionnements ! Toutes les situations/scénarios ne sont pas encore pris en compte - l'objectif est de couvrir toutes les primitives possibles.

Targeting Options

  • Active Directory Audit (--audit) : Énumère tous les ordinateurs depuis AD via LDAP. Nécessite des identifiants AD à faibles privilèges et un DNS fonctionnel dans l'environnement. Forcer avec --dc-ip ou modifier /etc/resolv.conf.
  • File Input : Charger des cibles depuis un fichier texte
  • CIDR Notation : Scanner des sous-réseaux entiers (ex. 10.0.0.0/24)
  • IP Ranges : Scanner des plages IP (ex. 10.0.0.1-254)
  • Individual Hosts : Cibler des hôtes spécifiques ou des FQDN (python3 relayking.py -u user -p pass -d domain.local <votre_ip_ou_nom_hote_cible>)

Output Formats

  • Plaintext : Sortie lisible par l'homme avec des résultats détaillés
  • JSON : Données structurées pour analyse programmatique
  • XML : Format de données hiérarchique
  • CSV : Format compatible tableur
  • Grep-able : Format une ligne par résultat pour une analyse facile
  • Markdown : Format prêt pour la documentation

Misc Features

  • Mass Coercion : --coerce-all combiné avec --audit et des identifiants à faibles privilèges pour forcer CHAQUE machine du domaine en vue d'un relais de comptes machines de masse. Très utile dans les environnements avec Net-NTLMv1 activé.
  • Net-NTLMv1 Discovery : --ntlmv1 ou --ntlmv1-all pour détecter les GPO LanMan au niveau du domaine. --ntlmv1-all vérifie TOUS les hôtes depuis AD et leurs valeurs de registre via RemoteRegistry. (nécessite un administrateur local).
  • Relay List Generation : --gen-relay-list <fichier> pour produire un fichier cible prêt à être importé pour le commutateur -tf de ntlmrelayx.py.
  • Ghost SPN Check : S'exécute automatiquement en mode --audit lorsque des identifiants sont présents. Supprimez avec --no-ghosts. Les résultats complets sont écrits dans possible-ghost-spns.txt en parallèle du rapport principal ; le rapport lui-même affiche les 5 premiers pour éviter l'encombrement.
  • Flexible Kerberos Auth Features : L'authentification Kerberos via -k (et un FQDN pour ) devrait fonctionner plutôt bien. Si l'environnement a des contrôleurs de domaine qui ont NTLM complètement désactivé mais le tolèrent partout ailleurs, vous pouvez utiliser pour ne pas interférer avec les vérifications. De plus, et sont disponibles pour les travaux effectués via SOCKS/autres pivots proxy. Même Kerberos fonctionne assez facilement dans ce scénario.

Usage

Affiche les arguments/utilisation en ligne de commande avec -h, comme prévu :

root@kitploit:~
python3 relayking.py -h

Examples

Indicateurs d'utilisation recommandés pour une couverture réseau complète + rapport de sortie en texte brut et JSON :

root@kitploit:~
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

Scan authentifié plus léger sans vérifications HTTP(S) + rapport de sortie en texte brut et JSON :

root@kitploit:~
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

Scan authentifié d'une seule cible (cible unique = argument positionnel, dernier argument) + rapport UNIQUEMENT sur stdout en texte brut :

root@kitploit:~
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

Balayage non authentifié avec plage CIDR comme cible + aucun fichier de rapport / stdout seulement en texte brut :

root@kitploit:~
python3 relayking.py --null-auth -vv --protocols smb,ldap,http -o plaintext 10.0.0.0/24

Audit complet, vérification de TOUS les hôtes pour Net-NTLMv1 via RemoteRegistry (LOURD) :

root@kitploit:~
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

Functionality notes:

Performance

  • Il y a 10 threads/emplois de scanneurs principaux par défaut, spécifiés avec --threads. Chaque thread principal obtient des threads de travail pour certaines tâches en dessous. HTTP, par exemple, utilise 20 threads par thread principal. Cela donne environ 200 threads HTTP ouverts pour scanner l'authentification NTLM HTTP. La plupart du temps, cela est bien toléré, mais si cela provoque des ralentissements/problèmes réseau, réduisez le nombre de threads. La valeur par défaut de 10 threads est de toute façon exceptionnellement rapide.
  • Vous voudrez probablement presque toujours utiliser --proto-portscan avec tous vos scans. Cela améliore considérablement les performances et empêche le scanneur d'attendre des timeouts sur des ports qui n'existent pas. Si cela pose problème, vous pouvez le retirer au détriment des performances de scan (mais cela ne devrait pas !)

Grouping

  • Le scan peut être effectué avec un regroupement en divisant les hôtes en groupes. Les options --max-scangroup, --split-into et --skip peuvent être utilisées pour contrôler le regroupement.
  • Vous pouvez spécifier --max-scangroup pour indiquer le nombre de cibles pour chaque groupe. Par exemple, --max-scangroup 100 divisera 299 cibles en 3 groupes. Les groupes auront des cibles de 100, 100 et 99.
  • Vous pouvez spécifier --split-into pour indiquer le nombre de groupes. Par exemple, --split-into 3 divisera 299 cibles en 3 groupes. Les groupes auront des cibles de 100, 100 et 99. Vous ne pouvez pas spécifier à la fois --max-scangroup et --split-into.
  • Vous pouvez spécifier --skip pour sauter des groupes. Par exemple, --max-scangroup 3 --skip 1 divisera 299 cibles en 3 groupes de 100, 100 et 99 cibles, et sautera le premier groupe puis commencera le scan à partir du deuxième groupe. Cela aide lorsque vous souhaitez redémarrer cet outil.

Feature Behavior Notes:

  • --ntlmv1 ou -ntlmv1-all : Ajouter --ntlmv1 récupérera chaque GPO LanMan pour le domaine et rien d'autre. Nécessite des identifiants AD à faibles privilèges. --ntlmv1-all nécessite des identifiants administrateur et vérifiera chaque hôte individuel dans le domaine avec SMB ouvert pour la clé de registre LMCompatibilityLevel. Exécuter au moins --ntlmv1 est requis pour afficher/détecter les chemins de relais SMB inter-protocole.
    • Le registre distant désactivé peut causer des problèmes avec --ntlmv1-all. De plus, très lourd et pas OPSEC-safe, mais exhaustif. Probablement déconseillé sauf si vous êtes en mode YOLO ou désespéré.
  • Sortie dans divers formats. Fournir les formats en notation séparée par des virgules (-o json,plaintext) et --output-file relayking-scan produit relayking-scan.json + relayking-scan.txt, donc il n'est pas nécessaire de l'exécuter deux fois pour plusieurs formats. Disponibles : plaintext, json, xml, csv, grep, markdown (par défaut : plaintext)
  • La fonctionnalité --coerce-all utilisera PetitPotam, DFSCoerce et PrinterBug sur TOUS LES HÔTES CIBLÉS. Elle force également en masse chaque machine du domaine sans exécuter l'audit de protocole complet. Fournir + en effectuera un audit du domaine une coercition de masse. ()

To-Do

  • Beaucoup plus de tests (VOUS POUVEZ AIDER)
  • Coercition via fichier shell + nettoyage. (Nécessite des fonctionnalités spécifiques - contactez directement si vous voulez ajouter cela)
  • Créer un wiki d'utilisation
  • Relais Kerberos + chemins. Créer une logique autour de toutes les techniques de relais Kerberos, y compris la réflexion.
  • Potentiel mode --opsec-safe qui évite l'utilisation d'Impacket/autres bibliothèques Python empreintes. Pas trivial à implémenter.

KNOWN ISSUES

  • Avec plusieurs outils secondaires et fonctionnalités faisant leurs propres requêtes LDAPS, cela a créé une logique ABSOLUMENT FOLLE en termes de non-consolidation, chacun faisant ses propres affaires. Actuellement, je crois que --ntlmv1, le validateur d'identifiants, le module Ghost SPN ET l'analyseur de cibles font tous chacun leur propre authentification. C'EST ABSOLUMENT RIDICULE et doit être consolidé pour utiliser un seul module d'authentification.
  • Probablement d'autres bizarreries stupides avec diverses combinaisons de signature LDAP et de liaison de canal.
  • Problèmes sérieux avec RPC sur les dernières versions de Server 2025/Win11. Nécessite une correction.
  • Cas limites stupides avec les services HTTP(S) difficiles à prendre en compte, donnant des résultats faux positifs/négatifs.

Submitting Issues/Pull Requests

Issues

  • Les issues ouvertes contenant des erreurs/échecs d'outils sans aucun détail ("ça ne marche pas"/"pourquoi ça ne marche pas") seront fermées.
  • En général, exécutez l'outil avec -vv ou -vvv si vous rencontrez des erreurs. La journalisation continue de s'améliorer avec chaque version.
  • Lors de la soumission d'issues, le plus de détails possible est hautement souhaitable pour permettre le débogage/le dépannage. Veuillez masquer toute information sensible de la sortie de débogage, comme les domaines clients/cibles, les noms de machines, toute autre information sensible. Vous ne voulez pas divulguer les squelettes de relais de votre client au monde.
  • Les arguments d'utilisation qui ont produit des problèmes/erreurs/comportement cassé sont également nécessaires.
  • Les issues résultant d'erreurs utilisateur ou d'environnements cassés/mal configurés seront examinées, et probablement fermées. Exceptions à cela sont les situations où l'outil DEVRAIT gérer gracieusement une bizarrerie spécifique à l'environnement et échoue à s'exécuter/renvoie des exceptions+traces de pile lorsqu'elle est rencontrée. Ces situations devraient être assez évidentes. Exemples d'erreurs utilisateur/config réseau défectueuse ci-dessous :
    • Par exemple, vous exécutez --audit et RelayKing ne parvient pas à résoudre les hôtes dans DNS parce que leurs serveurs DNS refusent de résoudre leurs FQDN d'ordinateurs dans la zone DNS cible. Ce n'est pas un problème de RelayKing.
    • Ou, par exemple, vous ne parvenez pas à vous assurer que DNS est correctement configuré sur votre hôte de test (en validant /etc/resolv.conf) et ensuite les choses ne parviennent pas à se résoudre correctement - ce n'est pas un problème de RelayKing.
    • Tout autre PEBKAC.

Pull Requests:

  • Les PR sont toujours les bienvenues. Les nouvelles fonctionnalités, améliorations et refactorisations qui améliorent les performances/la logique globale sont souhaitables.
  • Les demandes de fonctionnalités peuvent être soumises via des PR. La description de la fonctionnalité, le comportement spécifique et les indicateurs/arguments d'utilisation potentiels sont généralement le minimum nécessaire pour envisager l'implémentation.
  • Les PR doivent être testés de manière approfondie, idéalement dans plusieurs environnements avant d'être soumis. Nous testerons les PR avant de les fusionner, mais plus il y a de tests dans des environnements uniques (surtout après des changements/refactorisations majeurs) = mieux c'est. Je veux garder RelayKing fiable, robuste et performant - ce qui nécessite des tests approfondis.

Credits

  • Mon équipe - Depth Security (https://www.depthsecurity.com/) : Support, assistance, conseils et tests. Cet outil serait inutile sans l'équipe de la couleur sarcelle.
  • Nick Powers (SpecterOps) (https://github.com/zyn3rgy) - RelayInformer : Inspiration et référence logique de détection
  • Nombreux développeurs / Alex Neff (https://github.com/NeffIsBack) - NetExec : Diverses implémentations de logique de détection.
  • Fortra/SecureAuthCorp/Nombreux développeurs - Impacket : Implémentations de protocoles. Diverses autres choses.
  • Dirk-jan Mollema (https://github.com/dirkjanm) krbrelayx : Techniques de relais Kerberos, trucs DNS.
  • Garrett Foster (SpecterOps) (https://github.com/garrettfoster13) SCCMHunter : Logique de détection SCCM. Utilisation en laboratoire pour les tests (UN GRAND MERCI !)
  • Oliver Lyak (https://github.com/ly4k) Certipy-AD : Logique de détection ADCS
  • Andrea Pierini (https://github.com/decoder-it) : Nombreuses techniques et tactiques de relais.
  • p0dalirius (https://github.com/p0dalirius/GhostSPN) : Concept et méthodologie de détection des SPN fantômes.
  • Peut-être d'autres que j'oublie - cet outil n'aurait pas été possible sans la communauté infosec et ses contributions.

Disclaimer

En l'état. De nombreux bugs existent certainement. Voir ci-dessus. Non conçu ou destiné à des activités illégales/non autorisées, évidemment.

Considérez le comportement et la nature de TOUS les outils que vous exécutez pour un client et sur ses réseaux. Cela se fait en lisant le code source de l'outil et en comprenant son fonctionnement interne avant l'exécution, et non en exécutant aveuglément du code que vous avez trouvé sur GitHub. Bien que je puisse vous assurer qu'il n'y a pas de code délibérément malveillant/destructeur dans RelayKing, il est généralement de bonne pratique de valider tous les outils nouveaux/non utilisés avant de les exécuter. Faites confiance, mais vérifiez toujours.

Soyez prudent lors de l'utilisation lors d'exercices d'équipe rouge, en particulier avec les vérifications authentifiées et --audit. Vous SEREZ détecté et ce sera de votre faute ! Vous devriez avoir lu l'avertissement en haut du README si vous lisez cette phrase et ne le saviez pas déjà.

Bien que extrêmement improbable/imprévu, si RelayKing casse quelque chose, vous êtes seul, et ni l'Auteur ni Depth Security ne sont responsables des conséquences/problèmes/explosions nucléaires de retournement de bits géospatiaux qui pourraient éventuellement survenir (aussi improbable soit-il) de l'exécution de RelayKing. Votre kilométrage peut varier. RelayKing est, encore une fois, fourni SANS AUCUNE GARANTIE DE RÉSULTATS, FONCTIONNALITÉS, UTILITÉ OU COMPORTEMENT SPÉCIFIQUES - EXPLICITEMENT MENTIONNÉS ICI (ET/OU NON MENTIONNÉS) OU AUTREMENT IMPLICITES.

Le seul dépôt GitHub légitime de l'Auteur (logansdiomedi) se trouve à l'adresse https://github.com/depthsecurity/RelayKing-Depth - tous les autres sont des forks/copies/quoi que ce soit d'autre, l'Auteur ne les a probablement pas lus, validés, testés, analysés ou inspectés pour leur fonctionnalité/comportement/légitimité. Utilisez votre tête.

License

MIT License - voir le fichier LICENSE pour plus de détails

Télécharger l’outil
--dc-ip
--krb-dc-only
--dns-tcp
-ns
--audit
--coerce
même temps
ET
LOURD
  • Ghost SPN (mode --audit uniquement) : Après la fin du scan des hôtes, RelayKing interroge AD pour les SPN dont les noms d'hôte n'ont pas d'enregistrement DNS. Ce sont des candidats pour des attaques d'enregistrement DNS qui interceptent l'authentification NTLM. Le rapport inclut jusqu'à 5 résultats pour garder la sortie gérable ; la liste complète est toujours écrite dans possible-ghost-spns.txt dans le répertoire de travail. Passez --no-ghosts pour ignorer complètement cette vérification.
  • CVE-2025-54918 : Vérifiée via l'UBR (Update Build Revision) déjà lu depuis le registre de chaque hôte pendant le scan. Les hôtes Server 2025 non patchés (build 26100, UBR < 6584) signalent MOYEN. Si l'hôte est également un contrôleur de domaine avec PrintSpooler activé, la sévérité passe à CRITIQUE.
  • CVE-2019-1040 (Drop the MIC) : Également piloté par UBR, sans trafic réseau supplémentaire. Les hôtes en dessous du seuil du patch de juin 2019 sont marqués ÉLEVÉ et identifiés comme candidats au relais inter-protocole avec le flag --remove-mic de ntlmrelayx.