COMMON ATTACK PATTERN ENUMERATION AND CLASSIFICATIONLive MITRE record

CAPEC-60

Reusing Session IDs (aka Session Replay)

This attack targets the reuse of valid session ID to spoof the target system in order to gain privileges. The attacker tries to reuse a stolen session ID used previously during a transaction to perform spoofing and session hijacking. Another name for this type of attack is Session Replay.

Abstraction

Detailed

Typical severity

High

Likelihood of attack

High

Understand the attack

What is this attack pattern?

This attack targets the reuse of valid session ID to spoof the target system in order to gain privileges. The attacker tries to reuse a stolen session ID used previously during a transaction to perform spoofing and session hijacking. Another name for this type of attack is Session Replay.

Execution flow

How does the attack proceed, step by step?

1

Explore

Attack step

The attacker interacts with the target host and finds that session IDs are used to authenticate users.

Attack step

The attacker steals a session ID from a valid user.
2

Exploit

Attack step

The attacker tries to use the stolen session ID to gain access to the system with the privileges of the session ID's original owner.

Requirements

What does the attack require?

Prerequisites

  • The target host uses session IDs to keep track of the users.
  • Session IDs are used to control access to resources.
  • The session IDs used by the target host are not well protected from session theft.

Skills required

  • Low: If an attacker can steal a valid session ID, they can then try to be authenticated with that stolen session ID.
  • Medium: More sophisticated attack can be used to hijack a valid session from a user and spoof a legitimate user by reusing their valid session ID.

Resources required

Not stated in the MITRE record.

Impact

What does a successful attack lead to?

Gain Privileges

Affected scopes: Confidentiality, Access Control, Authorization

Defence

How is it prevented and mitigated?

1
Always invalidate a session ID after the user logout.
2
Setup a session time out for the session IDs.
3
Protect the communication between the client and server. For instance it is best practice to use SSL to mitigate adversary in the middle attacks ( CAPEC-94 ).
4
Do not code send session ID with GET method, otherwise the session ID will be copied to the URL. In general avoid writing session IDs in the URLs. URLs can get logged in log files, which are vulnerable to an attacker.
5
Encrypt the session data associated with the session ID.
6
Use multifactor authentication.

Real world

MITRE example instances

Example instance 1Detail
OpenSSL and SSLeay allow remote attackers to reuse SSL sessions and bypass access controls. See also: CVE-1999-0428
Example instance 2Detail
Merak Mail IceWarp Web Mail uses a static identifier as a user session ID that does not change across sessions, which could allow remote attackers with access to the ID to gain privileges as that user, e.g. by extracting the ID from the user's answer or forward URLs. See also: CVE-2002-0258
CAPEC-60: Reusing Session IDs (aka Session Replay) — DayBreach Saldırı Sözlüğü · DayBreach