Start with Identity
Control · 9 briefs

Attacks on sessions and tokens

Techniques that skip the login and go straight for what it produces: stolen cookies, replayed access tokens, and refresh credentials that outlive a password reset.

Why this control fails

A session token that satisfied MFA at issuance carries that assurance for as long as it is valid, and most identity providers do not check that the presenter is the same browser or device that logged in. Infostealer malware lifts cookies and tokens from the endpoint in bulk, and adversary-in-the-middle kits capture them live during a real login, so the attacker inherits a session that already passed every policy check. A password reset alone does not revoke a live refresh token unless the identity provider is explicitly configured to invalidate it, which is why "we rotated the password" is not the same statement as "we ended the session."

What security people should do

  • Sender-constrain access and refresh tokens with DPoP or mutual TLS so a stolen token is unusable from a different client.
  • Shorten access token lifetimes and pair refresh token rotation with reuse detection, so a replayed refresh token revokes the whole chain.
  • Make password reset and MFA re-enrollment revoke every existing session and refresh token for that identity, not just future logins.
  • Bind cookies to device signals where the platform supports it, and alert on a session presented from a new device with no matching re-authentication.

Techniques in this category

Attacker-in-the-middle phishing proxy

A reverse proxy sits between the user and the real login page, relays every step of authentication including MFA, and keeps the session cookie the successful login produces.

WidespreadHard to detect to detect
Device code phishing

The victim enters a code on Microsoft's own login page and approves a real prompt. The attacker requested that code from a second device and walks away with access and refresh tokens.

WidespreadHard to detect to detect
Primary Refresh Token theft

Code already running in a signed-in Windows session can drive the device's own Windows Hello key to obtain a Primary Refresh Token, no PIN prompt, no admin rights, no CVE required.

EmergingHard to detect to detect
Refresh token abuse

A refresh token exists to let an app get new access tokens without bothering the user again. Stolen, it lets an attacker do the same thing indefinitely, surviving password resets along the way.

WidespreadHard to detect to detect
Session cookie theft

A session cookie is a bearer credential that proves nothing beyond possession. Whoever copies it inherits the logged-in session, skipping the password and the MFA challenge that produced it.

WidespreadHard to detect to detect
Token replay against an unbound endpoint

A token that is not bound to the client, session, or challenge that requested it can be lifted once and replayed anywhere the check for binding is missing, no matter how it was strengthened.

WidespreadHard to detect to detect
Cross-tenant token confusion

A broker sitting between users and a shared backend fails to keep sessions apart, so a token supplied by one caller gets used to serve a different caller's later request, with no attack step beyond timing.

EmergingHard to detect to detect
Scope escalation through delegation

A chain of services each meant to narrow a token's authority instead widens it, because one hop in the delegation path trusts the scope a caller claims rather than the scope it was actually issued.

EmergingHard to detect to detect
Infostealer credential harvesting

Commodity malware on an endpoint reads whatever the browser and OS have stored in the clear or under a key the same machine already holds, then ships it to a marketplace where the credentials outlive the machine they came from.

WidespreadHard to detect to detect
Seeing this attack in production and have a detection idea we should add? Email [email protected] or volunteer as a CVE Analyst.