Dark Mode

Settings

Capec-21 Detail

Exploitation of Trusted Identifiers

Meta Software Likelihood: High Typical Severity: High

Children: 62 196 510 593

Threats: T292 T293 T375 T376 T377 T378 T379 T380 T381

Description

An adversary guesses, obtains, or "rides" a trusted identifier (e.g. session ID, resource ID, cookie, etc.) to perform authorized actions under the guise of an authenticated user or service.

Extended Description

Attacks leveraging trusted identifiers typically result in the adversary laterally moving within the local network, since users are often allowed to authenticate to systems/applications within the network using the same identifier. This allows the adversary to obtain sensitive data, download/install malware on the system, pose as a legitimate user for social engineering purposes, and more. Attacks on trusted identifiers take advantage of the fact that some software accepts user input without verifying its authenticity. Many server side processes are vulnerable to these attacks because the server to server communications have not been analyzed from a security perspective or the processes "trust" other systems because they are behind a firewall. Similarly, servers that use easy to guess or spoofable schemes for representing digital identity can also be vulnerable. Such systems frequently use schemes without cryptography and digital signatures (or with broken cryptography). Identifiers may be guessed or obtained due to insufficient randomness, poor protection (passed/stored in the clear), lack of integrity (unsigned), or improper correlation with access control policy enforcement points. Exposed configuration and properties files that contain sensitive data may additionally provide an adversary with the information needed to obtain these identifiers. An adversary may also "ride" an identifier via a malicious link, as is the case in Cross Site Request Forgery (CSRF) attacks. Regardless of the attack vector, successful spoofing and impersonation of trusted credentials can lead to an adversary breaking authentication, authorization, and audit controls with the target system or application.
External ID Source Link Description
CAPEC-21 capec https://capec.mitre.org/data/definitions/21.html
CWE-290 cwe http://cwe.mitre.org/data/definitions/290.html
CWE-302 cwe http://cwe.mitre.org/data/definitions/302.html
CWE-346 cwe http://cwe.mitre.org/data/definitions/346.html
CWE-539 cwe http://cwe.mitre.org/data/definitions/539.html
CWE-6 cwe http://cwe.mitre.org/data/definitions/6.html
CWE-384 cwe http://cwe.mitre.org/data/definitions/384.html
CWE-664 cwe http://cwe.mitre.org/data/definitions/664.html
CWE-602 cwe http://cwe.mitre.org/data/definitions/602.html
CWE-642 cwe http://cwe.mitre.org/data/definitions/642.html
T1134 ATTACK https://attack.mitre.org/wiki/Technique/T1134 Access Token Manipulation
T1528 ATTACK https://attack.mitre.org/wiki/Technique/T1528 Steal Application Access Token
T1539 ATTACK https://attack.mitre.org/wiki/Technique/T1539 Steal Web Session Cookie
REF-1 reference_from_CAPEC G. Hoglund, G. McGraw, Exploiting Software: How to Break Code, 2004--02, Addison-Wesley
Explore
  1. Survey the application for Indicators of Susceptibility: Using a variety of methods, until one is found that applies to the target, the adversary probes for cookies, session tokens, or entry points that bypass identifiers altogether.

  2. Techniques
    Spider all available pages
    Attack known bad interfaces
    Search outward-facing configuration and properties files for identifiers.
Experiment
  1. Fetch samples: The adversary fetches many samples of identifiers. This may be through legitimate access (logging in, legitimate connections, etc.) or via systematic probing.

  2. Techniques
    An adversary makes many anonymous connections and records the session IDs assigned.
    An adversary makes authorized connections and records the session tokens or credentials issued.
    An adversary gains access to (legitimately or illegitimately) a nearby system (e.g., in the same operations network, DMZ, or local network) and makes a connection from it, attempting to gain the same privileges as a trusted system.
Exploit
  1. Impersonate: An adversary can use successful experiments or authentications to impersonate an authorized user or system or to laterally move within a system or application

  2. Spoofing: Malicious data can be injected into the target system or into a victim user's system by an adversary. The adversary can also pose as a legitimate user to perform social engineering attacks.

  3. Data Exfiltration: The adversary can obtain sensitive data contained within the system or application.

  1. Server software must rely on weak identifier proof and/or verification schemes.
  2. Identifiers must have long lifetimes and potential for reusability.
  3. Server software must allow concurrent sessions to exist.
  1. Ability to deploy software on network.
  2. Ability to communicate synchronously or asynchronously with server.
Low
To achieve a direct connection with the weak or non-existent server session access control, and pose as an authorized user
Integrity Access Control Authentication Confidentiality
Modify Data Gain Privileges Gain Privileges Gain Privileges
Read Data
  1. Thin client applications like web applications are particularly vulnerable to session ID attacks. Since the server has very little control over the client, but still must track sessions, data, and objects on the server side, cookies and other mechanisms have been used to pass the key to the session data between the client and server. When these session keys are compromised it is trivial for an adversary to impersonate a user's session in effect, have the same capabilities as the authorized user. There are two main ways for an adversary to exploit session IDs. A brute force attack involves an adversary repeatedly attempting to query the system with a spoofed session header in the HTTP request. A web server that uses a short session ID can be easily spoofed by trying many possible combinations so the parameters session-ID= 1234 has few possible combinations, and an adversary can retry several hundred or thousand request with little to no issue on their side. The second method is interception, where a tool such as wireshark is used to sniff the wire and pull off any unprotected session identifiers. The adversary can then use these variables and access the application.
  2. For example, in a message queuing system that allows service requesters to post messages to its queue through an open channel (such as anonymous FTP), authorization is done through checking group or role membership contained in the posted message. However, there is no proof that the message itself, the information in the message (such group or role membership), or the process that wrote the message to the queue is authentic and authorized to do so.