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

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

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

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

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

Категории

Все категории
Loading categories
vfs-install-cwd — VFS для Git ab95cf51 — высокий — локальный — LPE — установщик CWD неквалифицированный gvfs.exe | Kitploit
Инструменты/GitHubGitHub/abraxas/vfs-install-cwd
Повышение привилегийАнализ уязвимостейЭксплуатацияТестирование на ПроникновениеСтатьи и ИсследованияRed Teaming
GitHubabraxas/vfs-install-cwd

vfs-install-cwd

VFS для Git ab95cf51 — высокий — локальный — LPE — установщик CWD неквалифицированный gvfs.exe

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

Популярное

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

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

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

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

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

Abraxas Labs - vfs-install-cwd

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

vfs-install-cwd

Класс: LPE Достижимость: Локальная

VFS for Git master ab95cf51 (тег v2.0.26259.1) — Microsoft

Setup.iss PrepareToInstall всегда вызывает ExecWithResult('gvfs.exe', 'service --list-mounted', '', ...) через {cmd} /S /C с пустым WorkingDir. Это наследует каталог, из которого администратор запустил SetupGVFS*.exe. cmd.exe выполняет поиск сначала в CWD, затем в PATH. UnmountRepos использует то же неквалифицированное имя.

Тот же файл уже квалифицирует безопасные пути. sc.exe — это {sys}\SC.EXE. Перемонтирование после установки — {app}\gvfs.exe. При первой установке настоящего gvfs.exe в PATH ещё нет, поэтому подложенный рядом с подписанным установщиком файл побеждает.

IDCVE пока нет
КлассLPE (поиск в CWD привилегированного установщика / неквалифицированный exec)
ДостижимостьЛокальная (UI:R)
CWECWE-427, CWE-428
CVSSHigh: 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
ПродуктVFS for Git
Затронутоmaster ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (тег v2.0.26259.1). Только Windows.
АутентификацияЛокальная. Подложите gvfs.exe в каталог, из которого администратор запускает SetupGVFS*.exe.
ЛицензияGNU Affero GPL v3.0
ЛабораторияТолько 127.0.0.1. how=gadget (без нативного SetupGVFS*.exe).

Родственник CVE-2021-47874 (незакавыченный binPath), но другая точка срабатывания. sc.exe и путь перемонтирования на этом пине уже квалифицированы.

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

Подложите безобидный gvfs.exe рядом с подписанным установщиком. Когда администратор запускает установку из этой папки, PrepareToInstall выполняет подложенный файл с правами привилегированного установщика.

ПривилегияМетод / точка срабатыванияЧто даётРазведка / целостность / доступностьДоказано в лаборатории или выведено
Наследование CWD установщикаExecWithResult с пустым WorkingDir (Setup.iss ~830)Поиск начинается в папке запускаЦелостность порядка поискаДоказано в лаборатории. Gadget working_dir="", поиск cwd-then-path.
Разрешение неквалифицированного gvfs.exe из CWD раньше PATHcmd.exe /S /C ""gvfs.exe" service --list-mounted > ..."Подложенный файл побеждает PATHЦелостностьДоказано в лаборатории. prepare-resolved=cwd-plant, разрешён в /lab/cwd/gvfs.exe. Копия в PATH не задействована.
Запуск с правами привилегированного установщикаВладелец witness-файла = uid gadget (замена привилегированной установки)Выполнение кода с правами администратораЦелостностьДоказано в лаборатории на uid gadget. Нативный admin IL недоступен на этом хосте.
Та же подложка при размонтированииExec('gvfs.exe', 'service --unmount-all', '', ...) (Setup.iss ~544)Подложка запускается снова во время размонтированияЦелостностьДоказано в лаборатории. unmount-resolved=cwd-plant.
Продолжение установки после подложкиПодложка завершается с кодом 0 и пишет только canaryУстановка продолжаетсяДоступность установкиДоказано в лаборатории. Текст witness — VFS-INSTALL-CWD-WITNESS. Полезной нагрузки нет.

Закрыто на этом остатке: перемонтирование {app}\gvfs.exe (remount-resolved=app, remount-plant=no). Закавыченный {sys}\SC.EXE (sc-resolved=sys). Поиск только в POSIX PATH (unix-cwd-search=no). Живой SetupGVFS*.exe / ProjFS (этот хост — macOS; how=gadget). Удалённое неаутентифицированное выполнение. Незакавыченный ImagePath CVE-2021-47874 (уже закавыченный binPath).

Другие остатки на том же пине: vfs-quote-breakout, vfs-mount-dehydrate, vfs-clone-acl, vfs-service-sid, vfs-hook-impersonate.

Как я это нашёл

Я зафиксировал VFSForGit master ab95cf51 после слияния 2026-09-28. Список пропуска — CVE-2021-47874. Setup.iss уже закавычивает binPath и квалифицирует {sys}\SC.EXE и {app}\gvfs.exe. PrepareToInstall всё ещё передаёт голый gvfs.exe в cmd.exe.

Уже зафиксированные ошибочные пути: повторная подача CVE-2021-47874; трактовка поиска только в POSIX PATH как Windows-бага; утверждение, что перемонтирование тоже неквалифицировано. Театр. Нативной Windows не было, поэтому лаборатория — это gadget из ExecWithResult плюс поиск cmd CWD-then-PATH.

Лаборатория

python3 vfs-install-cwd-Abraxas-Labs.py

или

cd lab
./run.sh

Gadget HTTP на 127.0.0.1:19680. Witness VFS-INSTALL-CWD-WITNESS. Последняя строка использует how=gadget.

SUCCESS vfs-install-cwd how=gadget prepare-resolved=cwd-plant prepare-witness=yes remount-resolved=app remount-plant=no unix-cwd-search=no VFS-INSTALL-CWD-WITNESS

Исправление

ExpandConstant('{app}\gvfs.exe'), если он присутствует, иначе пропустить запрос list-mounted при первой установке. Никогда не передавайте голый gvfs.exe в cmd.exe. Квалифицируйте UnmountRepos таким же образом.

Ссылки

  • github.com/microsoft/VFSForGit master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a
  • Setup.iss PrepareToInstall / UnmountRepos / {sys}\SC.EXE / {app}\gvfs.exe
  • Рядом исправлено (не этот exec): CVE-2021-47874 незакавыченный ImagePath
  • CWE-427 · CWE-428

Лицензия

GNU Affero GPL v3.0. См. LICENSE. Только loopback-лаборатория. Без гарантий.

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