
Escáner ToolShell - CVE-2025-53770 e información de detección
100% improvisado con todos los tweets que circulan con payloads y diferentes ataques, por lo que viene sin garantía, etc. El escáner está diseñado para identificar instancias vulnerables y tiene una configuración con usos conocidos de explotación en el entorno real. Está diseñado principalmente para uso defensivo, para identificar instancias vulnerables y permitirte parchearlas.
Este escáner realiza comprobaciones automatizadas de implementaciones de SharePoint mediante:
SP2013: WEBSER~1\15\ vs SP2016+: WEBSER~1\16\)git clone https://github.com/ZephrFish/CVE-2025-53770-Scanner
cd CVE-2025-53770-Scanner
pip install -r requirements.txt
Crea un archivo de texto con los hosts objetivo (uno por línea):
sharepoint1.example.com
sharepoint2.example.net
internal-sp.company.local
Ejecuta el escáner:
python3 scanner.py -i hosts.txt
python3 scanner.py -i hosts.txt -o results.json -l scan.log -t 20 -v
| Opción | Descripción | Por Defecto |
|---|---|---|
-i, --input | Ruta al archivo de lista de hosts (requerido) | - |
-o, --output | Archivo de salida para resultados (.json, .csv, .txt) | None |
-l, --logfile | Ruta del archivo de log para registro detallado | None |
-t, --threads | Número de hilos concurrentes | 10 |
-v, --verbose | Habilitar salida detallada y registro | False |
-o results.json)[
{
"host": "sharepoint.example.com",
"url": "https://sharepoint.example.com/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx",
"scan_time": "2025-07-21T10:30:00.123456",
"vulnerable": true,
"status_code": 200,
"response_size": 15432,
"error": null,
"response_time": 1.23
}
]
-o results.csv)Proporciona datos tabulares adecuados para análisis en hojas de cálculo con columnas para todas las métricas de escaneo.
-o results.txt)Formato legible con estado de vulnerabilidad y detalles del escaneo.
CVE-2025-53770 apunta a una vulnerabilidad de deserialización en el componente ExcelDataSet de SharePoint que ha sido explotada activamente en el entorno real. El escáner detecta:
/_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx con payload serializadoValidationKey|Validation|DecryptionKey|Decryption|CompatibilityMode
Ejemplo: [128-256 caracteres hex]|HMACSHA256|[48-96 caracteres hex]|AES|Framework45
spinstall0.aspx para acceso persistente y extracción de claveMozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0/_layouts/SignOut.aspxEl escáner analiza las respuestas en busca de:
$ python3 scanner.py -i corporate-sharepoint.txt -o vuln-results.json -l scan.log -v
Iniciando escaneo de 150 hosts con 10 hilos...
Objetivo CVE: CVE-2025-53770 (deserialización de ExcelDataSet en SharePoint)
Registrando en: scan.log
Los resultados se guardarán en: vuln-results.json
[+] VULNERABLE [CRÍTICO]: sp-prod-01.acme.local
[-] No vulnerable: sp-dev-02.acme.local
[!] ERROR: offline-sp.acme.local - Tiempo de conexión agotado
[+] VULNERABLE [ALTA]: sp-legacy.acme.local
Progreso: 50/150 (33.3%)
Progreso: 100/150 (66.7%)
Progreso: 150/150 (100.0%)
============================================================
ESCANEO COMPLETADO
============================================================
Total de hosts escaneados: 150
Hosts vulnerables: 3
Tasa de éxito: 97.3%
HOSTS VULNERABLES (CVE-2025-53770):
CRÍTICO - CLAVE DE MÁQUINA EXTRAÍDA (1 hosts):
• sp-prod-01.acme.local (Tiempo de respuesta: 0.85s, Versión: 2016+)
ADVERTENCIA: SE REQUIERE ACCIÓN INMEDIATA: Claves de máquina comprometidas
ALTA CONFIANZA (1 hosts):
• sp-legacy.acme.local (Tiempo de respuesta: 1.23s, Versión: 2013-2016)
BAJA CONFIANZA (1 hosts):
• sp-archive.acme.local (Tiempo de respuesta: 2.10s, Versión: Desconocida)
Resultados detallados guardados en: vuln-results.json
Habilitar registro detallado (-v) y archivos de log (-l) para solucionar problemas detallados:
tail -f scan.log
El escáner incorpora detección de patrones de explotación confirmados observados en ataques activos:
POST /_layouts/15/ToolPane.aspx?DisplayMode=Edit&a=/ToolPane.aspx HTTP/1.1
Host: target.domain.com
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:120.0) Gecko/20100101 Firefox/120.0
Content-Length: 7699
Content-Type: application/x-www-form-urlencoded
Referer: /_layouts/SignOut.aspx
Connection: close