← marwandiallo.comlabs

Phishing-resistant MFA, on the wire

Most "MFA" is still replayable. This lab models the four failure modes that matter in the field: real-time adversary-in-the-middle proxies, helpdesk-led re-enrollment, post-auth cookie theft, and soft fallback abuse. Change the factor and the recovery/session controls, then watch the attack outcome rerun live.

How this works. Pick a factor and an attack path, then change the recovery and session controls. The lab scores whether the attacker is blocked, forced into a degraded path, or fully compromises the account/session.

Attack replay

Evilginx / EvilProxy style kits relay the exact login ceremony to the real site and steal whatever the victim can replay.

References: Microsoft, 'EvilProxy phishing as a service' · NIST SP 800-63B §5.1 phishing resistance

Live controls

Origin-bound public-key auth. The phishing site gets a signature for the wrong origin.

Outcome

Blocked

  1. Primary factorFIDO2 / WebAuthn passkey
  2. Attacker relays sign-in in real timeThe reverse proxy forwards credentials, second factor, and any session cookie the real site issues.
  3. Authenticator signs originThe phishing origin is wrong, so the WebAuthn assertion does not validate at the real relying party.

Findings (1)

infoMFA02Origin binding stops real-time relay

This is the property NIST means by phishing resistance: the authenticator signs the origin the browser is actually on.

fix: Keep passkey-only for high-value roles and block weaker fallback factors.