Skip to main content
Blog
Blog Attacks

Credential harvesting: how attackers actually steal passwords in 2026 (and why MFA alone stops less than you think)

Credential harvesting has moved from bulk phishing to session cookie theft, Evilginx style MFA bypass, and third party script injection at login. Here is how detection actually works.

Jul 19, 2026 9 min read
Credential harvesting: how attackers steal passwords in 2026

TL;DR: credential harvesting

  • Harvesting is how attackers get valid credentials. Stuffing is what they do next. Different signals, different detection stacks.
  • Standard MFA does not stop the four dominant techniques: phishing landing pages, Evilginx AiTM proxies, compromised third-party scripts, infostealer malware.
  • Your most under-defended surface is your own login page. A compromised third-party script reads the form as your user types, and server-side controls never see it.

Credential harvesting — where the credentials come from

Credential harvesting is not credential stuffing (and the difference matters)

Say a fraud vendor tells you they "stop credential attacks." Ask them which half, harvesting or stuffing. If they cannot answer cleanly, they are selling you rate limiting dressed up as a threat platform.

Harvesting is the top of the funnel. Attackers collect valid credentials. Stuffing is the bottom. Attackers try those credentials against target sites. A single harvesting operation feeds thousands of stuffing campaigns. A single stuffed credential can be tested against every merchant on the internet.

The detection signals are different:

  • Harvesting shows up on YOUR site as suspicious script activity on the login page, or as data exfiltration to an unfamiliar third party domain.
  • Stuffing shows up on YOUR site as bulk login attempts, IP velocity, and distributed low and slow patterns.

Rate limiting stops stuffing. It does not touch harvesting. If your only credential attack defence is a rate limit on /api/login, you are catching the second half of the attack and letting the first half continue unchallenged.

Four 2026 harvesting techniques your MFA does not stop

1. Phishing landing pages (still the number one attack vector)

Attackers register a look alike domain (see our post on homoglyph attacks for the Cyrillic character trick), clone your login HTML, and drive traffic via SMS or email. The user types their password into a page that looks identical to yours. The credential goes to the attacker.

Standard MFA reduces the value of the stolen password, but not to zero. If the user's password is reused elsewhere (roughly 65% are, per every credential reuse study), the attacker has just gained access to their email, their bank, or their SaaS estate.

2. Evilginx style adversary in the middle (AiTM)

Evilginx is an open source phishing framework that runs a reverse proxy between the victim and the real login page. The victim types their password. Evilginx forwards it to the real site. The real site returns the MFA prompt. The victim solves the MFA. Evilginx forwards it. The real site returns the session cookie. Evilginx steals the session cookie.

This defeats TOTP, SMS OTP, and push notification MFA. It does not defeat passkeys or FIDO2 hardware keys, because those cryptographically bind to the origin domain and refuse to authenticate for a proxied site.

If your user base is not on phishing resistant MFA in 2026, Evilginx class attacks are trivially cheap for attackers. The framework is open source, the phishing templates are commodity, and the payoff is a bypass of every non FIDO2 MFA implementation.

3. Third party script compromise on your own login page

This is the one most defences miss. Your login page is clean. Your server side code is clean. Your certificates are valid.

But your login page loads scripts. Google Tag Manager. A chat widget. Analytics. A/B testing. Any one of those, or any of their transitive dependencies, can be updated by its owner without notifying you. When one gets compromised, either through a supply chain attack like Polyfill.io (490,000 plus affected sites in 2024) or through a tag manager rule change, the compromised script now runs in the same JavaScript context as your login form.

It can read the form fields. It can attach a listener to the submit event. It can beacon the credentials to an attacker controlled domain before your login endpoint even sees the request.

Your WAF does not see this. Your server logs do not see this. Your SIEM does not see this. The only place the exfiltration is visible is inside the visitor's browser session, at the moment it happens.

4. Infostealer malware on the user's device

Infostealers like RedLine, Raccoon, and LummaC2 harvest saved passwords from browsers, cookies from local session stores, and MFA tokens from authenticator apps. Once installed on a victim's device, they run continuously and beacon the collected credentials to attacker infrastructure.

You cannot stop this attack from your side of the wire. What you CAN do is detect the downstream use. An authentication that succeeds from a device fingerprint or geographic origin inconsistent with the account's history.

Where cside intercepts credential harvesting

The dataset attackers are actually using in 2026

RockYou2024 is the reference corpus. Published in mid 2024, it contains around 10 billion unique plaintext passwords. An aggregate of every meaningful breach compilation that came before it, deduplicated and normalized. Every other prior compilation (Collections #1 through #5, Have I Been Pwned's Pwned Passwords, the various "COMB" leaks) is a subset.

Attackers do not stuff 10 billion credentials against your login. That would trip any rate limit. What they do is:

  1. Filter to credentials matching your domain (via the source breach metadata)
  2. Filter to credentials created in the last 24 months (higher likelihood of still being valid)
  3. Filter to passwords that pass basic strength heuristics (attackers assume the user reused a "real" password, not password123)
  4. Test the filtered subset in low and slow batches from distributed residential IPs

This is why IP reputation does not help you catch modern credential stuffing. The IP is a residential ISP. The velocity per IP is 2 to 3 attempts per hour. Only cross account correlation catches it.

What actually detects credential harvesting

Four signal sources, in order of ROI.

1. In session monitoring of your login page

The only defence that catches technique number three (third party script compromise) is watching what scripts actually read from the login form in a real user's browser session. This is what cside's client side security platform does. A first party sensor observes DOM reads, form field access, and outbound network activity in every real user session, then flags any script that touches the credential fields without being on the authorized list.

You cannot build this yourself as a one off. You need continuous observation across every real session, because the attacker will only arm the exfiltration on a subset of visitors (targeted geo, targeted browser, targeted account type) to avoid detection scanners.

2. Device intelligence at login

At the login endpoint, compute a device fingerprint from browser attributes, TLS or JA fingerprint, and behavioral cadence. Compare it against the account's device history. A new device from a new geo attempting authentication is a strong signal that something is off, whether from Evilginx style AiTM or from a fresh infostealer harvest.

Our own device intelligence primer walks through the signal stack. The short version: 40 plus browser attributes combined into a stable device ID that survives cookie clears and private windows.

3. Have I Been Pwned lookup at login (or better, at signup)

Have I Been Pwned publishes a range lookup API that lets you check whether a password appears in any known breach corpus without sending the actual password (via k anonymity SHA-1 prefix). This should be a step in every login flow above a certain risk score.

If a user is authenticating with a password that appears in RockYou2024, treat that as prima facie evidence of harvesting. Force a password reset, and step up to phishing resistant MFA on their next login.

4. Correlation across accounts

The single most reliable signal is that the same device, same fingerprint, or same behavioral pattern is attempting authentication against multiple accounts on your platform in a short window. Rate limiting per account misses this. Rate limiting per IP misses this because residential proxies rotate every 30 seconds. Only device signal correlation catches it.

Where MFA still helps (and where it does not)

Phishing resistant MFA, WebAuthn, FIDO2 hardware keys, passkeys, genuinely stops the phishing landing page and Evilginx cases. If your user base is not on it by end of 2026, you are running an anachronism.

But phishing resistant MFA does not help against:

  • Third party script compromise on your own login page (the compromised script reads the password field regardless of MFA type)
  • Infostealer malware on the user's device (the malware exfiltrates the passkey seed or the session cookie post auth)
  • Cross account correlation attacks (the credential is already valid; MFA at first login is not the bottleneck)

Layered detection, MFA plus in session monitoring plus device intelligence plus HIBP lookup, is what closes the four gaps. Not any single control.

What we tell people who ask if cside is "another MFA vendor"

We are not. MFA is what happens at your login endpoint. cside is what happens in the browser session, in the seven seconds between the user typing their password and hitting submit. We see the scripts that read the form. We see the outbound network calls. We see the exfiltration attempts that never reach your server logs.

If your defense stops at the login endpoint, you are not seeing credential harvesting technique number three. That is the case for roughly 90% of e commerce, fintech, and SaaS logins in 2026. Fix it, and you close the biggest under defended gap in the credential attack chain.

A harvester script blocked at cside

Mike Kutlu
Client-Side Security Consultant

Client-side security consultant at cside. 10+ years of experience implementing technology solutions for enterprises (previously at Oracle, Cloudflare, and Splunk). Now helping teams use client-side intelligence to catch & reduce fraud.

FAQ

Frequently Asked Questions

No. Harvesting is how attackers **get** valid username and password pairs. Stuffing is what they do **with** them. A harvesting operation feeds a stuffing campaign, but detecting each one requires different signals. Harvesting shows up as suspicious script activity on your own login page or as third party CDN exfiltration. Stuffing shows up as bulk login attempts.

Only some kinds. Standard TOTP or SMS MFA gets bypassed by phishing kits like Evilginx that proxy the login flow and steal the resulting session cookie. Phishing resistant MFA (passkeys, WebAuthn, FIDO2) does stop the classic adversary in the middle attack, but only for the first factor. Session hijacking after login still works if the attacker steals the session cookie via a compromised third party script.

Four places, in descending order of prevalence. Phishing landing pages that clone your login (still number one), Evilginx style adversary in the middle reverse proxies, compromised third party JavaScript on your own login page (Polyfill class attacks), and infostealer malware on the user's device. The third one is the under appreciated case. Your login page is fine, but a tag manager rule loads a compromised script that reads the form.

RockYou2024, published in mid 2024, contains around 10 billion unique plaintext passwords aggregated from prior breaches. Attackers do not stuff every credential in the file. They filter by domain, by breach recency, and by password strength heuristic to maximize account takeover yield per attempt.

cside runs a first party sensor in the visitor's browser that observes every script executing on your login page in real user sessions. When a third party script reads a form field, opens a connection to an unfamiliar domain, or modifies the login form DOM, we flag it in real time and preserve the payload as forensic evidence. Server side controls never see this because the exfiltration happens client side, before the login request reaches your origin.

Monitor and Secure Your Third-Party Scripts

Gain full visibility and control over every script delivered to your users to enhance site security and performance.

Start free, or try Business with a 14-day trial.

cside dashboard interface showing script monitoring and security analytics
Related Articles
Book a demo