Phishing kits turn a link into a working login trap.
Phishing kits build fake sign-in, document and payment pages that collect what a visitor enters or relay it to a real service. Since 1 August we have matched phishing-kit code on 18,575 sites.
Phishing kits in numbers
Since 1 August, when our rule-match records begin, counted on 12 November 2026. How we count.
| Sites with phishing-kit code | 18,575 |
|---|---|
| Sites with a match in the last 30 days | 7,681 |
| New sites in October | 9,974 |
| Captured sites running WordPress | 54 |
| Captured sites requesting Joomla core paths | 2 |
| Named kits | 29 |
Kits compared
The 10 kits with the most sites in the last 30 days. All 28 kits are listed at the end of the page. One site can carry more than one kit.
| Kit | Last 30 days | All sites | First match |
|---|---|---|---|
| MassCollect | 1,311 | 4,888 | |
| SamePath | 276 | 409 | |
| SessionSerpent | 164 | 1,772 | |
| Legokit | 145 | 469 | |
| Kali365 | 141 | 427 | |
| Ghost | 99 | 183 | |
| CSuite | 73 | 106 | |
| Gcore | 68 | 166 | |
| PassTwice | 40 | 152 | |
| TurnShade | 24 | 120 |
A phishing kit is the page code and operator service behind a fake sign-in, document portal or payment form. It can copy a familiar page, relay a real login as it happens or send the visitor to a genuine device sign-in that authorizes the operator's session.
email, message or QR code
-> phishing host or compromised site
-> CAPTCHA, fingerprint or proof-of-work gate
-> fake form, relayed sign-in or device-code prompt
-> credentials, MFA value, session cookie or OAuth token captured
Dedicated hosts dominate our captures
Phishing pages live in both places: domains and hosted projects set up for the campaign, and legitimate websites that somebody has compromised. Kali365 appears on hosted projects, object storage and attacker-controlled domains. Sneaky 2FA has appeared on compromised WordPress sites and attacker-controlled domains.
Our captures lean heavily toward standalone phishing infrastructure. Of the 10,500 phishing sites captured since 25 September, 54 ran WordPress and 2 requested Joomla core paths.
The page sits at the root, behind a long random path or under a hosted-project address. Some roots show a holding page while the phishing path stays active. TemplateHop displays a loading animation, then randomly picks a destination from an embedded URL pool. Its redirect reaches a fake Meta appeal page that collects passwords and authentication codes.
The gate decides who sees the page
A direct visit often stops at a CAPTCHA or a blank page. SamePath shows a fake Cloudflare checkbox, posts a page-supplied code to the current path and reloads the same URL to release the phishing page. TurnShade submits a Cloudflare Turnstile token with the original path before releasing a counterfeit Microsoft sharing page.
Browser checks run alongside these challenges. Kali365 scores browser properties, window dimensions and mouse, touch or scroll activity before it submits the visitor to the next path or opens a decoy. Gcore checks automation flags, crawler names, WebGL, browser languages and battery support. Sneaky 2FA variants make the browser solve a proof-of-work challenge or an image puzzle before serving the Microsoft sign-in page. ShieldCrypt covers an encrypted form with a spinner and waits for browser interaction before rendering it.
Some gates stack. A Hebrew page that claims to verify access before opening a shared file runs webdriver, timing and proof-of-work checks whose results only change its status text. Behind it, a cloaker shows filtered visitors a decoy company page, and everyone else gets an "Email Identity Check" page whose Open Document button builds a per-session path to a Microsoft and Adobe sign-in lure. A session without a token goes through href.li to Microsoft's real support site, so an analyst who follows the link lands somewhere legitimate.
Some kits keep the destination outside the page. A fake Adobe "Secured Remote Attachment" viewer on Vercel clicks its own View All button after a few seconds and redirects to a URL read from a public Firebase Realtime Database path, so the operator can change the target without touching the page. A FingerprintJS gate logs each visit to logger.php, turns away bots and VPN users and sends the rest to a Coinbase sign-in clone.
Test the exact link from the message. Visiting the hostname alone can show a different page.
Credentials are one kind of capture
MassCollect takes a username and password, displays an error and clears the password field for another attempt. Legokit builds the page around the email address in the link, sends repeated password attempts to Telegram or a PHP handler, then redirects to the real domain. PassTwice uses Meta verification and appeal lures to collect business identity, then repeats password and MFA prompts with scripted rejection messages. An Instagram clone labels its Web3Forms submissions "Training Simulation" and sends the real email and password to the operator.
The collection extends to payment details and recordings. Miarroba page chains add phone numbers, card details, camera frames and verification codes to the same victim record. PostalScam streams input over a token-bound WebSocket while an operator selects card errors, code requests and app-approval prompts. NexoSiren requests location, camera and microphone access behind document, message and account lures and sends the recordings to Telegram. Bluenoroff uses fake meeting pages to report visitor details and upload camera screenshots while an invitation form collects email passwords.
Document and meeting lures push downloads too. CSuite's fake Adobe document page reports each visit to Telegram and starts an installer download. Bluenoroff's Zoom-branded pages request a download URL from process.php or animate update progress before starting a Dropbox download through a hidden iframe.
Operators also steer bank pages by hand. A Bancolombia page signs its messages over a WebSocket while an operator moves the victim between login and code screens, and a PKO iPKO Biznes page reports which screen the victim is on and opens the screen the operator picks. A Desjardins AccesD page sits behind Interac e-Transfer lures and puts a reCAPTCHA in front of its login form. A fake Phantom wallet page looks up its collection server in a DNS TXT record over HTTPS before posting the recovery phrase.
Some pages read the card itself. A Santander "card demagnetisation" page runs inside a malicious Android app and uses the app's NFC bridge to read the victim's contactless card. It relays the card's APDU commands and the PIN over a raw TCP connection to 194.36.85[.]76 on port 8888, where the operator's payment terminal waits for them. Its version string, 20251101-santander-es, marks one build per bank.
Adversary-in-the-middle kits relay the login while it happens. FlowerStorm and Sneaky 2FA send the credentials and MFA response to the real service through their backend, then keep the authenticated session returned by that service. NakedPages takes a browser-in-the-middle approach: it streams a live login DOM into the page and sends typed, pasted and selected input back over Socket.IO. Bluekit does the same behind a fake human check, replaying the attacker's browser with rrweb over an encrypted WebSocket.
Device-code kits avoid a copied password form. Kali365, EvilTokens and N0va give the visitor a short code and send them to Microsoft's real device sign-in. The credentials and MFA prompt belong to Microsoft, but the code authorizes the session started by the kit. Gcore uses another route, asking the visitor to approve OAuth scopes for an application.
What we see across phishing sites
| Month | New sites |
|---|---|
| September | 4,638 |
| October | 9,974 |
| November so far | 2,761 |
Checking a site
Open the exact reported path in a private browser with developer tools recording the page and network log. Use test values only. Check for:
- a root page that changes when the original long path is used
- Turnstile, a home-made CAPTCHA, an image puzzle or repeated browser-fingerprint requests before the form appears
- a loading animation that randomly redirects from an embedded URL pool
- forms that post credentials, card details or codes to the same host, Telegram, Discord or an unfamiliar endpoint
- Socket.IO or WebSocket traffic while values are typed
- a meeting page that uploads camera screenshots or starts a download presented as an update
- a device code copied to the clipboard and a link to a genuine Microsoft sign-in
- an OAuth consent form whose redirect address or requested scopes do not belong to the application
- scripts, PHP files, WordPress plugins or hosted-project deployments absent from the site's release
Remove the page and every gate or loader in front of it. Review DNS, hosting, CMS and deployment access, rotate the credentials that could have placed the files, clear caches and test the original path again.
Kits
MassCollect
1,311 sites in the last 30 days
MassCollect is a set of generated login pages that send each login to a same-origin collector and then force another attempt.
SamePath
276 sites in the last 30 days
SamePath puts a fake Cloudflare human check in front of a phishing page and releases it by reloading the same URL after verification.
SessionSerpent
164 sites in the last 30 days
SessionSerpent uses modified Telegram Web pages to collect reusable browser session state and contacts.
Legokit
145 sites in the last 30 days
Legokit is a phishing kit publicly called LogoKit.
Kali365
141 sites in the last 30 days
Kali365 is a phishing-as-a-service kit that starts a Microsoft device-code session and asks the visitor to authorize it.
Ghost
99 sites in the last 30 days
Ghost is an AES-GCM loader that opens an encrypted Microsoft device-code lure in the browser.
CSuite
73 sites in the last 30 days
CSuite is a fake Adobe document page that reports each visitor to Telegram and pushes an MSI installer.
Gcore
68 sites in the last 30 days
Gcore is the name public research uses for browser-gated OAuth pages that submit a Turnstile response with an authorization-code request.
PassTwice
40 sites in the last 30 days
PassTwice uses fake Meta verification and appeal pages to collect identity details, repeated passwords and MFA codes.
TurnShade
24 sites in the last 30 days
TurnShade puts a Cloudflare Turnstile challenge in front of a counterfeit Microsoft sharing page and carries the visitor's original path through verification.
Miarroba
14 sites in the last 30 days
Miarroba groups several Spanish-language phishing page chains found on the same free-hosting service.
NakedPages
11 sites in the last 30 days
NakedPages is a phishing toolkit with a bidirectional browser relay, direct credential collectors and a detailed fingerprint gate.
AnonyMousKIT
9 sites in the last 30 days
AnonyMousKIT is a phishing service aimed at owners of lost or stolen Apple devices.
N0va
9 sites in the last 30 days
N0va is a Microsoft device-code phishing kit with a browser fingerprint, a small controller API and an evolving numeric XOR wrapper.
Bluenoroff
6 sites in the last 30 days
Bluenoroff uses fake meeting and invitation pages to collect visitor details and credentials and push Zoom-branded downloads.
EvilTokens
5 sites in the last 30 days
EvilTokens is a phishing-as-a-service platform built around Microsoft device-code authentication.
Bluekit
4 sites in the last 30 days
Bluekit is a browser-in-the-middle phishing kit.
NexoSiren
3 sites in the last 30 days
NexoSiren uses fake document, message and account pages to collect browser details, location and camera and microphone recordings.
3DCookies
2 sites in the last 30 days
3DCookies is a Microsoft 365 phishing kit with proxy and device-code routes behind one CAPTCHA gate.
PostalScam
2 sites in the last 30 days
PostalScam collects identity and payment details through fake redelivery, tax-payment and banking pages while an operator controls the next prompt.
Darcula
1 site in the last 30 days
Darcula is a phishing-as-a-service platform.
Kratos
1 site in the last 30 days
Kratos was a phishing-as-a-service kit for Microsoft 365 sign-ins.
OmegaLord
0 sites in the last 30 days
OmegaLord is a JavaScript phishing kit with sign-in and payment collection pages.
ShieldCrypt
0 sites in the last 30 days
ShieldCrypt keeps phishing forms in an encrypted page element and covers the page with a spinner until the visitor interacts.
Sneaky 2FA
0 sites in the last 30 days
Sneaky 2FA is an adversary-in-the-middle Microsoft 365 phishing kit.
TemplateHop
0 sites in the last 30 days
TemplateHop is a redirector that picks a destination from an embedded URL pool while showing a loading animation.
VaultToken
0 sites in the last 30 days
VaultToken is a device-code phishing page with a DocuSign single-sign-on template.
FlowerStorm
FlowerStorm is an adversary-in-the-middle Microsoft phishing kit identified by botanical page titles and its next.php relay..