Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
vfs-quote-breakout — VFS for Git ab95cf51 - High - Remote - RCE - core.virtualfilesystem 작은따옴표 래핑 | Kitploit
도구/GitHubGitHub/abraxas/vfs-quote-breakout
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingCommand and ControlPapers & ResearchPayload Development
GitHubabraxas/vfs-quote-breakout

vfs-quote-breakout

VFS for Git ab95cf51 - High - Remote - RCE - core.virtualfilesystem 작은따옴표 래핑

저장소 보기
84일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Abraxas Labs - vfs-quote-breakout

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

vfs-quote-breakout

분류: RCE 도달 범위: 원격

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

CloneVerb.GetCloneRoot는 URL 경로의 마지막 세그먼트를 기본 enlistment 폴더로 사용하며 따옴표를 제거하지 않습니다. 이어서 RequiredGitConfig는 core.virtualfilesystem을 순진하게 단일 인용부호로 감싼 훅 경로로 기록합니다. microsoft/git은 이 값을 use_shell=1로 실행합니다. 제품 주석은 심지어 bash를 언급합니다.

마지막 세그먼트가 pwn';witness;'인 클론 URL은 'C:/temp/pwn';witness;'/src/.git/hooks/GVFS.VirtualFileSystemHook.exe'가 됩니다. bash는 세 개의 명령으로 인식합니다. 가운데 명령은 클론한 사용자 권한으로 실행됩니다.

ID아직 CVE 없음
분류RCE (core.virtualfilesystem의 단일 인용부호 래핑)
도달 범위원격 (공격자 URL을 UI:R로 클론하거나, 조작된 디렉터리에서 로컬 git worktree add)
CWECWE-78, CWE-116
CVSSHigh: 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
제품VFS for Git (microsoft/git 필요)
영향 받음master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (태그 v2.0.26259.1). Windows 전용.
인증피해자가 공격자 URL을 클론 (또는 조작된 디렉터리에서 git worktree add)
라이선스GNU Affero GPL v3.0
랩127.0.0.1 전용. how=gadget (Windows VM / 라이브 ProjFS 없음).

공격자가 할 수 있는 일

클론하거나 git을 실행한 사용자 권한으로 호스트 코드를 실행합니다. SYSTEM은 아닙니다. "피해자가 이 URL을 클론한다"를 건너뛰는 비인증 RCE도 아닙니다.

권한메서드 / 싱크부여하는 것무결성 / 가용성랩 입증 또는 추론
enlistment 폴더 이름 선택대상 없는 gvfs clone <url>의 마지막 경로 세그먼트 (CloneVerb.GetCloneRoot)디렉터리 이름이 공격자 선택. Windows는 '와 ; 허용대상 경로의 무결성복사된 대상 헬퍼에서 랩 입증. URL .../pwn';witness;'가 C:\temp\pwn';witness;'가 됨
core.virtualfilesystem 탈출RequiredGitConfig의 "'" + ConvertPathToGitFormat(hook) + "'" 래핑설정 값이 하나의 경로가 아닌 세 개의 셸 토큰git 설정의 무결성랩 입증. 래핑은 'C:/temp/pwn';witness;'/src/.git/hooks/GVFS.VirtualFileSystemHook.exe'
클론한 사용자 권한으로 추가 셸 명령 실행microsoft/git virtualfilesystem.c use_shell=1 (설정 값의 bash -c)클론한 사용자의 UID로 임의 호스트 명령클론 세션의 무결성 / 가용성가젯에서 랩 입증. witness가 VFS-VFS-QUOTE-WITNESS를 기록. 첫 번째와 세 번째 토큰은 존재하지 않는 경로 (rc 127)
worktree에서 동일한 래핑Program.Worktree.cs -c core.virtualfilesystem="'<path>'"클론 URL 없이 동일한 탈출무결성핀 소스에서 추론. 실행되지 않음
이후 git status / mount에서 반복InProcessMount.TrySetRequiredGitConfigSettings가 래핑을 재적용이후 git도 악성 값을 셸 실행무결성추론. 실행되지 않음

이번 잔여 항목에서 닫힌 것: 라이브 ProjFS / Microsoft git / gvfs clone (이 호스트는 macOS; how=gadget). SYSTEM. "피해자가 이 URL을 클론한다"를 건너뛰는 비인증 RCE. 이름에 '가 없는 대상, 그리고 동일한 악성 경로를 '\''로 래핑한 경우는 witness를 실행하지 않음.

동일한 핀의 잔여 항목: vfs-mount-dehydrate, vfs-clone-acl, vfs-service-sid, vfs-hook-impersonate, vfs-install-cwd.

발견 방법

2026-09-28 머지 이후 VFS for Git master ab95cf51을 핀했습니다. Microsoft는 새 배포에 Scalar를 권장합니다. 트리는 여전히 v2.0.26259.1로 태그되어 있습니다. 스킵 목록은 CVE-2021-47874 (이 핀에서 인용된 binPath)입니다. 열 번의 헌트. ProjFS 하이드레이션, GPRE 파서, 캐시 URL, FastFetch, gvfs upgrade는 이 기준에서 빈손으로 돌아왔습니다.

그다음 RequiredGitConfig를 들여다봤습니다. 주석은 bash를 문서화합니다. 래핑은 '를 이스케이프하지 않습니다. CloneVerb는 URL의 마지막 세그먼트를 대상으로 사용합니다. 그것이 잔여 항목입니다.

이미 기록된 잘못된 방향: 따옴표 없는 대상을 버그로 취급한 것 (그것은 아님); SYSTEM 주장; 리버스 셸. 연극. 네이티브 Windows가 없었으므로 랩은 해당 래핑과 bash -c의 가젯입니다.

랩

python3 vfs-quote-breakout-Abraxas-Labs.py

또는

cd lab
./run.sh

가젯 HTTP는 127.0.0.1:19630. 래핑과 대상 헬퍼를 복사한 다음, PATH를 오라클을 기록하는 witness 헬퍼로 제한한 /bin/bash -c를 실행합니다. 네이티브 Windows VM은 사용할 수 없었습니다. 마지막 줄은 how=gadget을 사용합니다.

SUCCESS vfs-quote-breakout how=gadget who=cloner naive-breakout=yes escaped-hold=yes VFS-VFS-QUOTE-WITNESS

수정

래핑 전에 '를 '\''로 이스케이프하거나, use_shell 사용을 중단하고 훅을 argv[0]으로 전달하십시오. '를 포함하는 클론 및 worktree 경로를 거부하십시오.

참고

  • github.com/microsoft/VFSForGit master ab95cf51d6ffd0ee0e2feae7180078fe9ecbbb3a (태그 v2.0.26259.1)
  • CloneVerb.cs 기본 대상
  • RequiredGitConfig.cs '를 이스케이프하지 않는 래핑
  • microsoft/git virtualfilesystem.c use_shell=1
  • 인접 패치됨 (이 래핑 아님): CVE-2021-47874 인용되지 않은 ImagePath
  • CWE-78 · CWE-116

라이선스

GNU Affero GPL v3.0. LICENSE 참조. 루프백 랩 전용. 보증 없음.

도구 다운로드