Notable web shell incidents, from ProxyLogon to ToolShell
Factual summaries of public web shell campaigns — Equifax, Exchange ProxyLogon and ProxyShell, NetScaler, MOVEit, Ivanti, SharePoint ToolShell — and their lessons.
Defender's reference · MITRE T1505.003
A practical reference for blue teams and incident responders: how web shells get planted, where they leave traces, how to investigate them, and how to eradicate and harden for good.
Defence map
Six areas that follow a web shell intrusion end to end. Each one links to its hub of guides.
What web shells are, why attackers rely on them, and how to classify them by form factor and behaviour.
The vulnerability classes behind deployment — uploads, RCE, file-write bugs, stolen admin access, edge appliances.
File integrity, web server logs, process trees and YARA/Sigma rules — the four layers where shells show up.
Preserve evidence, find the true creation time, rebuild the timeline and scope every foothold.
Remove every foothold, rotate what was exposed, then close the doors: uploads, least privilege, WAF, allow-listing.
Public cases from Equifax to ProxyShell, MOVEit and ToolShell — summarised factually, with lessons for defenders.
Where shells leave traces
A web shell can hide from one control, rarely from all four. Layered visibility is the whole game.
New executable files in web-served paths, changed configs, odd owners and timestomped timestamps.
FIM · Sysmon 11 · auditd
Rare URIs, POST-only pages, a handful of clients, empty referers and wildly varying response sizes.
W3C · combined · KQL
w3wp.exe, httpd, php-fpm or java spawning shells and reconnaissance tools like whoami and nltest.
Sysmon 1 · 4688 · EDR
In-memory implants, injected assemblies, filters and modules that never touch the disk.
memory image · modules
Guides
Factual summaries of public web shell campaigns — Equifax, Exchange ProxyLogon and ProxyShell, NetScaler, MOVEit, Ivanti, SharePoint ToolShell — and their lessons.
Remove web shells without leaving the intruder a way back, then harden: safe upload handling, no-exec directories for nginx, Apache and IIS, WAF, least privilege and application allow-listing.
A step-by-step forensic workflow for a suspected web shell: preservation, artifact collection on IIS and Linux, timestamp analysis, timeline building and scoping the intrusion.
Write, test and tune YARA rules for suspicious server-side scripts and Sigma rules for web shell behaviour in logs and process telemetry — with annotated examples and a false-positive strategy.
Detect web shell activity from process telemetry: suspicious children of IIS, Apache, nginx/PHP-FPM and Java servers, with Sysmon, Event 4688, auditd, KQL and Sigma examples.
Find web shells in IIS, Apache and nginx access logs: rare URIs, POST-heavy files, few-client patterns, odd user agents and response sizes — with awk, PowerShell, KQL and SPL examples.
Everything here is written for defenders: concepts, detections, forensics and hardening. We never publish web shell source code, deployable payloads or exploit code.