← Techniques
T1190 Defined ATT&CK T1190 ↗

Exploit Public-Facing Application

Attacker Modify ApplicationProcess — Exploit a vulnerability in a public-facing application to cause it to execute attacker-controlled code or expose data beyond its intended scope.

Ontological Definition
ActorAttacker
ActionModify
ArtifactApplicationProcess

Detect

STP 3

CVE-specific signatures are STP 1–2. Post-exploitation behavioral signals (application process spawning a shell, writing executables to unexpected paths) use variable victim-side fields and require baselining — STP 3.

Gate on
activity_id = Access

Focus on post-exploitation signals: the application process spawning a shell or writing executables outside its expected paths. CVE-specific WAF rules are STP 1–2.

Mitigate

STP 5

Patching is STP 1 per CVE. Application sandboxing (seccomp, AppArmor, container constraints) prevents the post-exploitation effect — process spawning, filesystem writes — across all CVEs regardless of vulnerability class. This is STP 5 for the controlled post-attack state.

D3FEND controls
d3f:NetworkTrafficFilteringd3f:ExecutionIsolation

Enforce process isolation and filesystem restrictions on all public-facing application processes (seccomp, AppArmor, container constraints).

Respond

Controlled

The target process now executes attacker-controlled code. Kill the injector process and the compromised target immediately. Investigate all files, network connections, and child processes they spawned.

Attacker foothold
Attacker Originsrc_endpoint
Compromised by this technique
Vulnerable Applicationprocess
D3FEND response actions
d3f:ProcessTerminationd3f:NetworkIsolation
OCSF event model

Event class: Web Resources Activity (6001)  ·  activity_id: Access

attacker-controlledpost-successvictimtainted
%%{init: {"theme": "dark", "themeVariables": {"edgeLabelBackground": "#18181b", "lineColor": "#52525b"}}}%%
graph TD
  classDef attacker fill:#7c2d12,stroke:#ea580c,color:#fed7aa
  classDef victim fill:#1e3a5f,stroke:#3b82f6,color:#bfdbfe
  classDef postSuccess fill:#78350f,stroke:#d97706,color:#fde68a
  classDef tainted fill:#18181b,stroke:#52525b,color:#a1a1aa

  EVENT(["Web Resources Activity\n· Access"])

  attacker_src["Attacker Origin\nsrc_endpoint\nd3f:Host"]:::attacker
  app_process["Vulnerable Application\nprocess\nd3f:Process"]:::postSuccess
  device["Host\ndevice\nd3f:Host\n⚠ tainted"]:::tainted

  EVENT --> attacker_src
  EVENT --> app_process
  EVENT --> device

  attacker_src -->|"exploits"| app_process
Attacker Origin
src_endpoint·d3f:Host
attacker-controlled
src_endpoint.ipattacker_controlledSource IP — attacker-controlled, easily rotated
Countermeasures
d3f:NetworkTrafficFiltering
Vulnerable Application
process·d3f:Process
post-success
process.pidvariableApplication process identifier — victim-side, OS-assigned; becomes attacker-controlled after success
Countermeasures
d3f:ProcessTerminationd3f:ExecutionIsolation
Host
device·d3f:Host
tainted
Countermeasures
d3f:NetworkIsolation
Definitional Sigma rule

Broad by design — defines the technique, not an operational alert. Gate on variable or attacker-controlled field conditions to narrow for production use.

title: Exploit Public-Facing Application (T1190)
status: experimental
description: >
  Definitional rule — broad by design. Defines the technique independent of
  medium, tool, or attacker-controlled variables. Narrow with variable and
  attacker-controlled field conditions for operational use.
logsource:
  product: ocsf
  category: Web Resources Activity (6001)
detection:
  selection:
    activity_id: 'Access'
  condition: selection
Environment-dependent entities

Generate org-specific sub-techniques using T1190.<platform>

Web Application

Custom or third-party web applications exposed to the internet

Apache/Nginx hosted appsDjango/Rails/Node applicationsWordPress/CMS platforms
VPN / Remote Access

Network edge devices providing remote access

Citrix ADCPulse SecureFortinet FortiGatePalo Alto GlobalProtect
Mail Server

Internet-facing mail infrastructure

Microsoft ExchangePostfixZimbra
API Gateway

Externally exposed API surfaces

AWS API GatewayKongApigee
Seen in the wild2reports

SSRF chained with XMLDecoder deserialization achieves RCE inside the WebLogic JVM with no child process — illustrating why T1190 EDEs need per-platform detection rules: this instance is invisible to rules watching for Java spawning shells.

Authentication bypass in GlobalProtect allows forging auth override cookies — a T1190.panos EDE instance where the technique is application-specific and the post-attack state is controlled via an unauthorized VPN session.