COMMON ATTACK PATTERN ENUMERATION AND CLASSIFICATIONLive MITRE record

CAPEC-38

Leveraging/Manipulating Configuration File Search Paths

This pattern of attack sees an adversary load a malicious resource into a program's standard path so that when a known command is executed then the system instead executes the malicious component. The adversary can either modify the search path a program uses, like a PATH variable or classpath, or they can manipulate resources on the path to point to their malicious components. J2EE applications and other component based applications that are built from multiple binaries can have very long list of dependencies to execute. If one of these libraries and/or references is controllable by the attacker then application controls can be circumvented by the attacker.

Abstraction

Detailed

Typical severity

Very High

Likelihood of attack

High

Understand the attack

What is this attack pattern?

This pattern of attack sees an adversary load a malicious resource into a program's standard path so that when a known command is executed then the system instead executes the malicious component. The adversary can either modify the search path a program uses, like a PATH variable or classpath, or they can manipulate resources on the path to point to their malicious components. J2EE applications and other component based applications that are built from multiple binaries can have very long list of dependencies to execute. If one of these libraries and/or references is controllable by the attacker then application controls can be circumvented by the attacker.

Requirements

What does the attack require?

Prerequisites

  • The attacker must be able to write to redirect search paths on the victim host.

Skills required

  • Low: To identify and execute against an over-privileged system interface

Resources required

Not stated in the MITRE record.

Impact

What does a successful attack lead to?

Execute Unauthorized Commands

Affected scopes: Confidentiality, Integrity, Availability

Gain Privileges

Affected scopes: Confidentiality, Access Control, Authorization

Defence

How is it prevented and mitigated?

1
Design: Enforce principle of least privilege
2
Design: Ensure that the program's compound parts, including all system dependencies, classpath, path, and so on, are secured to the same or higher level assurance as the program
3
Implementation: Host integrity monitoring

Real world

MITRE example instances

Example instance 1Detail
Another method is to redirect commands by aliasing one legitimate command to another to create unexpected results. the Unix command "rm" could be aliased to "mv" and move all files the victim thinks they are deleting to a directory the attacker controls. In a Unix shell .profile setting alias rm=mv /usr/home/attacker In this case the attacker retains a copy of all the files the victim attempts to remove.
Example instance 2Detail
A standard UNIX path looks similar to this /bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin If the attacker modifies the path variable to point to a locale that includes malicious resources then the user unwittingly can execute commands on the attackers' behalf: /evildir/bin:/sbin:/usr/bin:/usr/local/bin:/usr/sbin This is a form of usurping control of the program and the attack can be done on the classpath, database resources, or any other resources built from compound parts. At runtime detection and blocking of this attack is nearly impossible, because the configuration allows execution.
CAPEC-38: Leveraging/Manipulating Configuration File Search Paths — DayBreach Saldırı Sözlüğü · DayBreach