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
- https://msrc.microsoft.com/blog/2025/07/customer-guidance-for-sharepoint-vulnerability-cve-2025-53770/
- https://www.microsoft.com/en-us/download/details.aspx?id=108285
- https://www.microsoft.com/en-us/download/details.aspx?id=108286
- https://www.cisa.gov/news-events/alerts/2025/07/20/microsoft-releases-guidance-exploitation-sharepoint-vulnerability-cve-2025-53770
- https://www.microsoft.com/en-us/download/details.aspx?id=108287
- https://www.microsoft.com/en-us/download/details.aspx?id=108288
- https://www.microsoft.com/en-us/download/details.aspx?id=108289
- https://github.com/Neo23x0/signature-base/blob/master/yara/expl_sharepoint_jul25.yar
- https://www.microsoft.com/en-us/security/blog/2025/07/22/disrupting-active-exploitation-of-on-premises-sharepoint-vulnerabilities/
CVE
CVE-ID | |
---|---|
CVE-2025-53770 | CVE-2025-53771 |
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