
mcp-attack-detection-sentinel — Actualizado!
Laboratorio de detección de Sentinel para cadenas de ataque de MCP: robo de tokens por SSRF CVE-2026-26118, envenenamiento de herramientas, exfiltración entre servidores, post-explotación de identidad. Se correlaciona con OWASP Agentic Top 10. 5 reglas de análisis, 7 consultas de hunting, libro de trabajo. Complemento de nineliveszerotrust.com.
Detección de ataques MCP — Laboratorio de investigación de Sentinel
Investigación de detección de Sentinel para patrones de ataque de MCP (Protocolo de Contexto de Modelo): acceso de identidad inusual tras un evento relacionado con MCP, mutación de la definición de herramientas, acceso entre recursos y posible comportamiento posterior a la explotación. Las reglas se asignan al OWASP Top 10 para Aplicaciones Agénticas (2026).
Estado de publicación: este repositorio no cuenta actualmente con un artículo complementario publicado de Nine Lives y, a propósito, no aparece en el catálogo de Labs del sitio web. Sigue siendo un elemento de investigación independiente.
La regla CVE-2026-26118 es una heurística basada en el comportamiento que se apoya en la divulgación de SSRF del servidor MCP de Azure. No prueba que la CVE haya sido explotada ni que se haya robado un token. Microsoft describe el problema como un SSRF que puede permitir que un atacante de red autorizado eleve privilegios; los rangos de paquetes afectados y el aviso del proveedor están registrados por NIST NVD.
Qué se implementa
| Recurso | Tipo | OWASP Agéntico |
|---|---|---|
| LAB - MCP SSRF-Informed Identity Access Anomaly (CVE-2026-26118) | Regla de análisis de comportamiento (alta) | ASI03 |
| LAB - MCP Tool Definition Mutation (Rug Pull Detection) | Regla de análisis (alta) | ASI01, ASI04 |
| LAB - MCP Cross-Server Data Exfiltration Pattern | Regla de análisis (media) | ASI02, ASI03 |
| LAB - Anomalous MCP Tool Invocation Spike | Regla de análisis (media) | ASI02 |
| LAB - MCP Identity Post-Exploitation Chain | Regla de análisis (alta) | ASI03 |
| MCP Attack Detection — Security Posture | Libro de trabajo | Todas |
| 7 consultas de búsqueda de amenazas | KQL (manual) | ASI01–ASI07 |
Cobertura de MITRE ATT&CK
| Técnica | ID | Regla / Consulta |
|---|---|---|
| Cuentas válidas: nube | T1078.004 | Identity Access Anomaly, Post-Exploitation Chain |
| Adversario en el medio | T1557 | Contexto para la búsqueda de comunicaciones entre agentes; la propia consulta detecta brechas en el acceso condicional, no intercepción |
| Compromiso de la cadena de suministro | T1195.002 | Tool Definition Mutation, Supply Chain |
| Datos del almacenamiento en la nube | T1530 | Cross-Server Exfiltration |
| Credenciales no seguras | T1552 | Cross-Server Exfiltration, Post-Exploitation |
| API de la nube | T1059.009 | Invocation Spike, Code Execution |
| Ejecución sin servidor | T1648 | Code Execution |
| Manipulación de datos almacenados | T1565.001 | Memory & Context Poisoning |
Inicio rápido
# Review the exact plan. This performs no mutations.
./scripts/Deploy-Lab.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab" `
-WhatIf
# Deploy analytics rules (disabled), hunting queries, and workbook.
./scripts/Deploy-Lab.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab"
# After reviewing the queries, opt in to enabling the rules.
./scripts/Deploy-Lab.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab" `
-EnableRules
# Validate the exact manifest-owned deployment.
./scripts/Test-MCPDetections.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab"
Requisitos previos
- Suscripción de Azure con Microsoft Sentinel habilitado
- Configuración de diagnóstico de Entra ID:
AuditLogs,ServicePrincipalSignInLogs,ManagedIdentitySignInLogs - Conector de Azure Activity Log habilitado en Sentinel
- PowerShell 7.0+ con la CLI de Azure
- Roles suficientes para administrar reglas de análisis de Sentinel, búsquedas guardadas de Log Analytics y libros de trabajo en el grupo de recursos de destino. Utilice las asignaciones de roles específicas del inquilino más restringidas que satisfagan esas operaciones.
Modelo de seguridad y propiedad
- Todos los ID de reglas y libros de trabajo son deterministas y están limitados al espacio de trabajo exacto.
- La implementación escribe un manifiesto
.mcp-attack-detection-state.jsonde solo propietario antes de la primera mutación en la nube. - Los recursos existentes se verifican previamente antes de cualquier escritura. El script rechaza recursos con el mismo ID que no tengan la procedencia esperada y nunca los adopta sin su manifiesto.
- Las reglas de análisis se implementan deshabilitadas a menos que se proporcione
-EnableRulesexplícitamente. -WhatIfrealiza las mismas lecturas y comprobaciones de colisión sin ninguna escritura.- La limpieza usa solo ID exactos del manifiesto, valida de nuevo la procedencia y nunca busca por prefijo de nombre para mostrar, categoría o subcadena.
- Las implementaciones realizadas con una versión anterior de este repositorio no se adoptan ni se eliminan automáticamente. Realice un inventario de esos recursos manualmente antes de usar esta versión.
Fuentes de datos
| Tabla | Propósito |
|---|---|
AADManagedIdentitySignInLogs | Investigar patrones de acceso inusuales de identidades administradas con nombres de MCP |
AADServicePrincipalSignInLogs | Supervisar los patrones de autenticación de las entidades de servicio de MCP |
AzureActivity | Realizar un seguimiento de las operaciones de recursos, implementaciones y cambios de configuración de MCP |
Limpieza
./scripts/Deploy-Lab.ps1 `
-ResourceGroup "rg-sentinel-lab" `
-WorkspaceName "law-sentinel-lab" `
-Destroy
Ejecute el mismo comando con -WhatIf primero para obtener una vista previa de las eliminaciones exactas. La limpieza falla de forma segura si el manifiesto está ausente, apunta a otra suscripción o espacio de trabajo, o si algún recurso ya no lleva la procedencia de este laboratorio.
Límite de la evidencia
Estas consultas son puntos de partida para la investigación. Se basan en heurísticas de nombres y en esquemas específicos del inquilino de Entra y Azure Activity. Valide la disponibilidad de las tablas, los nombres de los campos, las líneas base, las listas de permitidos, el costo de las consultas y el comportamiento de falsos positivos en un espacio de trabajo que no sea de producción antes de habilitarlas. Proporcionan evidencia de comportamiento sospechoso, no atribución de explotación.
Referencias
- CVE-2026-26118 — Aviso del proveedor Microsoft
- CVE-2026-26118 — Registro de NIST NVD y versiones afectadas
- OWASP Top 10 para Aplicaciones Agénticas 2026
Licencia
MIT