Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
vfs-clone-acl — VFS pour Git ab95cf51 - Élevé - Local - Privilège résiduel - clone Authenticated Users GENERIC_WRITE | Kitploit
Outils/GitHubGitHub/abraxas/vfs-clone-acl
Escalade de PrivilègesAnalyse des VulnérabilitésExploitationTests d'IntrusionArticles et RechercheMauvaise ConfigurationRed Teaming
GitHubabraxas/vfs-clone-acl

vfs-clone-acl

VFS pour Git ab95cf51 - Élevé - Local - Privilège résiduel - clone Authenticated Users GENERIC_WRITE

Voir le dépôt
8il y a 3 joursPas encore vérifié

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

Abraxas Labs - vfs-clone-acl

abraxaslabs.tech  ·  github.com/abraxas  ·  @abraxas_null  ·  [email protected]  ·  vfs-clone-acl

vfs-clone-acl

Classe : Privilège résiduel Portée : Locale

VFS for Git master ab95cf51 (tag v2.0.26259.1) - Microsoft

CloneVerb crée PrimaryEnlistmentRoot avec TryCreateDirectoryAccessibleByAuthUsers. Cet assistant ajoute NT AUTHORITY\Authenticated Users GENERIC_READ|WRITE|EXECUTE|DELETE avec ContainerInherit|ObjectInherit. Le commentaire parle d'accès élevé vs non élevé pour le même utilisateur. Le SID correspond à tous les utilisateurs authentifiés.

Après que la victime a exécuté gvfs clone, un autre utilisateur connecté peut écrire dans cette arborescence, y compris dans src\.git\hooks. Le dépôt reste la propriété de la victime, donc le safe.directory de git ne bloque pas.

IDpas encore de CVE
ClassePrivilège résiduel (ACL de répertoire trop permissive / plantation de hook)
PortéeLocale
CWECWE-732, CWE-276
CVSSÉlevé : 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProduitVFS for Git
Affectémaster ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (tag v2.0.26259.1). Windows uniquement.
AuthLocale. La victime exécute gvfs clone. L'attaquant est un autre utilisateur authentifié.
LicenceGNU Affero GPL v3.0
Labo127.0.0.1 uniquement. how=gadget (pas de Windows natif / ProjFS).

Il s'agit d'une RCE sur l'hôte local en tant que cloneur lors du prochain hook git/GVFS. Pas un shell SYSTEM. Le labo n'a planté qu'un fichier canari ; il n'a pas exécuté de hook.

Ce qu'un attaquant peut faire

La victime a cloné avec GVFS. L'attaquant est un autre principal Authenticated Users connecté.

PrivilègeMéthode / cibleCe que cela accordeReconnaissance / intégrité / disponibilitéProuvé en labo ou déduit
Hériter de GENERIC_WRITE sur la racine d'enlistmentCloneVerb appelle TryCreateDirectoryAccessibleByAuthUsers(PrimaryEnlistmentRoot)Tout utilisateur authentifié peut écrire dans l'arborescenceIntégritéProuvé en labo sur le gadget. La ligne icacls est NT AUTHORITY\Authenticated Users:(OI)(CI)(GR,GW,GE,D), SID S-1-5-11, masque 0xe0010000
Hériter de cette ACE sur les enfants, y compris .git/hooksContainerInherit | ObjectInheritLe répertoire des hooks est accessible en écriture à l'attaquantIntégritéProuvé en labo. authusers_hooks=yes
Planter un fichier sous src/.git/hooks en tant qu'attaquantécrire VFS-CLONE-ACL-WITNESSCanari dans le répertoire de hooks appartenant à la victimeIntégritéProuvé en labo. Le propriétaire est l'uid attaquant 1001, le texte est le témoin
Exécuter un hook planté en tant que victime lors de la prochaine commande git/GVFSécraser pre-command / le loader GVFS dans un clone jetableCode hôte en tant que cloneurIntégritéDéduit. Le labo n'a planté qu'un fichier canari ; il n'a pas exécuté de hook
Écrire le cache d'objets local de la même manièreLocalCacheResolver.cs même assistantL'arborescence du cache est accessible en écriture à Auth UsersIntégritéDéduit. Le labo n'a cloné que la racine d'enlistment
Négatif : ACL propriétaire uniquement0700, aucune ACE Authenticated UsersÉcriture attaquant refuséeFerméProuvé en labo fermé. L'écriture attaquant est EACCES
other:: accessible en écriture à tousn/aÉcriture POSIX otherFerméProuvé en labo fermé. other_write=no
Écriture distante non authentifiéen/aÉcriture réseauFerméDeuxième connexion locale
Shell SYSTEMn/aLocalSystemFerméLe prochain hook s'exécute en tant que cloneur, pas LocalSystem

Mêmes résidus de pin : vfs-quote-breakout, vfs-mount-dehydrate, vfs-service-sid, vfs-hook-impersonate, vfs-install-cwd.

Comment je l'ai trouvé

J'ai épinglé VFSForGit master ab95cf51 après la fusion du 2026-09-28. Clone crée la racine d'enlistment avec un assistant dont le commentaire concerne le fractionnement de jeton UAC. Le SID est AuthenticatedUserSid. C'est tous les utilisateurs connectés, pas l'utilisateur créateur.

Fausses pistes déjà consignées : traiter cela comme accessible en écriture à tous other:: (ce n'est pas le cas ; POSIX other n'avait pas d'écriture) ; prétendre à un SYSTEM ; exécuter un hook planté dans le labo. Du théâtre. Windows natif était absent, donc le labo est un gadget de ces fonctions sous forme d'ACL de groupe nommé POSIX.

Labo

python3 vfs-clone-acl-Abraxas-Labs.py

ou

cd lab
./run.sh

Gadget HTTP sur 127.0.0.1:19650. Copie TryCreateDirectoryAccessibleByAuthUsers et applique la même ACE sous forme d'ACL de groupe nommé POSIX (authusers). La dernière ligne utilise how=gadget.

SUCCESS vfs-clone-acl how=gadget auth-users-write=yes inherit=OI-CI attacker-hook-write=yes owner-only=eacces VFS-CLONE-ACL-WITNESS

Le correctif

Accorder à l'utilisateur créateur (et éventuellement aux Administrateurs pour l'UAC), pas à AuthenticatedUserSid. L'équivalent icacls est (OI)(CI)(M) pour le propriétaire uniquement.

Références

  • github.com/microsoft/VFSForGit master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a
  • CloneVerb.cs
  • WindowsFileSystem.cs TryCreateDirectoryAccessibleByAuthUsers
  • LocalCacheResolver.cs
  • CWE-732 · CWE-276

Licence

GNU Affero GPL v3.0. Voir LICENSE. Labo en boucle locale uniquement. Aucune garantie.

Télécharger l’outil