
VFS for Git ab95cf51 - उच्च - स्थानीय - विशेषाधिकार अवशेष - क्लोन प्रमाणित उपयोगकर्ता GENERIC_WRITE
abraxaslabs.tech · github.com/abraxas · @abraxas_null · [email protected] · vfs-clone-acl
वर्ग: विशेषाधिकार अवशेष पहुँच: स्थानीय
VFS for Git मास्टर ab95cf51 (टैग v2.0.26259.1) - Microsoft
CloneVerb TryCreateDirectoryAccessibleByAuthUsers के साथ PrimaryEnlistmentRoot बनाता है। वह हेल्पर NT AUTHORITY\Authenticated Users को ContainerInherit|ObjectInherit के साथ GENERIC_READ|WRITE|EXECUTE|DELETE जोड़ता है। टिप्पणी उसी उपयोगकर्ता के लिए उन्नत बनाम गैर-उन्नत पहुँच की बात करती है। SID हर प्रमाणित उपयोगकर्ता है।
पीड़ित द्वारा gvfs clone करने के बाद, कोई अन्य लॉग-ऑन उपयोगकर्ता उस ट्री में लिख सकता है, जिसमें src\.git\hooks भी शामिल है। रेपो पीड़ित के स्वामित्व में रहता है, इसलिए git safe.directory अवरोध नहीं करता।
| ID | अभी तक कोई CVE नहीं |
| वर्ग | विशेषाधिकार अवशेष (अति-अनुमतिपूर्ण निर्देशिका ACL / हुक प्लांट) |
| पहुँच | स्थानीय |
| CWE | CWE-732, CWE-276 |
| CVSS | उच्च: 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| उत्पाद | VFS for Git |
| प्रभावित | मास्टर ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (टैग v2.0.26259.1)। केवल Windows। |
| प्रमाणीकरण | स्थानीय। पीड़ित gvfs clone करता है। हमलावर एक अन्य प्रमाणित उपयोगकर्ता है। |
| लाइसेंस | GNU Affero GPL v3.0 |
| लैब | केवल 127.0.0.1। how=gadget (कोई मूल Windows / ProjFS नहीं)। |
यह अगले git/GVFS हुक पर क्लोनर के रूप में स्थानीय होस्ट RCE है। SYSTEM शेल नहीं। लैब ने केवल एक कैनरी फ़ाइल रखी; इसने हुक निष्पादित नहीं किया।
पीड़ित ने GVFS के साथ क्लोन किया है। हमलावर एक अन्य लॉग-ऑन Authenticated Users प्रिंसिपल है।
| विशेषाधिकार | विधि / सिंक | यह क्या प्रदान करता है | रेकॉन / अखंडता / उपलब्धता | लैब-प्रमाणित या अनुमानित |
|---|---|---|---|---|
| एनलिस्टमेंट रूट पर GENERIC_WRITE इनहेरिट करें | CloneVerb TryCreateDirectoryAccessibleByAuthUsers(PrimaryEnlistmentRoot) को कॉल करता है | हर प्रमाणित उपयोगकर्ता ट्री में लिख सकता है | अखंडता | गैजेट पर लैब-प्रमाणित। icacls पंक्ति NT AUTHORITY\Authenticated Users:(OI)(CI)(GR,GW,GE,D), SID S-1-5-11, मास्क 0xe0010000 है |
उस ACE को .git/hooks सहित चिल्ड्रन पर इनहेरिट करें | ContainerInherit | ObjectInherit | हुक्स डायरेक्टरी हमलावर-लेखन योग्य है | अखंडता | लैब-प्रमाणित। authusers_hooks=yes |
हमलावर के रूप में src/.git/hooks के अंतर्गत एक फ़ाइल रखें | VFS-CLONE-ACL-WITNESS लिखें | पीड़ित के स्वामित्व वाली हुक्स डायरेक्टरी में कैनरी | अखंडता | लैब-प्रमाणित। स्वामी हमलावर uid 1001 है, टेक्स्ट विटनेस है |
| अगले git/GVFS कमांड पर पीड़ित के रूप में रखा गया हुक चलाएँ | थ्रोअवे क्लोन में pre-command / GVFS लोडर को ओवरराइट करें | क्लोनर के रूप में होस्ट कोड | अखंडता | अनुमानित। लैब ने केवल एक कैनरी फ़ाइल रखी; इसने हुक निष्पादित नहीं किया |
| स्थानीय ऑब्जेक्ट कैश को उसी तरह लिखें | LocalCacheResolver.cs समान हेल्पर | कैश ट्री Auth Users लेखन योग्य है | अखंडता | अनुमानित। लैब ने केवल एनलिस्टमेंट रूट क्लोन किया |
| नकारात्मक: केवल-स्वामी ACL | 0700, कोई Authenticated Users ACE नहीं | हमलावर लेखन अस्वीकृत | बंद | लैब-प्रमाणित बंद। हमलावर लेखन EACCES है |
| विश्व-लेखन योग्य other:: | लागू नहीं | POSIX other लेखन | बंद | लैब-प्रमाणित बंद। other_write=no |
| रिमोट अनप्रमाणित लेखन | लागू नहीं | नेटवर्क लेखन | बंद | स्थानीय दूसरा लॉगिन |
| SYSTEM शेल | लागू नहीं | LocalSystem | बंद | अगला हुक क्लोनर के रूप में चलता है, LocalSystem के रूप में नहीं |
समान पिन अवशेष: vfs-quote-breakout, vfs-mount-dehydrate, vfs-service-sid, vfs-hook-impersonate, vfs-install-cwd।
मैंने 2026-09-28 मर्ज के बाद VFSForGit मास्टर ab95cf51 को पिन किया। क्लोन एनलिस्टमेंट रूट को एक हेल्पर के साथ बनाता है जिसकी टिप्पणी UAC स्प्लिट-टोकन है। SID AuthenticatedUserSid है। वह हर लॉग-ऑन उपयोगकर्ता है, न कि बनाने वाला उपयोगकर्ता।
पहले से दर्ज गलत मोड़: इसे विश्व-लेखन योग्य other:: मानना (यह नहीं है; POSIX other में कोई लेखन नहीं था); SYSTEM का दावा; लैब में रखे गए हुक को निष्पादित करना। नाटक। मूल Windows अनुपस्थित था, इसलिए लैब उन कार्यों का POSIX नामित-समूह ACL के रूप में गैजेट है।
python3 vfs-clone-acl-Abraxas-Labs.py
या
cd lab
./run.sh
127.0.0.1:19650 पर गैजेट HTTP। TryCreateDirectoryAccessibleByAuthUsers की प्रतिलिपि बनाता है और उसी ACE को POSIX नामित-समूह ACL (authusers) के रूप में लागू करता है। अंतिम पंक्ति 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
बनाने वाले उपयोगकर्ता (और वैकल्पिक रूप से UAC के लिए Administrators) को अनुदान दें, न कि AuthenticatedUserSid को। icacls समकक्ष केवल स्वामी के लिए (OI)(CI)(M) है।
ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3aCloneVerb.csWindowsFileSystem.cs TryCreateDirectoryAccessibleByAuthUsersLocalCacheResolver.csGNU Affero GPL v3.0। LICENSE देखें। केवल लूपबैक लैब। कोई वारंटी नहीं।