Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
vfs-clone-acl — VFS für Git ab95cf51 - Hoch - Lokal - Verbleibendes Privileg - clone Authentifizierte Benutzer GENERIC_WRITE | Kitploit
Tools/GitHubGitHub/abraxas/vfs-clone-acl
Privilege EscalationSchwachstellenanalyseExploitationPenetrationstestsPapers & ForschungFehlkonfigurationRed Teaming
GitHubabraxas/vfs-clone-acl

vfs-clone-acl

VFS für Git ab95cf51 - Hoch - Lokal - Verbleibendes Privileg - clone Authentifizierte Benutzer GENERIC_WRITE

Repository anzeigen
8vor 3 TagenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Abraxas Labs - vfs-clone-acl

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

vfs-clone-acl

Klasse: Privilegien-Überrest Reichweite: Lokal

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

CloneVerb erstellt PrimaryEnlistmentRoot mit TryCreateDirectoryAccessibleByAuthUsers. Dieser Helfer fügt NT AUTHORITY\Authenticated Users GENERIC_READ|WRITE|EXECUTE|DELETE mit ContainerInherit|ObjectInherit hinzu. Der Kommentar spricht über erhöhten vs. nicht erhöhten Zugriff für denselben Benutzer. Die SID ist jeder authentifizierte Benutzer.

Nachdem das Opfer gvfs clone ausgeführt hat, kann ein anderer angemeldeter Benutzer in diesen Baum schreiben, einschließlich src\.git\hooks. Das Repository bleibt im Besitz des Opfers, sodass git safe.directory nicht blockiert.

IDnoch keine CVE
KlassePrivilegien-Überrest (übermäßig permissives Verzeichnis-ACL / Hook-Plant)
ReichweiteLokal
CWECWE-732, CWE-276
CVSSHoch: 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProduktVFS for Git
Betroffenmaster ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (Tag v2.0.26259.1). Nur Windows.
AuthLokal. Opfer führt gvfs clone aus. Angreifer ist ein anderer authentifizierter Benutzer.
LizenzGNU Affero GPL v3.0
Labnur 127.0.0.1. how=gadget (kein natives Windows / ProjFS).

Dies ist lokale Host-RCE als der Kloner beim nächsten git/GVFS-Hook. Keine SYSTEM-Shell. Das Lab hat nur eine Canary-Datei platziert; es hat keinen Hook ausgeführt.

Was ein Angreifer tun kann

Das Opfer hat mit GVFS geklont. Der Angreifer ist ein anderer angemeldeter Authenticated-Users-Principal.

PrivilegMethode / SinkWas es gewährtRecon / Integrität / VerfügbarkeitLab-bewiesen oder abgeleitet
GENERIC_WRITE auf das Enlistment-Root erbenCloneVerb ruft TryCreateDirectoryAccessibleByAuthUsers(PrimaryEnlistmentRoot) aufJeder authentifizierte Benutzer kann in den Baum schreibenIntegritätLab-bewiesen am Gadget. icacls-Zeile ist NT AUTHORITY\Authenticated Users:(OI)(CI)(GR,GW,GE,D), SID S-1-5-11, Maske 0xe0010000
Diese ACE auf Kinder erben, einschließlich .git/hooksContainerInherit | ObjectInheritHooks-Verzeichnis ist für Angreifer beschreibbarIntegritätLab-bewiesen. authusers_hooks=yes
Eine Datei unter src/.git/hooks als Angreifer platzierenVFS-CLONE-ACL-WITNESS schreibenCanary im Hooks-Verzeichnis des OpfersIntegritätLab-bewiesen. Besitzer ist Angreifer-uid 1001, Text ist der Witness
Einen platzierten Hook als Opfer beim nächsten git/GVFS-Befehl ausführenpre-command / GVFS-Loader in einem Wegwerf-Klon überschreibenHost-Code als der KlonerIntegritätAbgeleitet. Lab hat nur eine Canary-Datei platziert; es hat keinen Hook ausgeführt
Den lokalen Objekt-Cache auf dieselbe Weise beschreibenLocalCacheResolver.cs derselbe HelferCache-Baum ist für Auth Users beschreibbarIntegritätAbgeleitet. Lab hat nur das Enlistment-Root geklont
Negativ: Nur-Eigentümer-ACL0700, keine Authenticated-Users-ACEAngreifer-Schreibzugriff verweigertGeschlossenLab-bewiesen geschlossen. Angreifer-Schreibzugriff ist EACCES
Weltweit beschreibbar other::n/aPOSIX other writeGeschlossenLab-bewiesen geschlossen. other_write=no
Remote nicht authentifizierter Schreibzugriffn/aNetzwerk-SchreibzugriffGeschlossenLokale zweite Anmeldung
SYSTEM-Shelln/aLocalSystemGeschlossenNächster Hook läuft als der Kloner, nicht als LocalSystem

Gleiche Pin-Überreste: vfs-quote-breakout, vfs-mount-dehydrate, vfs-service-sid, vfs-hook-impersonate, vfs-install-cwd.

Wie ich es gefunden habe

Ich habe VFSForGit master ab95cf51 nach dem Merge vom 2026-09-28 gepinnt. Clone erstellt das Enlistment-Root mit einem Helfer, dessen Kommentar UAC-Split-Token ist. Die SID ist AuthenticatedUserSid. Das ist jeder angemeldete Benutzer, nicht der erstellende Benutzer.

Bereits dokumentierte Irrwege: dies als weltweit beschreibbar other:: zu behandeln (ist es nicht; POSIX other hatte kein Schreibrecht); SYSTEM zu behaupten; einen platzierten Hook im Lab auszuführen. Theater. Natives Windows fehlte, also ist das Lab ein Gadget dieser Funktionen als POSIX-Named-Group-ACL.

Lab

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

oder

cd lab
./run.sh

Gadget-HTTP auf 127.0.0.1:19650. Kopiert TryCreateDirectoryAccessibleByAuthUsers und wendet dieselbe ACE als POSIX-Named-Group-ACL (authusers) an. Letzte Zeile verwendet 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

Der Fix

Gewähre dem erstellenden Benutzer (und optional Administrators für UAC), nicht AuthenticatedUserSid. Das icacls-Äquivalent ist (OI)(CI)(M) nur für den Eigentümer.

Referenzen

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

Lizenz

GNU Affero GPL v3.0. Siehe LICENSE. Nur Loopback-Lab. Keine Gewährleistung.

Tool herunterladen