CISSP-114 · Lesson 10 of 12 · 28 min

Access attacks and countermeasures

Attackers increasingly log in rather than break in. With a valid identity, their activity looks like normal work, bypasses many network defences and inherits whatever access the victim held. This lesson surveys the main attacks on authentication and authorization, explains why each works and sets out the countermeasures a security manager should insist on. The descriptions are conceptual: the aim is to recognize and defend against these techniques, not to perform them. Throughout, notice how often the strongest single countermeasure is the same: phishing-resistant authentication combined with least privilege and good monitoring.

Attacks on passwords

Brute-force attacks try every possible password for one account; dictionary attacks try likely passwords from word lists and leaked password collections. Both are defeated online by throttling and offline by slow, salted password hashing, as lesson 3 showed. Password spraying inverts the approach: the attacker tries a few very common passwords, such as Winter2026!, against many accounts, staying under per-account lockout thresholds. Credential stuffing uses user name and password pairs leaked from breaches of other sites, relying on reuse; automated tools test millions of pairs through rotating proxies. Large breaches of cloud data platforms in 2024 were widely attributed to stolen credentials used against accounts that lacked multifactor authentication.

Password attacks and countermeasures
AttackHow it worksKey countermeasures
Brute force and dictionaryMany guesses against one accountThrottling; long passwords; slow password hashing
Password sprayingFew common passwords against many accountsBlocklists of common passwords; detection across accounts; MFA
Credential stuffingLeaked pairs from other breachesMFA; breached-password checks; bot detection; unique passwords via managers
Offline crackingGuessing against stolen hashesArgon2id or similar with salts and pepper; protect the hash store
Rainbow tablesPrecomputed hash lookupsUnique salts

Spraying and stuffing are detected by looking across accounts rather than at one: many accounts failing from the same source, the same password attempted against many users, or a surge of successful logins from residential proxy networks. Per-account lockout alone misses spraying and can be turned against users as a denial-of-service weapon.

Detecting password spraying by counting accounts per source and per password, then acting on the account that was compromised.
from collections import defaultdict
attempts = [  # (source address, account, result, password fingerprint)
    ('203.0.113.7', 'alee', 'fail', 'h1'), ('203.0.113.7', 'bdas', 'fail', 'h1'), ('203.0.113.7', 'cfox', 'fail', 'h1'),
    ('203.0.113.7', 'dlin', 'fail', 'h1'), ('203.0.113.7', 'egarcia', 'success', 'h1'), ('203.0.113.7', 'fyu', 'fail', 'h1'),
    ('198.51.100.4', 'alee', 'fail', 'h9'), ('198.51.100.4', 'alee', 'success', 'h2'),
]
by_source = defaultdict(set); by_password = defaultdict(set); successes = defaultdict(list)
for src, acct, result, pw in attempts:
    by_source[src].add(acct); by_password[pw].add(acct)
    if result == 'success':
        successes[src].append(acct)
for src, accts in by_source.items():
    if len(accts) >= 5:
        print(f'{src}: {len(accts)} accounts tried from one source -> likely spraying; successes {successes[src]}')
for pw, accts in by_password.items():
    if len(accts) >= 5:
        print(f'Same password fingerprint {pw} tried on {len(accts)} accounts')
print('Action: force reset and session revocation for', successes['203.0.113.7'], 'and require MFA registration')
Output
203.0.113.7: 6 accounts tried from one source -> likely spraying; successes ['egarcia']
Same password fingerprint h1 tried on 6 accounts
Action: force reset and session revocation for ['egarcia'] and require MFA registration

Phishing and adversary-in-the-middle

Classic phishing tricks users into entering credentials on a fake page. Adversary-in-the-middle phishing, also called AiTM or reverse-proxy phishing, goes further: the fake site relays everything between the user and the real site in real time, so the user sees the genuine login flow, completes multifactor authentication, and the attacker captures both the password and the session cookie that results. Phishing kits that automate this are sold as a service. Because the attacker steals the authenticated session, one-time codes and push approvals provide no protection. Phishing-resistant authenticators do, because their responses are bound to the genuine origin, as lesson 4 explained, and the fake site cannot obtain a usable one.

Consent phishing targets OAuth rather than passwords. The attacker registers an application with a plausible name and tricks a user into granting it permissions, such as reading mail and files, through the genuine identity provider's consent screen. The attacker never learns the password, and resetting it does not revoke the grant. Countermeasures are restricting which applications users may consent to, requiring administrator approval for high-risk permissions, verifying publishers and reviewing granted applications regularly.

Three columns: victim browser, attacker reverse proxy and real identity provider. The victim submits password and one-time code to the proxy, which forwards them to the real provider. The provider returns a session cookie through the proxy, which keeps a copy. A lower panel shows the same flow with a FIDO2 key: the browser reports the proxy's origin, the key signs for that origin and the real provider rejects the signature, so no session is issued.
Adversary-in-the-middle phishing steals sessions protected by codes or push, but fails against origin-bound FIDO2 authentication.

Attacks on multifactor authentication and recovery

Where phishing-resistant methods are not used, attackers target the second factor. MFA fatigue, or prompt bombing, floods a user with push requests until one is approved, sometimes combined with a phone call pretending to be IT support. SIM swapping persuades or bribes a mobile carrier to move a victim's number to the attacker's SIM, capturing SMS codes and recovery messages. Help desk social engineering impersonates an employee to have passwords or authenticators reset; a series of widely reported intrusions in 2023 against casino and hospitality companies began with calls to help desks. Countermeasures include number matching for push, phishing-resistant methods, carrier account locks for executives, strict help desk verification through independent channels and alerts to the user whenever an authenticator is added or reset.

Worked problem

A help desk call

A help desk receives a call from someone claiming to be a network engineer who has a new phone and needs his authenticator re-registered. The caller knows the engineer's employee number and manager's name. Which controls should apply, and what should happen after the reset?

Show solution
  1. Treat employee numbers and manager names as public; they prove nothing.
  2. Verify through an independent channel, such as a video call compared with the HR photo plus confirmation from the manager by a known number, or in-person verification for privileged staff.
  3. If reset, require registration of a phishing-resistant authenticator, alert the engineer through all registered channels and flag the account for heightened monitoring for 72 hours.
  4. Review the account's sign-ins and changes over that period, especially privileged actions and new mail rules.

Answer: Recovery is the weakest link in many MFA deployments. Engineers and administrators are prime targets, so their recovery should require the strongest verification.

Session and token theft

After authentication, a session cookie or token stands in for the user. If an attacker steals it, through AiTM phishing, malware on the endpoint that harvests browser cookies, cross-site scripting or insecure storage, they can replay it from their own machine without knowing the password or passing MFA. Session hijacking also covers predicting or fixing session identifiers, which modern frameworks prevent by issuing random identifiers and regenerating them at login. Countermeasures include short session and token lifetimes, re-evaluating sessions continuously against device and location signals, binding tokens to devices with technologies such as token binding or proof-of-possession, protecting cookies with the Secure, HttpOnly and SameSite attributes, revoking refresh tokens on suspicious activity and detecting impossible travel.

Impossible-travel detection: two sign-ins whose implied speed exceeds any airliner suggest a stolen session or credential. VPNs and cloud proxies cause false positives, so it is a signal, not proof.
import math
def km(lat1, lon1, lat2, lon2):
    r = 6371.0
    p1, p2 = math.radians(lat1), math.radians(lat2)
    dp, dl = p2 - p1, math.radians(lon2 - lon1)
    a = math.sin(dp / 2) ** 2 + math.cos(p1) * math.cos(p2) * math.sin(dl / 2) ** 2
    return 2 * r * math.asin(math.sqrt(a))
signins = [  # (time in hours, city, lat, lon)
    (9.00, 'Calgary', 51.05, -114.07),
    (9.75, 'Calgary', 51.05, -114.07),
    (10.25, 'Amsterdam', 52.37, 4.90),
]
for (t1, c1, a1, o1), (t2, c2, a2, o2) in zip(signins, signins[1:]):
    d = km(a1, o1, a2, o2); hours = t2 - t1
    speed = d / hours if hours else float('inf')
    verdict = 'impossible travel - challenge or revoke session' if speed > 1000 else 'plausible'
    print(f'{c1} -> {c2}: {d:,.0f} km in {hours:.2f} h = {speed:,.0f} km/h: {verdict}')
Output
Calgary -> Calgary: 0 km in 0.75 h = 0 km/h: plausible
Calgary -> Amsterdam: 7,176 km in 0.50 h = 14,351 km/h: impossible travel - challenge or revoke session

Attacks on Windows authentication

In Windows domains, attackers who gain administrative access to one machine try to harvest credential material from memory and reuse it. Pass-the-hash uses a captured NTLM password hash to authenticate as the user without knowing the password, because NTLM's challenge-response accepts the hash itself. Pass-the-ticket reuses captured Kerberos tickets. Overpass-the-hash uses a hash to request Kerberos tickets. Golden and silver tickets, and Kerberoasting, were described in lesson 5. These techniques let an attacker move laterally until they reach an account with domain-wide privileges. Countermeasures are the tiered administration model, so that privileged credentials are never exposed on lower-tier machines; unique local administrator passwords managed by tools such as Windows LAPS; credential protection features such as Credential Guard; restricting or disabling NTLM; adding privileged users to protected groups that cannot use weak protocols or cached credentials; and monitoring for anomalous authentication patterns.

Credential reuse techniques and defences
TechniqueWhat is reusedPrimary defences
Pass-the-hashNTLM password hashTiered admin; unique local admin passwords (LAPS); restrict NTLM; Credential Guard
Pass-the-ticketKerberos ticket from memoryTiered admin; short ticket lifetimes; endpoint detection
Golden ticketForged TGT using the krbtgt keyProtect domain controllers as Tier 0; double krbtgt reset after compromise
KerberoastingService ticket cracked offlineLong random managed service account passwords; AES only
Token theft in cloudSession cookie or refresh tokenPhishing-resistant MFA; token protection; conditional access; short lifetimes

Authorization attacks and insider misuse

Some attacks target authorization rather than authentication. Privilege escalation exploits misconfiguration or vulnerabilities to gain more rights than granted: vertical escalation reaches higher privilege, such as a user becoming an administrator; horizontal escalation reaches another user's data at the same level, such as the insecure direct object reference in lesson 7. Cloud misconfigurations allow escalation when an identity can, for example, attach a more powerful policy to itself or pass a privileged role to a resource it controls. Insiders, by contrast, need no escalation: they misuse access they legitimately hold, which is why least privilege, separation of duties, monitoring of sensitive data access and prompt removal of access matter so much.

Physical access attacks belong in this domain too. Tailgating and piggybacking follow an authorized person through a controlled door; cloned proximity badges, many of which use older unencrypted technology, can be copied at a distance; and lost badges that are not revoked remain valid. Countermeasures include mantraps or turnstiles at sensitive areas, guards and staff trained to challenge, modern encrypted badge technology, badge plus PIN for high-security doors and immediate revocation of lost badges.

Worked problem

Investigating a token theft

A finance manager reports nothing unusual, but the identity provider shows her session in use from two countries at once, a new inbox rule forwarding invoices externally and a newly consented application called Invoice Helper with mail permissions. She uses push MFA. What happened and what should responders do?

Show solution
  1. The pattern fits adversary-in-the-middle phishing: the attacker captured her session cookie after she completed push MFA, then added persistence.
  2. Revoke all sessions and refresh tokens, reset her password and re-register her authenticators, preferably with a phishing-resistant method.
  3. Remove the forwarding rule and revoke the consent granted to Invoice Helper; a password reset alone would leave both in place.
  4. Search for the same phishing domain, rule and application across all users, alert finance to confirm recent payment changes by phone and review conditional access and consent policies.

Answer: Token theft and consent grants survive password resets. Response must revoke sessions, tokens and grants, remove persistence and fix the gaps that allowed it.

Thinking like a manager

When an exam question describes an access attack, identify which step it defeats. Guessing attacks defeat weak authentication; phishing and AiTM defeat non-phishing-resistant MFA; recovery attacks defeat help desk processes; token theft defeats session controls; credential reuse defeats tiering; insider misuse defeats least privilege. The most comprehensive answers move toward phishing-resistant authentication, least privilege with just-in-time administration, short-lived and bound sessions, strict recovery and detection that looks across accounts and sessions.

Common mistakes

  • MistakeRelying on per-account lockout to stop password spraying.

    InsteadDetect across accounts and sources, block common passwords and require MFA.

  • MistakeBelieving any MFA stops phishing.

    InsteadUse phishing-resistant MFA; codes and push are vulnerable to AiTM proxies and fatigue.

  • MistakeResponding to account takeover with only a password reset.

    InsteadAlso revoke sessions, refresh tokens and OAuth consents, and remove persistence such as mail rules.

  • MistakeLetting administrators use privileged accounts on ordinary workstations.

    InsteadUse tiered administration and privileged access workstations to prevent credential harvesting.

  • MistakeLeaving users free to consent to any third-party application.

    InsteadRestrict consent, require admin approval for high-risk permissions and review grants.

Summary and key terms

  • Spraying and stuffing exploit common and reused passwords; detect across accounts and require MFA.
  • Adversary-in-the-middle phishing steals authenticated sessions; only phishing-resistant MFA stops it.
  • MFA fatigue, SIM swapping and help desk social engineering target weaker factors and recovery.
  • Stolen session cookies and tokens bypass passwords and MFA; keep them short-lived and bound, and revoke them on suspicion.
  • Pass-the-hash, pass-the-ticket and golden tickets reuse Windows credential material; tiering and LAPS limit them.
  • Privilege escalation can be vertical or horizontal; insiders misuse legitimate access.
  • Physical attacks such as tailgating and badge cloning need physical access controls.
Password spraying
Trying a few common passwords against many accounts.
Credential stuffing
Using leaked credential pairs from other breaches.
Adversary-in-the-middle phishing
A reverse proxy that relays a real login and captures the session.
Consent phishing
Tricking a user into granting OAuth permissions to a malicious application.
MFA fatigue
Flooding a user with push prompts until one is approved.
SIM swapping
Fraudulently moving a phone number to an attacker's SIM.
Pass-the-hash
Authenticating with a captured NTLM hash instead of the password.
Impossible travel
Sign-ins whose locations and times imply an impossible speed.
Vertical privilege escalation
Gaining a higher level of privilege.
Tailgating
Following an authorized person through a controlled entrance.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. How does password spraying avoid lockouts?

    Show answer

    It tries only a few passwords per account across many accounts.

  2. Why do OTP codes not stop AiTM phishing?

    Show answer

    The proxy relays the code and captures the resulting session cookie.

  3. Why doesn't a password reset end a consent phishing compromise?

    Show answer

    The OAuth grant remains valid until revoked.

  4. Name two countermeasures to MFA fatigue.

    Show answer

    Number matching and phishing-resistant authenticators.

  5. What does pass-the-hash exploit?

    Show answer

    NTLM accepting the password hash in place of the password.

  6. What tool provides unique local administrator passwords on Windows?

    Show answer

    Windows LAPS.

  7. Which cookie attributes help protect session cookies?

    Show answer

    Secure, HttpOnly and SameSite.

  8. What is horizontal privilege escalation?

    Show answer

    Accessing another user's resources at the same privilege level.

  9. Why is impossible travel only a signal?

    Show answer

    VPNs and cloud proxies can make legitimate sign-ins appear far apart.

  10. What physical control stops tailgating at sensitive areas?

    Show answer

    Mantraps or turnstiles, plus staff who challenge.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz