Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
vfs-clone-acl — VFS для Git ab95cf51 — высокий — локальный — остаточные привилегии — клонирование Authenticated Users GENERIC_WRITE | Kitploit
Инструменты/GitHubGitHub/abraxas/vfs-clone-acl
Повышение привилегийАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеСтатьи и ИсследованияНеправильная КонфигурацияRed Teaming
GitHubabraxas/vfs-clone-acl

vfs-clone-acl

VFS для Git ab95cf51 — высокий — локальный — остаточные привилегии — клонирование Authenticated Users GENERIC_WRITE

Репозиторий
83 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

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 (тег 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 не блокирует.

IDCVE пока нет
КлассОстаточные привилегии (избыточно разрешающий ACL каталога / подмена хука)
ДоступЛокальный
CWECWE-732, CWE-276
CVSSHigh: 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 (тег v2.0.26259.1). Только Windows.
АутентификацияЛокальная. Жертва выполняет gvfs clone. Атакующий — другой прошедший аутентификацию пользователь.
ЛицензияGNU Affero GPL v3.0
ЛабораторияТолько 127.0.0.1. how=gadget (без нативного Windows / ProjFS).

Это локальный RCE на хосте от имени клонирующего при следующем хуке git/GVFS. Не shell SYSTEM. В лаборатории был размещён только канареечный файл; хук не выполнялся.

Что может сделать атакующий

Жертва выполнила клонирование с GVFS. Атакующий — другой вошедший в систему субъект Authenticated Users.

ПривилегияМетод / точка срабатыванияЧто даётРазведка / целостность / доступностьДоказано в лаборатории или выведено
Наследование GENERIC_WRITE на корне enlistmentCloneVerb вызывает TryCreateDirectoryAccessibleByAuthUsers(PrimaryEnlistmentRoot)Любой прошедший аутентификацию пользователь может писать в деревоЦелостностьДоказано в лаборатории на гаджете. Строка 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-WITNESSКанарейка в каталоге hooks, принадлежащем жертвеЦелостностьДоказано в лаборатории. Владелец — uid атакующего 1001, текст — свидетель
Запуск размещённого хука от имени жертвы при следующей команде git/GVFSперезапись pre-command / загрузчика GVFS в одноразовом клонеКод на хосте от имени клонирующегоЦелостностьВыведено. В лаборатории был размещён только канареечный файл; хук не выполнялся
Запись локального кэша объектов тем же способомLocalCacheResolver.cs, тот же вспомогательный методДерево кэша доступно для записи Auth UsersЦелостностьВыведено. В лаборатории клонировался только корень enlistment
Отрицательный: ACL только для владельца0700, без ACE Authenticated UsersЗапись атакующего запрещенаЗакрытоДоказано в лаборатории закрыто. Запись атакующего — EACCES
other:: с правом записи для всехн/дЗапись POSIX otherЗакрытоДоказано в лаборатории закрыто. other_write=no
Удалённая неаутентифицированная записьн/дСетевая записьЗакрытоЛокальный второй вход
Shell SYSTEMн/дLocalSystemЗакрытоСледующий хук выполняется от имени клонирующего, а не 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; выполнение размещённого хука в лаборатории. Театр. Нативный Windows отсутствовал, поэтому лаборатория — это гаджет тех функций в виде POSIX named-group ACL.

Лаборатория

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

или

cd lab
./run.sh

Гаджет 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. Без гарантий.

Скачать инструмент