Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
vfs-clone-acl — VFS para Git ab95cf51 - Alta - Local - Privilégio remanescente - clone Authenticated Users GENERIC_WRITE | Kitploit
Ferramentas/GitHubGitHub/abraxas/vfs-clone-acl
Escalada de PrivilégiosAnálise de VulnerabilidadesExploraçãoTestes de PenetraçãoPapers e PesquisaConfiguração IncorretaRed Teaming
GitHubabraxas/vfs-clone-acl

vfs-clone-acl

VFS para Git ab95cf51 - Alta - Local - Privilégio remanescente - clone Authenticated Users GENERIC_WRITE

Ver Repositório
8há 3 diasAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Abraxas Labs - vfs-clone-acl

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

vfs-clone-acl

Classe: Privilégio remanescente Alcance: Local

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

CloneVerb cria PrimaryEnlistmentRoot com TryCreateDirectoryAccessibleByAuthUsers. Esse helper adiciona NT AUTHORITY\Authenticated Users GENERIC_READ|WRITE|EXECUTE|DELETE com ContainerInherit|ObjectInherit. O comentário fala sobre acesso elevado vs não elevado para o mesmo usuário. O SID é todo usuário autenticado.

Depois que a vítima executa gvfs clone, outro usuário logado pode escrever nessa árvore, incluindo src\.git\hooks. O repositório permanece pertencente à vítima, então o safe.directory do git não bloqueia.

IDsem CVE ainda
ClassePrivilégio remanescente (ACL de diretório excessivamente permissiva / plantio de hook)
AlcanceLocal
CWECWE-732, CWE-276
CVSSAlto: 7.8 CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
ProdutoVFS for Git
Afetadomaster ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (tag v2.0.26259.1). Somente Windows.
AutenticaçãoLocal. A vítima executa gvfs clone. O atacante é outro usuário autenticado.
LicençaGNU Affero GPL v3.0
LabSomente 127.0.0.1. how=gadget (sem Windows nativo / ProjFS).

Este é um RCE no host local como o clonador no próximo hook do git/GVFS. Não é um shell SYSTEM. O lab apenas plantou um arquivo canário; não executou um hook.

O que um atacante pode fazer

A vítima clonou com GVFS. O atacante é outro principal Authenticated Users logado.

PrivilégioMétodo / sinkO que concedeRecon / integridade / disponibilidadeComprovado em lab ou inferido
Herdar GENERIC_WRITE na raiz do enlistmentCloneVerb chama TryCreateDirectoryAccessibleByAuthUsers(PrimaryEnlistmentRoot)Todo usuário autenticado pode escrever na árvoreIntegridadeComprovado em lab no gadget. A linha do icacls é NT AUTHORITY\Authenticated Users:(OI)(CI)(GR,GW,GE,D), SID S-1-5-11, máscara 0xe0010000
Herdar essa ACE para os filhos, incluindo .git/hooksContainerInherit | ObjectInheritO diretório de hooks é gravável pelo atacanteIntegridadeComprovado em lab. authusers_hooks=yes
Plantar um arquivo em src/.git/hooks como o atacanteescrever VFS-CLONE-ACL-WITNESSCanário no diretório de hooks pertencente à vítimaIntegridadeComprovado em lab. O proprietário é o uid 1001 do atacante, o texto é o witness
Executar um hook plantado como a vítima no próximo comando git/GVFSsobrescrever pre-command / loader do GVFS em um clone descartávelCódigo no host como o clonadorIntegridadeInferido. O lab apenas plantou um arquivo canário; não executou um hook
Escrever o cache de objetos local da mesma formaLocalCacheResolver.cs mesmo helperA árvore de cache é gravável por Auth UsersIntegridadeInferido. O lab clonou apenas a raiz do enlistment
Negativo: ACL somente do proprietário0700, sem ACE de Authenticated UsersEscrita do atacante negadaFechadoComprovado em lab fechado. A escrita do atacante é EACCES
other:: gravável por todosn/aEscrita POSIX otherFechadoComprovado em lab fechado. other_write=no
Escrita remota não autenticadan/aEscrita pela redeFechadoSegundo login local
Shell SYSTEMn/aLocalSystemFechadoO próximo hook executa como o clonador, não como LocalSystem

Outros remanescentes do mesmo pin: vfs-quote-breakout, vfs-mount-dehydrate, vfs-service-sid, vfs-hook-impersonate, vfs-install-cwd.

Como eu encontrei

Eu fixei o master do VFSForGit ab95cf51 após o merge de 2026-09-28. O clone cria a raiz do enlistment com um helper cujo comentário é sobre split-token do UAC. O SID é AuthenticatedUserSid. Isso é todo usuário logado, não o usuário criador.

Caminhos errados já registrados: tratar isso como gravável por todos other:: (não é; o other POSIX não tinha escrita); alegar SYSTEM; executar um hook plantado no lab. Teatro. O Windows nativo estava ausente, então o lab é um gadget dessas funções como uma ACL de grupo nomeado POSIX.

Lab

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

ou

cd lab
./run.sh

Gadget HTTP em 127.0.0.1:19650. Copia TryCreateDirectoryAccessibleByAuthUsers e aplica a mesma ACE como uma ACL de grupo nomeado POSIX (authusers). A última linha usa 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

A correção

Conceda ao usuário criador (e opcionalmente aos Administrators para o UAC), não a AuthenticatedUserSid. O equivalente no icacls é (OI)(CI)(M) somente para o proprietário.

Referências

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

Licença

GNU Affero GPL v3.0. Veja LICENSE. Somente lab em loopback. Sem garantia.

Baixar ferramenta