Thanks to all of our ATT&CKcon participants. All sessions are here, and individual presentations will be posted soon.

Exploitation for Privilege Escalation

Exploitation of a software vulnerability occurs when an adversary takes advantage of a programming error in a program, service, or within the operating system software or kernel itself to execute adversary-controlled code. Security constructs such as permission levels will often hinder access to information and use of certain techniques, so adversaries will likely need to perform Privilege Escalation to include use of software exploitation to circumvent those restrictions.

When initially gaining access to a system, an adversary may be operating within a lower privileged process which will prevent them from accessing certain resources on the system. Vulnerabilities may exist, usually in operating system components and software commonly running at higher permissions, that can be exploited to gain higher levels of access on the system. This could enable someone to move from unprivileged or user level permissions to SYSTEM or root permissions depending on the component that is vulnerable. This may be a necessary step for an adversary compromising a endpoint system that has been properly configured and limits other privilege escalation methods.

ID: T1068

Tactic: Privilege Escalation

Platform:  Linux, macOS, Windows

Permissions Required:  User

Effective Permissions:  User

Data Sources:  Windows Error Reporting, Process monitoring, Application logs

CAPEC ID:  CAPEC-69

Version: 1.0

Examples

NameDescription
APT28

APT28 has used CVE-2014-4076, CVE-2015-2387, and CVE-2015-1701 to escalate privileges.[1][2]

APT32

APT32 has used CVE-2016-7255 to escalate privileges.[3]

Cobalt Group

Cobalt Group has used exploits to increase their levels of rights and privileges.[4]

Cobalt Strike

Cobalt Strike can exploit vulnerabilities such as MS14-058.[5]

CosmicDuke

CosmicDuke attempts to exploit privilege escalation vulnerabilities CVE-2010-0232 or CVE-2010-4398.[6]

FIN6

FIN6 has used tools to exploit Windows vulnerabilities in order to escalate privileges. The tools targeted CVE-2013-3660, CVE-2011-2005, and CVE-2010-4398, all of which could allow local users to access kernel-level privileges.[7]

FIN8

FIN8 has exploited the CVE-2016-0167 local vulnerability.[8][9]

JHUHUGIT

JHUHUGIT has exploited CVE-2015-1701 and CVE-2015-2387 to escalate privileges.[10][11]

PLATINUM

PLATINUM has leveraged a zero-day vulnerability to escalate privileges.[12]

Remsec

Remsec has a plugin to drop and execute vulnerable Outpost Sandbox or avast! Virtualization drivers in order to gain kernel mode privileges.[13]

Threat Group-3390

Threat Group-3390 has used CVE-2014-6324 to escalate privileges.[14]

Wingbird

Wingbird exploits CVE-2016-4117 to allow an executable to gain escalated privileges.[15]

Mitigation

Update software regularly by employing patch management for internal enterprise endpoints and servers. Develop a robust cyber threat intelligence capability to determine what types and levels of threat may use software exploits and 0-days against a particular organization. Make it difficult for adversaries to advance their operation through exploitation of undiscovered or unpatched vulnerabilities by using sandboxing, if available. Other types of virtualization and application microsegmentation may also mitigate the impact of some types of client-side exploitation. The risks of additional exploits and weaknesses in implementation may still exist. [16]

Security applications that look for behavior used during exploitation such as Windows Defender Exploit Guard (WDEG) and the Enhanced Mitigation Experience Toolkit (EMET) can be used to mitigate some exploitation behavior. [17] Control flow integrity checking is another way to potentially identify and stop a software exploit from occurring. [18] Many of these protections depend on the architecture and target application binary for compatibility and may not work for software components targeted for privilege escalation.

Detection

Detecting software exploitation may be difficult depending on the tools available. Software exploits may not always succeed or may cause the exploited process to become unstable or crash. Also look for behavior on the endpoint system that might indicate successful compromise, such as abnormal behavior of the processes. This could include suspicious files written to disk, evidence of Process Injection for attempts to hide execution or evidence of Discovery.

Higher privileges are often necessary to perform additional actions such as some methods of Credential Dumping. Look for additional activity that may indicate an adversary has gained higher privileges.

References