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
KrbRelayUp — KrbRelayUp - a universal no-fix local privilege escalation in windows domain environments where LDAP signing is not enforced (the default settings). | Kitploit
Outils/GitHubGitHub/dec0ne/krbrelayup
Privilege EscalationExploitationImpersonation ToolsPost-ExploitationPenetration TestingAuthenticationRed Teaming
GitHubdec0ne/krbrelayup

KrbRelayUp

KrbRelayUp - a universal no-fix local privilege escalation in windows domain environments where LDAP signing is not enforced (the default settings).

Voir le dépôt
1.7k2102il y a 4 ansVé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

KrbRelayUp

Wrapper simple autour de certaines fonctionnalités de Rubeus et KrbRelay (et de quelques autres mentions honorables dans la section remerciements) afin de rationaliser l'abus de la primitive d'attaque suivante :

  1. (Facultatif) Création d'un nouveau compte machine (New-MachineAccount)
  2. Coercition de l'authentification du compte machine local (KrbRelay)
  3. Relais Kerberos vers LDAP (KrbRelay)
  4. Ajout des privilèges RBCD et obtention d'un ST privilégié vers la machine locale (Rubeus)
  5. Utilisation dudit ST pour s'authentifier auprès du Service Manager local et créer un nouveau service en tant que NT/SYSTEM. (SCMUACBypass)

Il s'agit essentiellement d'une élévation de privilèges locale universelle sans correctif dans les environnements de domaine Windows où la signature LDAP n'est pas appliquée (les paramètres par défaut).

MISE À JOUR : Ici se trouve un excellent article de @an0n_r0 expliquant comment effectuer cette attaque manuellement (en utilisant les outils d'origine pour ce chemin d'attaque : PowerMad/SharpMad, KrbRelay, Rubeus et SCMUACBypass)

Mise à jour - Prise en charge de Shadow Credentials

J'ai ajouté certaines fonctionnalités pour prendre en charge cette primitive d'attaque en utilisant des shadow credentials. Notez que cela élimine le besoin d'ajouter (ou de posséder) un autre compte machine.

Remarque : cette méthode d'attaque contourne la mesure d'atténuation Protected Users (ou « Le compte est sensible et ne peut pas être délégué ») en raison de l'abus de S4U2Self.

  1. Coercition de l'authentification du compte machine local (KrbRelay)
  2. Relais Kerberos vers LDAP (KrbRelay)
  3. Générer une nouvelle KeyCredential et l'ajouter à l'attribut 'msDS-KeyCredentialLink' du compte machine local. (Whisker et KrbRelay)
  4. Utiliser ladite KeyCredential pour obtenir un TGT pour le compte machine local via PKInit. (Rubeus)
  5. Utiliser le TGT pour obtenir un ST privilégié vers la machine locale via S4U2Self et TGSSUB. (Rubeus)
  6. Utiliser ledit ST pour s'authentifier auprès du Service Manager local et créer un nouveau service en tant que NT/SYSTEM. (SCMUACBypass)

MISE À JOUR : Ici se trouve un excellent article de @icyguider expliquant comment effectuer manuellement la méthode ShadowCred de cette attaque (en utilisant les outils d'origine pour ce chemin d'attaque : KrbRelay, Rubeus et SCMUACBypass) ainsi que l'utilisation de NimCrypt2 pour empaqueter les différents outils et échapper à certaines détections des mécanismes défensifs.

Mise à jour - Prise en charge de l'inscription Web ADCS

J'ai ajouté la prise en charge du relais de l'authentification KRB de la machine vers l'inscription Web ADCS (au lieu de LDAP). Cela élimine l'exigence que la signature LDAP ne soit pas appliquée dans le domaine, puisque cette attaque ne fait pas de relais vers LDAP.

Remarque : cette méthode d'attaque contourne la mesure d'atténuation Protected Users (ou « Le compte est sensible et ne peut pas être délégué ») en raison de l'abus de S4U2Self.

  1. Coercition de l'authentification du compte machine local (KrbRelay)
  2. Relais Kerberos vers ADCS (HTTP) (KrbRelay et ADCSPwn)
  3. Générer une demande de certificat au nom du compte machine local, la soumettre à l'inscription Web ADCS et enfin récupérer le certificat pour le compte machine local (ADCSPwn)
  4. Utiliser ledit certificat pour obtenir un TGT pour le compte machine local via PKInit. (Rubeus)
  5. Utiliser le TGT pour obtenir un ST privilégié vers la machine locale via S4U2Self et TGSSUB. (Rubeus)
  6. Utiliser ledit ST pour s'authentifier auprès du Service Manager local et créer un nouveau service en tant que NT/SYSTEM. (SCMUACBypass)

Utilisation

root@kitploit:~
KrbRelayUp - Relaying you to SYSTEM

FULL: Perform full attack chain. Options are identical to RELAY. Tool must be on disk.

RELAY: First phase of the attack. Will Coerce Kerberos auth from local machine account, relay it to LDAP and create a control primitive over the local machine using RBCD or SHADOWCRED.
Usage: KrbRelayUp.exe relay -d FQDN -cn COMPUTERNAME [-c] [-cp PASSWORD | -ch NTHASH]

    -m   (--Method)                   Abuse method to use in after a successful relay to LDAP <rbcd/shadowcred> (default=rbcd)
    -p   (--Port)                     Port for Com Server (default=12345)
    -cls (--Clsid)                    CLSID to use for coercing Kerberos auth from local machine account (default=90f18417-f0f1-484e-9d3c-59dceee5dbd8)

    # RBCD Method:
    -c   (--CreateNewComputerAccount) Create new computer account for RBCD. Will use the current authenticated user.
    -cn  (--ComputerName)             Name of attacker owned computer account for RBCD. (default=KRBRELAYUP$)
    -cp  (--ComputerPassword)         Password of computer account for RBCD. (default=RANDOM [if -c is enabled])

    # SHADOWCRED Method:
    -f   (--ForceShadowCred)          Clear the msDS-KeyCredentialLink attribute of the attacked computer account before adding our new shadow credentials. (Optional)

    # ADCS Method:
    -ca  (--CAEndpoint)               CA endpoint FQDN (default = same as DC)
    -https                            Connect to CA endpoint over secure HTTPS instead of HTTP)
    -cet (--CertificateTemplate)      Certificate template to request for (default=Machine)


SPAWN: Second phase of the attack. Will use the appropriate control primitive to obtain a Kerberos Service Ticket and will use it to create a new service running as SYSTEM.
Usage: KrbRelayUp.exe spawn -d FQDN -cn COMPUTERNAME [-cp PASSWORD | -ch NTHASH] <-i USERTOIMPERSONATE>

    -m   (--Method)                   Abuse method used in RELAY phase <rbcd/shadowcred> (default=rbcd)
    -i   (--Impersonate)              User to impersonate. should be a local administrator in the target computer. (default=Administrator)
    -s   (--ServiceName)              Name of the service to be created. (default=KrbSCM)
    -sc  (--ServiceCommand)           Service command [binPath]. (default = spawn cmd.exe as SYSTEM)

    # RBCD Method:
    -cn  (--ComputerName)             Name of attacker owned computer account for RBCD. (default=KRBRELAYUP$)
    -cp  (--ComputerPassword)         Password of computer account for RBCD. (either -cp or -ch must be specified)
    -ch  (--ComputerPasswordHash)     Password NT hash of computer account for RBCD. (either -cp or -ch must be specified)

    # SHADOWCRED | ADCS Method:
    -ce  (--Certificate)              Base64 encoded certificate or path to certificate file
    -cep (--CertificatePassword)      Certificate password (if applicable)


KRBSCM: Will use the currently loaded Kerberos Service Ticket to create a new service running as SYSTEM.
Usage: KrbRelayUp.exe krbscm <-s SERVICENAME> <-sc SERVICECOMMANDLINE>

    -s  (--ServiceName)              Name of the service to be created. (default=KrbSCM)
    -sc (--ServiceCommand)           Service command [binPath]. (default = spawn cmd.exe as SYSTEM)


General Options:
    -d  (--Domain)                   FQDN of domain. (Optional)
    -dc (--DomainController)         FQDN of domain controller. (Optional)
    -ssl                             Use LDAP over SSL. (Optional)
    -n                               Use CreateNetOnly (needs to be on disk) instead of PTT when importing ST (enabled if using FULL mode)
    -v  (--Verbose)                  Show verbose output. (Optional)

Exemples

example example example

À faire

  • Refactorisation et nettoyage du code !!!
  • Ajouter l'attaque ShadowCred comme méthode RELAY
  • Ajouter l'attaque TGTDELEG dans la méthode SPAWN pour les scénarios Network Service -> SYSTEM (alternative aux potatoes)
  • Corriger le problème rencontré en essayant de combiner les méthodes RELAY et SPAWN en une seule exécution pour pouvoir l'utiliser comme une commande complète. Cela a probablement à voir avec le fait que les fonctionnalités RELAY et SPAWN reposent toutes deux sur des hooks lors de l'initialisation du serveur COM (une fois que RELAY initialise son serveur COM, SPAWN ne peut pas le réinitialiser pour placer ses hooks également)

Atténuation et détection

  • Appliquer la signature LDAP et la liaison de canal LDAP (LDAP Channel Binding) pour atténuer le relais de l'authentification KRB du compte machine vers LDAP. Cela peut être configuré via la GPO « Domain Controller: LDAP server signing requirements ». (Merci Will Dormann pour votre tweet à ce sujet)
  • Rendre plus difficile l'obtention des conditions requises pour l'attaque en définissant l'attribut MS-DS-Machine-Account-Quota dans AD à 0, supprimant ainsi la capacité de tout utilisateur à ajouter un nouveau compte machine au domaine. Il s'agit d'un paramètre par défaut dangereux dans AD - assurez-vous de le modifier.
  • Définir l'indicateur « Account is sensitive and cannot be delegated » sur tous les comptes administrateurs (ou les placer dans les utilisateurs protégés) ferait en sorte qu'aucun compte disposant des privilèges requis ne puisse être délégué pour mener à bien le chemin d'attaque. (Merci à Christoph Falta pour ce tweet)
  • Atténuation pour le relais ADCS - Imposer l'utilisation de TLS sur le site certsrv et activer Extended Protection for Authentication (EPA) dans IIS empêchera le relais vers ADCS. (Merci à Will Dormann de l'avoir signalé dans son tweet, cela a également été mentionné dans l'article de Dirk-jan Mollema sur Relaying Kerberos over DNS using krbrelayx and mitm6)
  • Ressources pour d'éventuelles règles de surveillance et de détection :
    1. https://github.com/tsale/Sigma_rules/blob/main/windows_exploitation/KrbRelayUp.yml (@Kostastsale)
    2. https://twitter.com/SBousseaden/status/1518976397364056071 (@SBousseaden). Principalement la règle concernant l'authentification au Service Manager via Kerberos depuis 127.0.0.1, Excellent travail !.

Remerciements

  • James Forshaw pour ses recherches sur le relais Kerberos et pour avoir découvert comment utiliser les tickets de service Kerberos pour l'authentification LOCALE au Service Manager, ce qui était la pièce manquante du puzzle pour rendre cette primitive d'attaque uniquement locale (avant cela, il fallait exporter le ST vers une machine distante pour l'utiliser et obtenir un accès privilégié à notre machine cible). Également pour sa fonctionnalité New-MachineAccount, utilisée dans ce projet.
  • Cube0x0 Ce projet n'existerait pas sans son travail incroyable sur KrbRelay - une grande partie du code en provient et cela m'a permis de mieux comprendre le fonctionnement du relais Kerberos (je recommande vraiment de parcourir le code à quiconque souhaite mieux comprendre le concept).
  • Elad Shamir pour ses recherches sur les Shadow Credentials et son outil génial Whisker - des parties de son code (et bien sûr du code de cube0x0 pour KrbRelay) ont été utilisées pour ajouter la prise en charge de l'attaque Shadow Credentials dans cet outil.
  • Will Schroeder et tous ceux qui ont contribué à Rubeus que nous connaissons et aimons tous. En gros, toutes les fonctionnalités RBCD-S4U en proviennent. Aussi, pour Certify et le livre blanc Certified Pre-Owned (les crédits vont également à Lee Christensen) qui ont été utilisés lors de l'ajout de l'option de relais à l'inscription Web ADCS.
  • batsec et tous ceux qui ont contribué à . Une grande partie du code lié à l'option de relais à l'inscription Web ADCS provient de cet outil génial.
Télécharger l’outil
  • https://www.linkedin.com/posts/john-dwyer-xforce_threathunting-threatdetection-blueteam-activity-6924739962131140608-py45/ (John Dwyer @TactiKoolSec)
  • https://twitter.com/cyb3rops/status/1519241598311321601 (@cyb3rops)
  • ADCSPwn
  • Michael Grafnetter pour son outil DSInternals qui a été utilisé ici pour aider avec la fonctionnalité Shadow Credentials.
  • Orange-Cyberdefense pour leur travail sur GOAD, le laboratoire de recherche Active Directory que j'utilise et que vous pouvez voir dans la vidéo de démonstration et les images.