DFIR field guide: Investigating ToolShell-driven SharePoint intrusions (Talos IR Q3 2025)
Cisco Talos IR’s Q3 2025 report highlights a sharp rise in compromises that began with exploitation of on-premises Microsoft SharePoint via the ToolShell chain. More than 60% of Talos engagements involved exploitation of public-facing apps, and almost 40% showed ToolShell activity; ransomware dropped to ~20% of cases while post-exploitation phishing from compromised accounts continued to climb (Talos IR Q3 2025). Microsoft confirms active, multi-actor abuse of new SharePoint bugs (CVE-2025-53770, CVE-2025-53771) related to earlier July CVEs (CVE-2025-49704, CVE-2025-49706), and stresses that only on-prem servers are affected-not SharePoint Online (Microsoft Security TI, MSRC customer guidance). CISA added CVE-2025-53770 to the KEV catalog, underscoring exploitation in the wild (CISA KEV entry).
For DFIR, the ToolShell wave matters because adversaries often steal SharePoint MachineKey material (ValidationKey/DecryptionKey), enabling durable authentication forgery and viewstate abuse even after basic cleanup (Microsoft Security TI, Cloudflare analysis). Talos also observed Storm-2603 leveraging the open-source DFIR tool Velociraptor for persistence during ransomware operations, and notes a related Velociraptor privilege-escalation CVE-2025-6264 relevant to responders who find the tool in victim environments (Talos IR Q3 2025, NVD CVE-2025-6264).
ToolShell attack chain: what to expect on disk and in logs
Observed sequence on compromised on-prem SharePoint:
- Initial access: unauthenticated HTTP POST to the ToolPane endpoint (/_layouts/15/ToolPane.aspx or 16, depending on version) exploiting CVE-2025-53770/53771 related to earlier July fixes (Microsoft Security TI).
- Dropper/web shell: attackers upload an ASP.NET payload typically named
spinstall0.aspx(variants:spinstall.aspx,spinstall1.aspx, etc.) under the SharePoint LAYOUTS directory to extract MachineKey material (Microsoft Security TI). - Post-exploitation: w3wp.exe spawning cmd.exe and PowerShell (often with base64 encoded commands), lateral movement, credential access, and in some incidents Warlock/LockBit/Babuk deployment. Talos ties one case to Storm-2603 and notes Velociraptor abuse for persistence (Talos IR Q3 2025).
Key affected versions and scope:
- SharePoint Server 2016/2019/Subscription Edition; SharePoint Online is not affected (MSRC guidance).
Artefact locations and what to collect
Prioritize these sources on each SharePoint/WFE and related database servers:
- IIS HTTP logs (default):
%SystemDrive%\inetpub\logs\LogFiles- look for POSTs to/_layouts/15/ToolPane.aspxor/_layouts/16/ToolPane.aspx, unusual user-agents, and spikes in 200/500 around first-seen times (Microsoft Learn - IIS logging, Microsoft Security TI). - SharePoint ULS logs:
%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\16\LOGS(or15\LOGSon older farms). Use Merge-SPLogFile for time-bound aggregation (Microsoft Learn - SP2019 upgrade logs/ULS path, Microsoft Learn - ULS path references). - LAYOUTS web content directories where payloads were observed:
C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\16\TEMPLATE\LAYOUTS\(and15\TEMPLATE\LAYOUTS\on some builds). Hunt forspinstall*.aspxand other recent.aspxwith anomalous size/timestamps (MSRC hunting query showing these paths). - Windows Event Logs: Application, System, and the “Microsoft-SharePoint Products/Operational” channels for app pool resets, timer job activity, and unusual authentication messages (Microsoft Learn - SP logging references).
- Process execution and persistence: EDR telemetry for
w3wp.exespawningcmd.exe/powershell.exe -EncodedCommand, creation of Scheduled Tasks, unexpected IIS module/assembly loads, and signs of Velociraptor service/binaries if present (Microsoft Security TI, NVD CVE-2025-6264).
Quick hunts and detections
Microsoft 365 Defender (KQL) - from MSRC guidance
Look for spinstall0 creation under LAYOUTS folders (MSRC):
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, SHA256
| order by Timestamp desc
Identify suspicious PowerShell spawned by w3wp with base64 payloads (MSRC):
DeviceProcessEvents
| where InitiatingProcessFileName =~ "w3wp.exe"
| where FileName =~ "cmd.exe"
| where ProcessCommandLine has_all ("cmd.exe", "powershell")
| where ProcessCommandLine has_any ("EncodedCommand", "-ec")
Microsoft Defender detection names to watch in telemetry: Exploit:Script/SuspSignoutReq.A, Exploit:Script/SuspSignoutReqBody.A, Trojan:Win32/HijackSharePointServer.A, Trojan:PowerShell/MachineKeyFinder.DA!amsi (MSRC).
Splunk (IIS W3C logs)
Detect ToolPane exploitation attempts:
index=iis sourcetype="ms:iis:auto" OR sourcetype="iis"
| search cs_method=POST cs_uri_stem="/_layouts/*/ToolPane.aspx"
| stats count by _time, cs_uri_stem, cs_Referer, c_ip, cs_User_Agent, sc_status, sc_bytes
Post-exploit file drop into LAYOUTS (if audited/file-create telemetry is ingested):
index=edr (file_path="*\\Web Server Extensions\\16\\TEMPLATE\\LAYOUTS\\spinstall*.aspx" OR file_path="*\\Web Server Extensions\\15\\TEMPLATE\\LAYOUTS\\spinstall*.aspx")
| stats values(host) as hosts, min(_time) as first_seen, max(_time) as last_seen by file_path, sha256
Sigma (web server) - exploit touchpoint
title: SharePoint ToolShell ToolPane Exploitation Attempt
logsource:
category: webserver
product: iis
definition: Detects POSTs to ToolPane endpoint often used in ToolShell chain
detection:
sel:
cs-method: POST
cs-uri-stem|contains: "/_layouts/"
cs-uri-stem|endswith: "/ToolPane.aspx"
condition: sel
level: high
references:
- https://www.microsoft.com/en-us/security/blog/2025/07/22/disrupting-active-exploitation-of-on-premises-sharepoint-vulnerabilities/
Local scoping PowerShell (triage)
List suspicious ASPX under LAYOUTS across hives (MSRC paths):
$paths = @(
"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\16\\TEMPLATE\\LAYOUTS",
"C:\\Program Files\\Common Files\\Microsoft Shared\\Web Server Extensions\\15\\TEMPLATE\\LAYOUTS"
)
Get-ChildItem -Path $paths -Filter "spinstall*.aspx" -Recurse -ErrorAction SilentlyContinue |
Select-Object FullName, Length, CreationTimeUtc, LastWriteTimeUtc
Triage and response workflow (what to do in the first 24-72 hours)
- Immediate containment
- Remove public exposure: place affected SharePoint servers behind an auth-gated proxy/VPN or disconnect from the Internet if AMSI cannot be enabled yet (MSRC).
- Segmentation: restrict WFE↔DB server communication to known ports; Talos stresses segmentation because actors abused the trusted SharePoint DB link to pivot and drop credential stealers internally (Talos IR Q3 2025).
- Patch and harden (in this order)
- Apply the latest cumulative SharePoint updates that cover CVE-2025-53770/53771 and related July CVEs; supported versions only (Microsoft Security TI, MSRC).
- Enable AMSI integration for SharePoint and Defender AV (Full Mode) to block unauthenticated exploit traffic (MSRC).
- Rotate ASP.NET MachineKeys farm-wide and restart IIS on all SharePoint servers; this is critical because actors may already have stolen keys (MSRC, Cloudflare).
- Compromise assessment and eradication
- Hunt for
spinstall*.aspxand any recent.aspximplants under LAYOUTS; remove and retain copies for analysis (Microsoft Security TI). - Review IIS/ULS timelines to establish first exploit time. IIS default logging path and ULS locations linked above (Microsoft Learn - IIS logging, Microsoft Learn - ULS path).
- Examine process trees from
w3wp.exefor encoded PowerShell, credential access tooling, and lateral movement (PsExec/Impacket). Microsoft’s Storm-2603 case details these patterns (Microsoft Security TI). - Validate that no unauthorized Scheduled Tasks, IIS modules, or startup persistence remain; Talos also observed Velociraptor used as persistence - scrutinize any Velociraptor servers/agents and remediate versions impacted by CVE-2025-6264 (Talos IR Q3 2025, NVD CVE-2025-6264).
- Identity and email hardening (to blunt the observed follow-on phishing)
- Enforce strong MFA, detect MFA bombing/bypass, and monitor for impossible travel. Talos saw a third of cases involve MFA abuse and internal phishing from compromised mailboxes (Talos IR Q3 2025).
Ransomware and tradecraft notes for examiners
- Talos responded to Warlock, Babuk, Kraken, Qilin and LockBit variants in Q3; one Storm-2603 case chained ToolShell exploitation to ransomware and Velociraptor persistence (Talos IR Q3 2025).
- Microsoft attributes exploitation to multiple China-nexus actors (Linen Typhoon, Violet Typhoon, Storm-2603) and documents typical discovery, credential theft (LSASS/Mimikatz), lateral movement (PsExec, WMI), and GPO-based ransomware deployment (Microsoft Security TI).
Implication: if you find MachineKey theft, treat any later O365/Entra anomalies and on-prem SSO apps as potentially affected due to token forgery risk (Cloudflare).
Prevent, detect, and monitor going forward
- Patch velocity and coverage: ensure all SharePoint farms run supported versions with current updates for CVE-2025-53770/53771 and July CVEs; validate AMSI Full Mode is enabled on SharePoint (2016/2019 enablement shipped in Sept 2023, 23H2 for Subscription Edition) (MSRC).
- External exposure: keep SharePoint off the raw Internet where possible; front with auth-gated reverse proxy/VPN and a WAF that knows the ToolShell patterns (MSRC).
- Logging hygiene: centralize IIS/ULS logs (default IIS path
%SystemDrive%\inetpub\logs\LogFiles; ULS%CommonProgramFiles%\Microsoft Shared\Web Server Extensions\16\LOGS) with adequate retention and forward to SIEM (Microsoft Learn - IIS logging, Microsoft Learn - ULS path). - Detections: keep the ToolPane POST detection in place, file-creation alerts for LAYOUTS
spinstall*.aspx, and EDR analytics forw3wp.exe→cmd.exe/powershellwith encoded payloads (Microsoft Security TI, MSRC).
Takeaways
- Prioritize SharePoint: assume compromise if on-prem WFEs were Internet-exposed in July-August; patch, enable AMSI, rotate MachineKeys, and restart IIS (MSRC).
- Hunt immediately: query for ToolPane POSTs,
spinstall*.aspxunder LAYOUTS, andw3wp.exespawning encoded PowerShell (Microsoft Security TI). - Contain laterally: segment SharePoint/SQL and treat the farm as a potential credential-stealing bridgehead, as observed by Talos (Talos IR Q3 2025).
- Watch for persistence: investigate any Velociraptor deployments and remediate vulnerable versions (CVE-2025-6264) if found (NVD CVE-2025-6264).
- Prepare for phishing fallout: strengthen MFA and detections for internal phishing and mailbox rule abuse (Talos IR Q3 2025).
Sources / References
- Cisco Talos IR Trends Q3 2025: https://blog.talosintelligence.com/ir-trends-q3-2025/
- Microsoft Security TI: Disrupting active exploitation of on-prem SharePoint vulnerabilities: https://www.microsoft.com/en-us/security/blog/2025/07/22/disrupting-active-exploitation-of-on-premises-sharepoint-vulnerabilities/
- MSRC guidance for CVE-2025-53770: https://www.microsoft.com/en-us/msrc/blog/2025/07/customer-guidance-for-sharepoint-vulnerability-cve-2025-53770/
- CISA KEV entry for CVE-2025-53770: https://www.cisa.gov/news-events/alerts/2025/07/20/cisa-adds-one-known-exploited-vulnerability-cve-2025-53770-toolshell-catalog
- Cloudflare: ToolShell and MachineKey abuse: https://blog.cloudflare.com/cloudflare-protects-against-critical-sharepoint-vulnerability-cve-2025-53770/
- Microsoft Learn: IIS logging defaults: https://learn.microsoft.com/en-us/iis/manage/provisioning-and-managing-iis/configure-logging-in-iis
- Microsoft Learn: SP2019 ULS log location: https://learn.microsoft.com/en-us/sharepoint/upgrade-and-update/verify-upgrade-for-databases-2019
- NVD: Velociraptor CVE-2025-6264: https://nvd.nist.gov/vuln/detail/CVE-2025-6264