Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
vfs-clone-acl — VFS for Git ab95cf51 - عالي - محلي - بقايا صلاحيات - استنساخ Authenticated Users GENERIC_WRITE | Kitploit
أدوات/GitHubGitHub/abraxas/vfs-clone-acl
تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالاختبار الاختراقالأوراق والأبحاثسوء التكوينالفريق الأحمر
GitHubabraxas/vfs-clone-acl

vfs-clone-acl

VFS for Git ab95cf51 - عالي - محلي - بقايا صلاحيات - استنساخ Authenticated Users GENERIC_WRITE

عرض المستودع
8منذ 3 أياملم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Abraxas Labs - vfs-clone-acl

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

vfs-clone-acl

الفئة: صلاحية متبقية الوصول: محلي

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

CloneVerb ينشئ PrimaryEnlistmentRoot باستخدام TryCreateDirectoryAccessibleByAuthUsers. تضيف هذه الدالة المساعدة NT AUTHORITY\Authenticated Users بصلاحيات GENERIC_READ|WRITE|EXECUTE|DELETE مع ContainerInherit|ObjectInherit. يتحدث التعليق عن الوصول المرفوع مقابل غير المرفوع لنفس المستخدم. لكن الـ SID هو كل مستخدم مُصادَق عليه.

بعد أن ينفذ الضحية gvfs clone، يمكن لمستخدم آخر مسجَّل الدخول أن يكتب داخل تلك الشجرة، بما في ذلك src\.git\hooks. يبقى المستودع مملوكًا للضحية، لذا لا يمنع git safe.directory ذلك.

IDلا يوجد CVE بعد
الفئةصلاحية متبقية (ACL دليل مفرط في التساهل / زرع hook)
الوصولمحلي
CWECWE-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
المتأثرmaster ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (tag v2.0.26259.1). Windows فقط.
المصادقةمحلي. الضحية ينفذ gvfs clone. المهاجم مستخدم آخر مُصادَق عليه.
الترخيصGNU Affero GPL v3.0
المختبر127.0.0.1 فقط. how=gadget (بدون Windows أصلي / ProjFS).

هذا RCE على المضيف المحلي بصفة المستنسخ عند تنفيذ hook git/GVFS التالي. ليس shell بصلاحيات SYSTEM. المختبر زرع ملف canary فقط؛ ولم ينفذ أي hook.

ما يمكن للمهاجم فعله

الضحية استنسخ باستخدام GVFS. المهاجم هو مستخدم آخر مسجَّل الدخول من فئة Authenticated Users.

الصلاحيةالطريقة / الهدفما تمنحهالاستطلاع / السلامة / التوفرمُثبت مختبريًا أو مُستنتج
وراثة GENERIC_WRITE على جذر enlistmentCloneVerb يستدعي TryCreateDirectoryAccessibleByAuthUsers(PrimaryEnlistmentRoot)كل مستخدم مُصادَق عليه يمكنه الكتابة في الشجرةالسلامةمُثبت مختبريًا على الـ gadget. سطر icacls هو NT AUTHORITY\Authenticated Users:(OI)(CI)(GR,GW,GE,D)، SID S-1-5-11، القناع 0xe0010000
وراثة هذا الـ ACE إلى العناصر الفرعية بما فيها .git/hooksContainerInherit | ObjectInheritدليل hooks قابل للكتابة من المهاجمالسلامةمُثبت مختبريًا. authusers_hooks=yes
زرع ملف تحت src/.git/hooks بصفة المهاجمكتابة VFS-CLONE-ACL-WITNESSCanary في دليل hooks المملوك للضحيةالسلامةمُثبت مختبريًا. المالك هو uid المهاجم 1001، والنص هو الشاهد
تشغيل hook مزروع بصفة الضحية عند أمر git/GVFS التالياستبدال pre-command / محمّل GVFS في نسخة مؤقتةكود على المضيف بصفة المستنسخالسلامةمُستنتج. المختبر زرع ملف canary فقط؛ ولم ينفذ أي hook
كتابة ذاكرة الكائنات المحلية بالطريقة نفسهاLocalCacheResolver.cs نفس الدالة المساعدةشجرة الذاكرة قابلة للكتابة من Auth Usersالسلامةمُستنتج. المختبر استنسخ جذر enlistment فقط
سلبي: ACL للمالك فقط0700، بدون ACE لـ Authenticated Usersكتابة المهاجم مرفوضةمغلقمُثبت مختبريًا مغلق. كتابة المهاجم EACCES
other:: قابل للكتابة للجميعلا ينطبقكتابة POSIX otherمغلقمُثبت مختبريًا مغلق. other_write=no
كتابة عن بُعد بدون مصادقةلا ينطبقكتابة عبر الشبكةمغلقتسجيل دخول محلي ثانٍ
shell بصلاحيات SYSTEMلا ينطبقLocalSystemمغلقالـ hook التالي يعمل بصفة المستنسخ، وليس LocalSystem

بقايا نفس التثبيت: vfs-quote-breakout، vfs-mount-dehydrate، vfs-service-sid، vfs-hook-impersonate، vfs-install-cwd.

كيف وجدته

ثبّتت VFSForGit master ab95cf51 بعد دمج 2026-09-28. ينشئ Clone جذر enlistment بدالة مساعدة تعليقها عن تقسيم رمز UAC. الـ SID هو AuthenticatedUserSid. هذا كل مستخدم مسجَّل الدخول، وليس المستخدم المُنشئ.

المنعطفات الخاطئة المسجَّلة مسبقًا: معاملة هذا كـ world-writable other:: (ليس كذلك؛ POSIX other لم يكن لديه كتابة)؛ ادعاء SYSTEM؛ تنفيذ hook مزروع في المختبر. مسرح. كان Windows الأصلي مفقودًا، لذا المختبر عبارة عن gadget لتلك الدوال كـ POSIX named-group ACL.

المختبر

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

أو

cd lab
./run.sh

Gadget HTTP على 127.0.0.1:19650. ينسخ TryCreateDirectoryAccessibleByAuthUsers ويطبق نفس الـ ACE كـ POSIX named-group 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

الإصلاح

امنح المستخدم المُنشئ (واختياريًا Administrators لـ UAC)، وليس AuthenticatedUserSid. مكافئ icacls هو (OI)(CI)(M) للمالك فقط.

المراجع

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

الترخيص

GNU Affero GPL v3.0. راجع LICENSE. مختبر loopback فقط. بدون ضمان.

تنزيل الأداة