Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
vfs-install-cwd — VFS per Git ab95cf51 - Alta - Locale - LPE - directory di lavoro del programma di installazione non qualificata gvfs.exe | Kitploit
Strumenti/GitHubGitHub/abraxas/vfs-install-cwd
Escalation di PrivilegiAnalisi delle VulnerabilitàExploitPenetration TestingPaper e RicercaRed Teaming
GitHubabraxas/vfs-install-cwd

vfs-install-cwd

VFS per Git ab95cf51 - Alta - Locale - LPE - directory di lavoro del programma di installazione non qualificata gvfs.exe

Vedi Repository
64 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Abraxas Labs - vfs-install-cwd

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

vfs-install-cwd

Classe: LPE Portata: Locale

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

Setup.iss PrepareToInstall chiama sempre ExecWithResult('gvfs.exe', 'service --list-mounted', '', ...) tramite {cmd} /S /C con WorkingDir vuota. Questa eredita la directory dalla quale l'amministratore ha avviato SetupGVFS*.exe. cmd.exe cerca nella CWD e poi nel PATH. UnmountRepos usa lo stesso nome non qualificato.

Lo stesso file qualifica già i percorsi sicuri. sc.exe è {sys}\SC.EXE. Il remount post-installazione è {app}\gvfs.exe. Alla prima installazione non esiste ancora un vero gvfs.exe nel PATH, quindi un file piantato accanto all'installer firmato vince.

IDnessuna CVE al momento
ClasseLPE (ricerca nella CWD dell'installer elevato / exec non qualificato)
PortataLocale (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
ProdottoVFS for Git
Affettomaster ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (tag v2.0.26259.1). Solo Windows.
AuthLocale. Pianta gvfs.exe nella directory dalla quale un amministratore avvia SetupGVFS*.exe.
LicenzaGNU Affero GPL v3.0
LabSolo 127.0.0.1. how=gadget (nessun SetupGVFS*.exe nativo).

Gemello di CVE-2021-47874 (binPath non quotato), sink diverso. sc.exe e il percorso di remount su questo pin sono già qualificati.

Cosa può fare un attaccante

Pianta un gvfs.exe benigno accanto all'installer firmato. Quando un amministratore avvia il setup da quella cartella, PrepareToInstall esegue il file piantato come installer elevato.

PrivilegioMetodo / sinkCosa concedeRecon / integrità / disponibilitàProvato in lab o dedotto
Ereditare la CWD dell'installerExecWithResult con WorkingDir vuota (Setup.iss ~830)La ricerca parte dalla cartella di avvioIntegrità dell'ordine di ricercaProvato in lab. Gadget working_dir="", ricerca cwd-then-path.
Risolvere gvfs.exe non qualificato dalla CWD prima del PATHcmd.exe /S /C ""gvfs.exe" service --list-mounted > ..."Il file piantato vince sul PATHIntegritàProvato in lab. prepare-resolved=cwd-plant, risolto /lab/cwd/gvfs.exe. La copia nel PATH non è stata colpita.
Eseguire come installer elevatoProprietario del file witness = uid del gadget (sostituto del setup elevato)Esecuzione di codice equivalente ad adminIntegritàProvato in lab sull'uid del gadget. IL admin nativo non disponibile su questo host.
Stesso file piantato sull'unmountExec('gvfs.exe', 'service --unmount-all', '', ...) (Setup.iss ~544)Il file piantato viene eseguito di nuovo durante l'unmountIntegritàProvato in lab. unmount-resolved=cwd-plant.
Continuare il setup dopo il file piantatoIl file piantato esce con 0 e scrive solo un canaryIl setup procedeDisponibilità dell'installazioneProvato in lab. Il testo del witness è VFS-INSTALL-CWD-WITNESS. Nessun payload.

Chiusi su questo residuo: remount {app}\gvfs.exe (remount-resolved=app, remount-plant=no). {sys}\SC.EXE quotato (sc-resolved=sys). Ricerca solo nel PATH POSIX (unix-cwd-search=no). SetupGVFS*.exe / ProjFS live (questo host è macOS; how=gadget). Exec remoto non autenticato. ImagePath non quotato CVE-2021-47874 (binPath già quotato).

Altri residui dello stesso pin: vfs-quote-breakout, vfs-mount-dehydrate, vfs-clone-acl, vfs-service-sid, vfs-hook-impersonate.

Come l'ho trovato

Ho fissato VFSForGit master ab95cf51 dopo il merge del 2026-09-28. La skip list è CVE-2021-47874. Setup.iss quota già binPath e qualifica {sys}\SC.EXE e {app}\gvfs.exe. PrepareToInstall passa ancora un gvfs.exe nudo a cmd.exe.

Vicoli ciechi già registrati: ri-segnalare CVE-2021-47874; trattare la ricerca solo nel PATH POSIX come il bug di Windows; sostenere che anche il remount sia non qualificato. Teatro. Windows nativo era assente, quindi il lab è un gadget di ExecWithResult più la ricerca CWD-then-PATH di cmd.

Lab

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

oppure

cd lab
./run.sh

Gadget HTTP su 127.0.0.1:19680. Witness VFS-INSTALL-CWD-WITNESS. L'ultima riga 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 correzione

ExpandConstant('{app}\gvfs.exe') quando presente, altrimenti saltare la query list-mounted alla prima installazione. Non passare mai un gvfs.exe nudo a cmd.exe. Qualificare UnmountRepos allo stesso modo.

Riferimenti

  • github.com/microsoft/VFSForGit master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a
  • Setup.iss PrepareToInstall / UnmountRepos / {sys}\SC.EXE / {app}\gvfs.exe
  • Vicino già corretto (non questo exec): CVE-2021-47874 ImagePath non quotato
  • CWE-427 · CWE-428

Licenza

GNU Affero GPL v3.0. Vedi LICENSE. Solo lab su loopback. Nessuna garanzia.

Scarica lo strumento