Name |
Hijacking a privileged process |
|
Likelyhood of attack |
Typical severity |
Medium |
Medium |
|
Summary |
An adversary gains control of a process that is assigned elevated privileges in order to execute arbitrary code with those privileges. Some processes are assigned elevated privileges on an operating system, usually through association with a particular user, group, or role. If an attacker can hijack this process, they will be able to assume its level of privilege in order to execute their own code. |
Prerequisites |
The targeted process or operating system must contain a bug that allows attackers to hijack the targeted process. |
Execution Flow |
Step |
Phase |
Description |
Techniques |
1 |
Explore |
[Find process with elevated priveleges] The adversary probes for processes running with elevated privileges. |
- On Windows, use the process explorer's security tab to see if a process is running with administror privileges.
- On Linux, use the ps command to view running processes and pipe the output to a search for a particular user, or the root user.
|
2 |
Experiment |
[Find vulnerability in running process] The adversary looks for a vulnerability in the running process that would allow for arbitrary code execution with the privilege of the running process. |
- Look for improper input validation
- Look for a buffer overflow which may be exploited if an adversary can inject unvalidated data.
- Utilize system utilities that support process control that have been inadequately secured
|
3 |
Exploit |
[Execute arbitrary code] The adversary exploits the vulnerability that they have found and hijacks the running process. |
|
|
Solutions | |
Related Weaknesses |
CWE ID
|
Description
|
CWE-648 |
Incorrect Use of Privileged APIs |
CWE-732 |
Incorrect Permission Assignment for Critical Resource |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-100 |
Buffer Overflow attacks target improper or missing bounds checking on buffer operations, typically triggered by input injected by an adversary. As a consequence, an adversary is able to write past the boundaries of allocated buffer regions in memory, causing a program crash or potentially redirection of execution as per the adversaries' choice. |
CAPEC-175 |
An adversary exploits a weakness on the target to force arbitrary code to be retrieved locally or from a remote location and executed. This differs from code injection in that code injection involves the direct inclusion of code while code inclusion involves the addition or replacement of a reference to a code file, which is subsequently loaded by the target and used as part of the code of some application. |
CAPEC-233 |
An adversary exploits a weakness enabling them to elevate their privilege and perform an action that they are not supposed to be authorized to perform. |
CAPEC-242 |
An adversary exploits a weakness in input validation on the target to inject new code into that which is currently executing. This differs from code inclusion in that code inclusion involves the addition or replacement of a reference to a code file, which is subsequently loaded by the target and used as part of the code of some application. |
|