Skip to main content
T1505Persistencemedium difficulty

Server Software Component

Server Software Component (T1505) covers attackers extending a legitimate server application, IIS module, mail transport agent, SQL stored procedure, or most commonly a web shell, to keep a foothold that survives reboots and patches. It detects best as a file-creation-then-execution pattern: a script lands in a web directory and the server process itself spawns cmd.exe or powershell.exe seconds later, something a normal web request never does.

Practice detecting Server Software Component on realistic SIEM, XDR alerts in SOCSimulator Operations.

SIEMXDR

What is Server Software Component?

Server Software Component is documented as technique T1505 in MITRE ATT&CK® v19.1 under the Persistence tactic. Detection requires visibility into SIEM, XDR telemetry.

The web shell sub-technique (T1505.003) is the one analysts see most: after exploiting an upload flaw, a deserialization bug, or a vulnerability like ProxyShell, the attacker writes a small script (.aspx, .ashx, .php, .jsp) into a directory the web server already serves. From then on, no exploit is needed; a plain HTTP request to that file gives the attacker a command execution or file-browsing interface running with the web server's own privileges. China Chopper is the classic example: an eight-line .aspx dropper paired with a client tool that sends commands as POST parameters and decodes the response inline.

IIS Components (T1505.004) works one layer deeper. Instead of a script file, the attacker registers a native or managed module directly into IIS's request pipeline with appcmd.exe add module or gacutil /I, so every single HTTP request the server handles passes through attacker code before IIS even reaches the intended application. Microsoft's 2022 IIS-backdoor research found these modules surviving worker-process recycles and app-pool restarts, because the registration lives in applicationHost.config, not in a file an antivirus scanner would flag as new.

SQL Stored Procedures (T1505.001) achieves the same persistence in a database tier: a stored procedure gets created or modified to run attacker code whenever a legitimate application calls it, or xp_cmdshell gets re-enabled via sp_configure to hand out a direct shell. All three sub-techniques share the same defensive logic: something that is supposed to only serve or process data is now executing arbitrary commands, and the giveaway is the parent-child process relationship, not the payload itself.

Where Server Software Component fits in an attack

Server Software Component almost always follows Exploit Public-Facing Application (T1190). The attacker needs a way onto the server first, whether that is a ProxyShell chain against Exchange, a Log4Shell-style deserialization bug, or an unrestricted file-upload endpoint, and the web shell or module registration is the very next step, installed before the initial exploit's window closes. HAFNIUM's 2021 Exchange campaign is the reference case: after chaining CVE-2021-26855 and CVE-2021-27065, the group dropped .aspx web shells directly into the OWA authentication path within minutes of initial access, giving them a durable channel that no longer depended on the original vulnerability being exploitable.

Once installed, the web shell becomes the pivot point for everything that follows: credential dumping via LSASS access, lateral movement into the internal network, and, in ransomware intrusions, staging for encryption. Groups tracked using this technique span APT41, OilRig, Volt Typhoon, and Sandworm Team, and CISA's joint advisories on Exchange and SharePoint exploitation repeatedly cite web shells as the mechanism that let attackers maintain access for weeks after the initial vulnerability was patched. That gap, patched-but-still-compromised, is exactly why this technique gets its own detection layer instead of relying on vulnerability management alone.

Detection Strategies

The following detection strategies help SOC analysts identify Server Software Component activity. These methods apply across SIEM, XDR environments and can be implemented as detection rules, correlation queries, or behavioral analytics in your security platform.

SPL
| tstats `security_content_summariesonly` count min(_time) as firstTime max(_time) as lastTime FROM datamodel=Endpoint.Filesystem
  where Filesystem.file_path IN ("*\\HttpProxy\\owa\\auth\\*", "*\\inetpub\\wwwroot\\aspnet_client\\*", "*\\HttpProxy\\OAB\\*")
  Filesystem.file_name IN ("*.aspx", "*.ashx")
  by Filesystem.dest Filesystem.file_create_time Filesystem.file_name Filesystem.file_path Filesystem.user
| `drop_dm_object_name(Filesystem)`

Splunk Security Content's 'Detect Exchange Web Shell' analytic, which watches for .aspx/.ashx files landing in the exact HttpProxy paths HAFNIUM used for ProxyShell and ProxyNotShell web shells and is tagged to the ProxyShell, ProxyNotShell and Seashell Blizzard analytic stories.

Simulated example generated by SOCSimulator Research
EventID: 11
UtcTime: 2026-07-16 02:46:58.901
Image: C:\Windows\System32\inetsrv\w3wp.exe
TargetFilename: C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\error.aspx
ProcessId: 4412
User: NT AUTHORITY\NETWORK SERVICE
Hashes: SHA256=6c1a2f9e3b7d4c8f1a0e5d2b9c4f7a1e3d6b8c0f2a4e7d1b9c3f5a8e0d2c4b6f

Tuning and false positives

Legitimate web applications do occasionally spawn child processes: a PHP application calling out to ImageMagick for thumbnail generation, a Java app server invoking a monitoring agent, or a CMS plugin that shells out to a conversion utility. Backup and inventory agents on Exchange or SharePoint servers can also write .aspx files during upgrades or cumulative-update installs, which will trip a naive file-path rule if it does not account for maintenance windows.

The fix is process-lineage and path allow-listing rather than disabling the rule. Build a short list of the specific interpreters and utilities your application legitimately invokes (per app pool, since IIS separates them cleanly) and exclude only those exact combinations, not the whole ParentImage. Pair file-creation-in-web-root alerts with a change-management or patch-window lookup so genuine Exchange Cumulative Update file writes get suppressed automatically, while anything landing outside a documented maintenance window still fires at full severity.

Example Alerts

These realistic alert examples show what Server Software Component looks like in your security tools. Use them to tune detection rules and train analysts to recognize true positives versus false positives in live environments.

CriticalXDR

IIS Worker Process Spawned Command Shell

w3wp.exe on WEB-APP-03 spawned cmd.exe /c whoami >> C:\inetpub\wwwroot\uploads\out.txt three seconds after a POST to /uploads/config.aspx returned 200. The worker process has no legitimate reason to fork a shell; this is a web shell executing a command.

HighSIEM

Suspicious .aspx File Written to Exchange OWA Auth Path

A file named error.aspx was created under C:\Program Files\Microsoft\Exchange Server\V15\FrontEnd\HttpProxy\owa\auth\ by w3wp.exe (MSExchangeOWAAppPool) on EXCH-01.corp.local. This matches the exact drop location HAFNIUM used during ProxyShell exploitation.

HighXDR

IIS Module Registered via appcmd from Worker Process

appcmd.exe add module /name:IIS_Backdoor /image:C:\Windows\System32\backdoor.dll ran with w3wp.exe as the direct parent on WEB-APP-03. Legitimate module installs go through IIS Manager or a deployment pipeline, not a live worker process.

Responding to Server Software Component

When a web server process spawns a shell or an unexpected file appears in a web-servable directory, first pull the file itself: is it a known web shell family (China Chopper, ASPXSpy, a generic single-line eval), and does its creation timestamp line up with any recent HTTP requests to that path in the web-access logs? Second, check what the child process actually did, whoami, net user, a download command, since even a first execution can tell you whether this is automated recon or a human on the keyboard. Third, confirm the vulnerability that got them there is still open; if the exploited CVE is unpatched, removing the shell alone just buys the attacker a re-drop.

Any confirmed web shell or unauthorized IIS module registration should be treated as an active intrusion, not cleaned up quietly. Isolate the host at the network layer while preserving the file system and process history for IR, since deleting the shell before capturing it destroys your best evidence of the initial access vector. Patch or WAF-block the exploited endpoint immediately so the attacker cannot simply re-exploit and redrop, rotate any credentials the compromised app pool or service account had access to, and hunt across the rest of the estate for the same file hash or IIS module signature, since these campaigns rarely stop at one server.

Frequently Asked Questions

How do SOC analysts detect Server Software Component?
Detection centers on SIEM, XDR telemetry for the persistence phase of the attack. Alert when a web server process (w3wp.exe, httpd.exe, nginx.exe, php-cgi.exe, tomcat.exe, UMWorkerProcess.exe) spawns cmd.exe, powershell.exe, wmic.exe, certutil.exe, or netsh.exe as a direct child; legitimate application logic never does this. Watch for new .aspx or .ashx files written under \HttpProxy\owa\auth\, \inetpub\wwwroot\aspnet_client\, or \HttpProxy\OAB\ on Exchange servers, the exact drop paths HAFNIUM used for ProxyShell and ProxyNotShell web shells.
What does a Server Software Component alert look like?
A representative XDR detection is "IIS Worker Process Spawned Command Shell" (critical severity): w3wp.exe on WEB-APP-03 spawned cmd.exe /c whoami >> C:\inetpub\wwwroot\uploads\out.txt three seconds after a POST to /uploads/config.aspx returned 200. The worker process has no legitimate reason to fork a shell; this is a web shell executing a command.
Which tools detect Server Software Component, and how can I practice?
Server Software Component (T1505) is best surfaced with SIEM, XDR telemetry, which exposes the persistence signals described above. Practice detecting it on those exact consoles in SOCSimulator Operations, free.

Practice Server Software Component in a Free Room

Investigate Server Software Component on realistic SIEM, XDR, and firewall consoles, free.

Cleo MFT Exploitation: Cl0p Data Theft (CVE-2024-50623)

Cleo MFT Exploitation: Cl0p Data Theft (CVE-2024-50623)

A Cleo Harmony managed file transfer server is compromised through an unauthenticated file-write vulnerability in its autorun directory (CVE-2024-55956). When the service restarts, the planted XML triggers a Java loader that stages a backdoor, provisions a rogue account, and streams stored transfer files to external infrastructure. Reconstruct the chain from the Cleo web logs, Windows event logs, and perimeter firewall.

50m·507 tasks
View Operation
Edge Device Exploitation: VPN Zero-Day

Edge Device Exploitation: VPN Zero-Day

Investigate a breach targeting exposed edge security appliances. In this scenario, an attacker exploits Ivanti Connect Secure CVE-2025-22457 to obtain unauthenticated code execution, spawns a shell from the gateway web process, retrieves a Linux payload, and attempts to preserve access using edge-device service abuse patterns similar to FortiGate SSL-VPN post-exploitation tradecraft. Analyze SIEM, XDR, and firewall evidence to identify the spawned shell, suspicious domain, local sync script, and defensive block policy.

55m·508 tasks
View Operation
Spring4Shell: Class-Loader RCE to Webshell (CVE-2022-22965)

Spring4Shell: Class-Loader RCE to Webshell (CVE-2022-22965)

An internet-facing Java Spring MVC application is compromised through CVE-2022-22965 (Spring4Shell), a class-loader manipulation flaw that turns Tomcat's own logging system into a webshell writer. Working from the Tomcat access logs and the perimeter firewall, trace the exploit request, identify what landed on disk, follow the operator's command sessions, and catch the pivot to an internal backend service.

40m·506 tasks
View Operation
Glossary

What is Persistence? SOC Glossary

Persistence is the set of techniques an adversary uses to keep access to a compromised system after whatever gave them t…

Read more
Glossary

What is EDR? SOC Glossary

Endpoint Detection and Response (EDR) is a security technology that continuously monitors endpoint activity, recording p…

Read more
Glossary

What is Threat Hunting? SOC Glossary

Threat hunting is the proactive, human-led process of searching through security telemetry to find hidden threats that e…

Read more
Glossary

What is IOC? SOC Glossary

An Indicator of Compromise (IOC) is an observable artifact, such as a file hash, IP address, domain name, URL, registry …

Read more
Career Path

Threat Hunter Career Guide: Salary & Skills

Threat Hunters do not wait for alerts. You develop hypotheses based on threat intelligence and adversary behavior models…

Read more
Career Path

Detection Engineer Career Guide: Salary & Skills

Detection Engineers build the rules, analytics, and automated workflows that determine what the SOC can see. You transla…

Read more
Tool

SIEM Training Console: SOCSimulator

The SIEM console in SOCSimulator replicates the workflow of enterprise platforms like Splunk Enterprise Security, Micros…

Read more
Tool

XDR Training Console: SOCSimulator

The XDR console in SOCSimulator replicates the investigation workflow of platforms like CrowdStrike Falcon, Microsoft De…

Read more
Comparison

SOCSimulator Vs. Letsdefend: Platform Comparison

SOCSimulator wins on operational realism. You get multi-tool shift simulation with SLA pressure, noise injection, and al…

Read more
Glossary

SOC Glossary: Security Operations Terminology

Complete glossary of Security Operations Center terminology for aspiring SOC analysts.

Read more
Feature

Shift Mode: Real-Time SOC Simulation

Practice alert triage under realistic time pressure with SLA timers and noise injection.

Read more
Feature

Operations: Guided Training Operations

Structured CTF-style investigation operations covering real-world attack scenarios.

Read more