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.aspx or /_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 (or 15\LOGS on 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\ (and 15\TEMPLATE\LAYOUTS\ on some builds). Hunt for spinstall*.aspx and other recent .aspx with 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.exe spawning cmd.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)

  1. 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).
  1. 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).
  1. Compromise assessment and eradication
  • Hunt for spinstall*.aspx and any recent .aspx implants 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.exe for 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).
  1. 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 for w3wp.execmd.exe/powershell with 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*.aspx under LAYOUTS, and w3wp.exe spawning 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