Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
vfs-install-cwd — VFS para Git ab95cf51 - Alta - Local - LPE - CWD del instalador no calificado gvfs.exe | Kitploit
Herramientas/GitHubGitHub/abraxas/vfs-install-cwd
Escalada de PrivilegiosAnálisis de VulnerabilidadesExplotaciónPruebas de PenetraciónPapers e InvestigaciónRed Teaming
GitHubabraxas/vfs-install-cwd

vfs-install-cwd

VFS para Git ab95cf51 - Alta - Local - LPE - CWD del instalador no calificado gvfs.exe

Ver Repositorio
6hace 4 díasAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

Abraxas Labs - vfs-install-cwd

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

vfs-install-cwd

Clase: LPE Alcance: Local

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

Setup.iss PrepareToInstall siempre llama a ExecWithResult('gvfs.exe', 'service --list-mounted', '', ...) a través de {cmd} /S /C con un WorkingDir vacío. Eso hereda el directorio desde el cual el administrador lanzó SetupGVFS*.exe. cmd.exe busca en el CWD y luego en el PATH. UnmountRepos usa el mismo nombre sin cualificar.

El mismo archivo ya cualifica las rutas seguras. sc.exe es {sys}\SC.EXE. El remontaje posterior a la instalación es {app}\gvfs.exe. La primera instalación aún no tiene un gvfs.exe real en el PATH, por lo que una plantación junto al instalador firmado gana.

IDsin CVE todavía
ClaseLPE (búsqueda en el CWD del instalador elevado / ejecución sin cualificar)
AlcanceLocal (UI:R)
CWECWE-427, CWE-428
CVSSAlto: 7.3 CVSS:3.1/AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
ProductoVFS for Git
Afectadomaster ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (etiqueta v2.0.26259.1). Solo Windows.
AuthLocal. Plantar gvfs.exe en el directorio desde el cual un administrador lanza SetupGVFS*.exe.
LicenciaGNU Affero GPL v3.0
LabSolo 127.0.0.1. how=gadget (sin SetupGVFS*.exe nativo).

Hermano de CVE-2021-47874 (binPath sin comillas), distinto sink. sc.exe y la ruta de remontaje en este pin ya están cualificados.

Qué puede hacer un atacante

Plantar un gvfs.exe benigno junto al instalador firmado. Cuando un administrador lanza el setup desde esa carpeta, PrepareToInstall ejecuta la plantación como el instalador elevado.

PrivilegioMétodo / sinkQué otorgaRecon / integridad / disponibilidadProbado en lab o inferido
Heredar el CWD del instaladorExecWithResult con WorkingDir vacío (Setup.iss ~830)La búsqueda comienza en la carpeta de lanzamientoIntegridad del orden de búsquedaProbado en lab. Gadget working_dir="", búsqueda cwd-then-path.
Resolver gvfs.exe sin cualificar desde el CWD antes que el PATHcmd.exe /S /C ""gvfs.exe" service --list-mounted > ..."La plantación gana sobre el PATHIntegridadProbado en lab. prepare-resolved=cwd-plant, resuelto /lab/cwd/gvfs.exe. La copia del PATH no fue alcanzada.
Ejecutar como el instalador elevadoPropietario del archivo testigo = uid del gadget (sustituto del setup elevado)Ejecución de código equivalente a administradorIntegridadProbado en lab sobre el uid del gadget. IL de administrador nativo no disponible en este host.
La misma plantación en el desmontajeExec('gvfs.exe', 'service --unmount-all', '', ...) (Setup.iss ~544)La plantación se ejecuta de nuevo durante el desmontajeIntegridadProbado en lab. unmount-resolved=cwd-plant.
Continuar el setup tras la plantaciónLa plantación sale con 0 y solo escribe un canarioEl setup continúaDisponibilidad de la instalaciónProbado en lab. El texto testigo es VFS-INSTALL-CWD-WITNESS. Sin payload.

Cerrado en este remanente: remontaje {app}\gvfs.exe (remount-resolved=app, remount-plant=no). {sys}\SC.EXE entre comillas (sc-resolved=sys). Búsqueda solo en PATH de POSIX (unix-cwd-search=no). SetupGVFS*.exe / ProjFS en vivo (este host es macOS; how=gadget). Ejecución remota no autenticada. ImagePath sin comillas CVE-2021-47874 (binPath ya entre comillas).

Remanentes del mismo pin: vfs-quote-breakout, vfs-mount-dehydrate, vfs-clone-acl, vfs-service-sid, vfs-hook-impersonate.

Cómo lo encontré

Fijé VFSForGit master ab95cf51 tras el merge del 2026-09-28. La lista de omisión es CVE-2021-47874. Setup.iss ya pone comillas en binPath y cualifica {sys}\SC.EXE y {app}\gvfs.exe. PrepareToInstall todavía pasa un gvfs.exe desnudo a cmd.exe.

Caminos equivocados ya registrados: volver a reportar CVE-2021-47874; tratar la búsqueda solo en PATH de POSIX como el bug de Windows; afirmar que el remontaje también está sin cualificar. Teatro. Faltaba Windows nativo, así que el lab es un gadget de ExecWithResult más la búsqueda CWD-then-PATH de cmd.

Lab

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

o

cd lab
./run.sh

Gadget HTTP en 127.0.0.1:19680. Testigo VFS-INSTALL-CWD-WITNESS. La última línea usa 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

La solución

ExpandConstant('{app}\gvfs.exe') cuando esté presente; de lo contrario, omitir la consulta de list-mounted en la primera instalación. Nunca pasar un gvfs.exe desnudo a cmd.exe. Cualificar UnmountRepos de la misma manera.

Referencias

  • github.com/microsoft/VFSForGit master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a
  • Setup.iss PrepareToInstall / UnmountRepos / {sys}\SC.EXE / {app}\gvfs.exe
  • Cercano parcheado (no esta ejecución): CVE-2021-47874 ImagePath sin comillas
  • CWE-427 · CWE-428

Licencia

GNU Affero GPL v3.0. Ver LICENSE. Solo lab en loopback. Sin garantía.

Descargar herramienta