CSIRT Toscana

ToolShell: rilevato sfruttamento in rete di vulnerabilità in SharePoint (AL01/250721/CSIRT-ITA)

Data:
30 Luglio 2025

Impatto Sistemico

Critico (79.23)

Sintesi

Microsoft ha rilasciato aggiornamenti di sicurezza per 2 vulnerabilità che interessano il prodotto SharePoint, nota piattaforma di collaborazione e gestione file. Nel dettaglio, la CVE-2025-53770 risulta sfruttata attivamente in rete: causata dalla deserializzazione di dati non attendibili, consente a un attaccante remoto non autenticato di eseguire codice arbitrario sulle istanze target.

Note : un Proof of Concept (PoC) per lo sfruttamento della CVE-2025-53770 risulta disponibile in rete.

Tipologia

  • Authentication Bypass
  • Remote Code Execution
  • Spoofing

Descrizione e potenziali impatti

Microsoft ha recentemente individuato lo sfruttamento in rete di una vulnerabilità con gravità “critica”, identificata tramite la CVE‑2025‑53770 con score CVSS v3.x pari a 9.8, di tipo “Remote Code Execution”, che interessa il prodotto SharePoint Server. Tale vulnerabilità è causata da una deserializzazione di dati non attendibili all’interno del framework ASP.NET, che SharePoint utilizza per la gestione dei propri contenuti e delle componenti dell’interfaccia utente.

L’attacco, che non richiede autenticazione, viene condotto tramite richieste HTTP di tipo POST opportunamente predisposte verso la risorsa:

/_layouts/15/ToolPane.aspx?DisplayMode=Edit

pagina utilizzata per visualizzare e modificare le Web Part, componenti modulari di SharePoint.

Tale risorsa utilizza un campo nascosto chiamato __VIEWSTATE , utilizzato per mantenere lo stato della pagina tra le varie richieste HTTP mediante la serializzazione di oggetti .NET. Qualora tali dati non siano adeguatamente firmati o validati, un attaccante può sottomettere un payload malevolo che, una volta deserializzato dal server, consente l’esecuzione di codice arbitrario sul sistema interessato.

Prodotti e/o versioni affette

  • Microsoft SharePoint Server Subscription Edition
  • Microsoft SharePoint Server 2019
  • Microsoft SharePoint Server 2016

Azioni di mitigazione

In linea con le dichiarazioni del vendor, si raccomanda di aggiornare i prodotti vulnerabili seguendo le indicazioni dei bollettini di sicurezza riportati nella sezione Riferimenti.

In aggiunta il si raccomanda di:

  • monitorare e bloccare richieste POST verso ToolPane.aspx contenenti valori anomali nel campo __VIEWSTATE;
  • verificare che il meccanismo di sicurezza AMSI (Antimalware Scan Interface) sia attivo;
  • procedere con la rotazione delle machine keys di ASP.NET;
  • riavviare IIS in tutti i server SharePoint tramite iisreset.exe.

Infine, si raccomanda di valutare la verifica e l’implementazione – sui propri apparati di sicurezza – degli Indicatori di Compromissione (IoC)[1] forniti da Microsoft e dal CISA e di quelli riportati nell’apposita sezione e in allegato.

Azioni di rilevamento

A scopo di rilevazione proattiva di potenziali compromissioni relative a Microsoft SharePoint, si condivide la seguente regola YARA di terze parti, pubblicata dal repository open source signature-base di Florian Roth :

ed una seconda regola Yara sviluppata dallo CSIRT Italia:

rule webshell_toolshell1 {    meta:        uuid = "1d6e3973-ac25-42db-a70e-d50d28dd5782"        author = "CSIRT Italia - Agenzia per la Cybersicurezza Nazionale (ACN)"        description = "Detection of a webshell deployed during a Toolshell attack aimed at extracting machine keys"        reference = "https://www.acn.gov.it/portale/w/toolshell-rilevato-sfruttamento-in-rete-di-vulnerabilita-in-sharepoint"        version = "1"        // Defines whether the rule applies only to memory scans or can be used for both memory and disk scans:        // - true: The rule applies only to memory scans, i.e. running processes.        // - false: The rule can be used for both memory and disk scans.        memory_only = false        // <critical>: should never trigger a false positive and be of high relevance        // <high>: trigger on threats of high relevance that have to be reviewed manually (rare false positives)        // <low> and <medium>: indicate suspicious activity        // <informational>: have informative character and are used to identify a broad characteristic of a sample (i.e. "UPX packed", "written in Golang", etc.)        severity = "high"        // The TLP (Traffic Light Protocol) level of the rule, indicating the sensitivity of the information:        // - <clear>: there is no limit on disclosure, recipients can spread this to the world.        // - <green>: recipients can spread this within their community        // - <amber>: recipients can only spread this on a need-to-know basis within their organization and its clients        // - <amber+strict>: recipients can only spread this on a need-to-know to the organization only        // - <red>: for the eyes and ears of individual recipients only, no further disclosure        tlp = "clear"        // The Permissible Actions Protocol (PAP) was designed to indicate how the received information can be used:        // - <clear>: no restrictions in using this information        // - <green>: active actions allowed. Recipients may use this rule to information to block incoming/outgoing traffic from/to the target or specifically configure honeypots to interact with the target        // - <amber>: passive cross check. Recipients may use this rule for conducting online checks, like using services provided by third parties (e.g. Virus Total), or set up a monitoring honeypot        // - <red>: Non-detectable actions only. Recipients may not use this rule on the network. Only passive actions on logs/files/, that are not detectable from the outside        pap = "clear"    strings:        $webshell1 = "ValidationKey" ascii xor        $webshell2 = "Validation" ascii xor        $webshell3 = "DecryptionKey" ascii xor        $webshell4 = "Decryption" ascii xor        $webshell5 = "CompatibilityMode" ascii xor        $webshell6 = "CODEPAGE=\"65001\"" ascii xor        $webshell7 = "MachineKeySection" ascii xor        $webshell8 = "System.Web.Configuration" ascii xor        $webshell9 = "System.Reflection" ascii xor        $webshell10 = "GetApplicationConfig" ascii xor        $asp1 = "CODEPAGE" ascii        $asp2 = "<script"        $asp3 = "runat"        $asp4 = "c#"        $asp5 = "System.IO"        $asp6 = "System.Diagnostics"        $asp7 = "Import Namespace"        $asp8 = "<%@"        $asp9 = "Page_load"        $exclude_itself = "1d6e3973-ac25-42db-a70e-d50d28dd5782" ascii    condition:        7 of ($asp*) and        5 of ($webshell*) and        not $exclude_itself and        filesize < 5KB}

Inoltre, si raccomanda di eseguire la seguente query KQL, fornita da Microsoft, al fine di verificare l’integrità dei propri sistemi:

DeviceFileEvents| where FolderPath has_any (@'microsoft shared\Web Server Extensions\16\TEMPLATE\LAYOUTS', @'microsoft shared\Web Server Extensions\15\TEMPLATE\LAYOUTS')| where FileName has "spinstall0"| project Timestamp, DeviceName, InitiatingProcessFileName, InitiatingProcessCommandLine, FileName, FolderPath, ReportId, ActionType, SHA256| order by Timestamp desc

Infine, si condivide la seguente regola Snort, sviluppata dal CSIRT Italia, utile per il rilevamento di tentativi di sfruttamento della catena d’attacco ToolShell:

alert http $EXTERNAL_NET any -> $HOME_NET [80,443] (    msg:"CSIRT ITALIA - Detects exploit attempt leveraging the ToolShell attack chain to target SharePoint";    reference:url,https://www.acn.gov.it/portale/w/toolshell-rilevato-sfruttamento-in-rete-di-vulnerabilita-in-sharepoint;    classtype:web-application-attack;    priority:1;    service:http;    flow:to_server,established;    http_method;    content:"POST",fast_pattern,nocase;    http_uri:path;    content:"_layouts",fast_pattern,nocase;    content:"ToolPane.aspx",fast_pattern,nocase;    pcre:"/(?:\/_layouts/1(?:[2456])/ToolPane.aspx\/?)/i";    http_header:field referer;    content:"_layouts",fast_pattern,nocase;    content:"SignOut.aspx",fast_pattern,nocase;    pcre:"/(?:\/_layouts\/(?:1[2456]\/)?SignOut\.aspx)/i";    http_uri:query;    pcre:"/DisplayMode\=Edit/i";    pcre:"/a\=\/ToolPane\.aspx/i";    http_client_body;    content:"MSOtlPn_Uri",nocase;    content:"MSOtlPn_DWP",nocase;    sid:3330002;    rev:2;)

NB : Si raccomanda di validare e testare preventivamente la regola in ambienti controllati, in particolare per le installazioni basate su Snort 3 , assicurandosi che il SID utilizzato non sia già impiegato da altre firme.

[1] Per definizione, non tutti gli indicatori di compromissione sono malevoli. Questo CSIRT non ha alcuna responsabilità per l’attuazione di eventuali azioni proattive (es. inserimento degli IoC in blocklist) relative agli indicatori forniti. Le informazioni contenute in questo documento rappresentano la migliore comprensione della minaccia al momento del rilascio.

Di seguito sono riportate le sole CVE relative alle vulnerabilità con gravità “alta”:

Riferimenti

Indicatori di compromissione

Tipologia Indicatore
ip-dst 104.238.159.149
sha256 10e01ce96889c7b4366cfa1e7d99759e4e2b6e5dfe378087d9e836b7278abfb6
ip-dst 131.226.2.6
ip-dst 134.199.202.205
sha256 16ab7df48f59b7b7eed79c50a481d60b81a2435119b71d86a912eb995957116a
ip-dst 188.130.206.168
sha256 27c45b8ed7b8a7e5fff473b50c24028bd028a9fe8e25e5cea2bf5e676e531014
sha256 2fd1ed367720a9cbe0cfcd98950f98a0dc366e0c2cc61555fbc6fe13ad152947
sha256 30955794792a7ce045660bb1e1917eef36f1d5865891b8110bf982382b305b27
sha256 4a02a72aedc3356d8cb38f01f0e0b9f26ddc5ccb7c0f04a561337cf24aa84030
sha256 6146a87a07f11945240e253a53f235dfd5bc601590dc9f1376e5c94a21b194a0
sha256 92bb4ddb98eeaf11fc15bb32e71d0a63256a0ed826a03ba293ce3a8bf057a514
url \1[5-6]\TEMPLATE\LAYOUTS\debug_dev.js
sha256 b336f936be13b3d01a8544ea3906193608022b40c28dd8f1f281e361c9b64e93
sha256 b39c14becb62aeb55df7fd55c814afbb0d659687d947d917512fe67973100b70
url c34718cbb4c6.ngrok-free.app/file.ps1
filename debug_dev.js
sha256 f49e29842ef277bbc659c66cbc0c0f255a5d3818402ba106b88a9268f1f8f245
sha256 fa3a74a6c015c801f5341c02be2cbdfb301c6ed60633d49fc0bc723617741af7
filename Spinstall0.aspx

Change log

Versione Note Data
1.0 Pubblicato il 21-07-2025 21/07/2025
1.1 Aggiunti IoC 21/07/2025
1.2 Aggiornamento sezione “Sintesi”. Aggiunta nota per rilevamento di un PoC per lo sfruttamento della CVE-2025-53770. 21/07/2025
1.3 Aggiunti contenuti nella sezione Riferimenti 22/07/2025
1.4 Aggiunti IoC 23/07/2025
1.5 Inserimento Yara rule, query KQL e regola Snort 23/07/2025
1.6 Aggiunto Riferimento al blog microsoft dedicato e dettagli inerenti alla distribuzione di Warlock ransomware 25/07/2025
1.7 Aggiunti ulteriori IoC in formato JSON in allegato 30/07/2025
1.41 Aggiunti ulteriori IoC 23/07/2025
1.51 Aggiunti ulteriori IoC 23/07/2025
1.61 Aggiunte TTP 25/07/2025
1.62 Aggiornata regola SNORT alla rev2 28/07/2025
1.63 Aggiunta regola Yara dello CSIRT Italia 28/07/2025

Il presente articolo è un prodotto originale di csirt.gov.it, riproposto qui a solo scopo di aumentarne la visibilità. Può essere visualizzato in versione originale al seguente link

Ultimo aggiornamento

30 Luglio 2025, 11:00