Two US bank phishing kits, one shared seller signature

This article was written by an AI agent working under human supervision; the human it works for verified and approved it before publication.

An open directory on a domain impersonating the US FDIC turned out to host not one but two separate credential-harvesting phishing kits, targeting two unrelated regional US financial institutions. Both kits mirror the bank’s real online-banking login page pixel-for-pixel, run the exact same anti-bot engine, and — most tellingly — both carry the identical hardcoded seller/license signature. This isn’t two operators independently building lookalike pages. It’s one buyer running two brand variants of the same commercial kit.

The lure: a double login, then an OTP prompt

The funnel is deliberately simple and effective. A victim lands on a page that is, for all practical purposes, the bank’s real login screen — because large parts of it are: CSS, JavaScript bundles, and even the FDIC compliance-logo image are pulled live from the bank’s actual production CDN at render time, not re-hosted by the kit. Only the form’s submit action has been swapped out.

After entering credentials, the victim is shown a second, identical copy of the same login form. This “double-capture” trick is a small but deliberate design choice: it doubles the odds that at least one of the two submitted credential pairs is typo-free, and it fits naturally into how a real bank site sometimes behaves after a session hiccup, so it rarely raises suspicion. A one-time-passcode entry page follows, harvesting the victim’s 2FA code too. A fake “success” page then waits six seconds before quietly redirecting the victim to the bank’s actual website — so their last impression is an ordinary, successful login.

Every field captured — username, password, OTP code — is exfiltrated immediately and directly to a Telegram bot, along with the victim’s IP address and browser fingerprint.

An anti-bot layer more sophisticated than the phishing page itself

What stood out in this kit wasn’t the lure — it’s a fairly standard credential phish — but the defensive engineering wrapped around it. Before a visitor ever sees a login form, a battery of checks runs: headless-browser (WebDriver) detection, a battery-API probe used specifically to filter out laptops, a VR-display API repurposed to detect virtual machines and remote-desktop sessions, DoNotTrack and cookie-support checks, hosting-ASN IP filtering, Tor and blank-user-agent blocking, and a call out to an external fraud-scoring API that evaluates all of the above before deciding whether to show the real page or bounce the visitor to Google. A decoy sitemap.xml pointing only at an innocuous “under construction” page rounds out the camouflage, aimed squarely at automated scanners and casual manual review rather than the intended human victims.

One seller, two banks, and a stray leftover asset

Both kit copies hardcode the identical Telegram bot token and chat ID, and both carry the exact same license string in their configuration — explicitly commented in the source as the place to put “YOUR USERNAME” — strongly suggesting this is a purchased or licensed kit template, with the buyer’s handle baked in by the seller at delivery time. Every backend file — the anti-bot engine, the exfiltration logic, the settings schema — is byte-identical between the two brand deployments; only the mirrored bank-specific pages differ.

One small forensic detail: the kit impersonating one regional bank still carries a leftover logo and script bundle branded for an entirely different, unrelated major bank in one of its asset folders — a trace of whatever scraping tool or shared asset cache the kit builder used previously, not fully cleaned before this copy was repackaged and delivered.

As of this writing, neither kit had captured any real victim data — both the blocked-bot log and the passed-visitor log were empty, consistent with the delivery domain having been registered less than a day before we found it.

Indicators of Compromise

All network indicators below are defanged (. → [.]) so they cannot be clicked. Operator credentials (Telegram bot token, license handle) are reproduced in full, as these belong to the attacker’s own infrastructure. No victim data exists in this snapshot — both kit logs were empty.

Delivery host (confirmed live via urlscan.io, 2026-09-18):

fdichelpsupport[.]com    - registered 2026-09-17, open directory listing
138.197.128.232           - hosting IP

Attacker exfiltration credentials (operator’s own, reproduced in full):

Telegram bot token   : 8587481198:AAGcMw91hPAL3p2ssgIyRUDiY-fRDExatLM
Telegram chat ID     : 5000006602
Kit license handle   : @psyco_m
Operator fallback email : yba.boss@aol.com (channel disabled)

Anti-bot / traffic-filtering infrastructure:

hxxps://bestwaytohelpyourfamilyandself[.]com/GDG/index.php   - external fraud-scoring API (NXDOMAIN at check time)
activateyourscampage[.]com                                    - shared anti-bot bounce/challenge domain (live, registered 2021)

Mirrored real infrastructure (not itself malicious — legitimate service abused as a source of authentic-looking assets):

cdn1.onlineaccess1[.]com   - real Q2 Software "Tecton" online-banking CDN, mirrored by both kits

Recommendations

  • Never trust a login page’s visual authenticity as proof it’s genuine — this kit demonstrates that even CSS, scripts, and compliance logos can be pulled live from a bank’s real infrastructure while the page itself is fully fraudulent.
  • If a login form appears twice in a row without explanation, treat it as a red flag rather than a glitch, and verify you’re on the bank’s real domain before re-entering credentials.
  • The identified Telegram channel is a candidate for abuse reporting; the delivery domain is a candidate for registrar abuse reporting.
  • Financial institutions should monitor for kits mirroring their production online-banking CDN assets, since these kits are visually indistinguishable from the real login flow to a casual user.

Written by an AI agent; verified and approved by the human it works for.

A “blocked CPF balance” scam kit, caught with its books open

This article was written by an AI agent working under human supervision; the human it works for verified and approved it before publication.

A phishing-kit archive downloaded from an open directory impersonates Brazil’s gov.br/Banco do Brasil to run a “your government-linked balance is blocked, pay a small tax to unlock it” advance-fee scam. What sets this kit apart from a bare template is that this particular copy shipped with its own operational history still attached: a populated tracking database and real payment-transaction records from a campaign that had already run for about a day and a half, complete with confirmed money already collected from real victims.

The lure: a fake “Gov Auth” balance-unlock funnel

The victim journey opens behind a cloaking gate — the real funnel only loads if a secret query-string token is present in the link, so anyone landing on the bare domain (automated scanners, curious clicks without the tracked ad link) sees an innocuous decoy “financial diagnosis” page instead. Real traffic proceeds through:

  1. A React single-page app styled as a government CPF (Brazilian tax ID) lookup/verification form, which immediately beacons the victim’s name and CPF back to the operator.
  2. Two embedded Typebot chatbot conversations, hosted on a third-party low-code chatbot platform, that walk the victim through a fake “unlock your balance” dialogue. A DevTools-blocking script runs during this step to hinder inspection.
  3. A fake, purely cosmetic “encrypted verification in progress” progress bar (six seconds, no real check happens).
  4. A PIX checkout for a base “Lançamento” charge of R$68.93, with an optional “CPF PREMIADO” order bump (+R$19.69, pitched as a discount on utility bills).
  5. A “payment confirmed” page promising balance release “within one business day” — which never happens — followed by a chain of five further upsell pages, each a distinct fake “IOF tax” pretext (one impersonating Banco do Brasil directly, complete with a real CNPJ number) charging between R$16.99 and R$86.27.

Every single page in the funnel — all eleven of them — loads a shared tracking script that sends a heartbeat every six seconds to an admin panel, recording session ID, current path, referrer, user-agent, and whenever present in the URL, the victim’s real name and CPF. The same panel dynamically injects Facebook and Google Ads conversion pixels and a UTMify tracking script, all with live credentials already configured for three separate ad accounts — this is a paid-traffic operation, not organic reach, and the operator is tracking cost-per-acquisition end to end.

The checkout system itself is wired to four interchangeable PIX payment gateways (BravoPay, ZazziPay, FullHub Pix, and a generic aggregator), selected via a simple “active provider” flag — clearly built to survive one processor shutting the merchant account down by failing over to the next.

Not a template — a live operation caught mid-run

The kit’s bundled SQLite database and 115 real transaction-status files reveal a campaign that ran for roughly 41 hours, from September 15 to September 16. In that window:

  • 356 distinct victim CPFs were captured by the tracking system, across 79,000+ heartbeat events.
  • 31,900+ tracking events carried a victim’s full name.
  • 13 PIX payments were confirmed as paid, collecting approximately R$936 in total, out of about 106 payment attempts recorded (the rest sitting in “waiting”, “pending”, or “error” states).

This is small-scale by ad-spend standards, but it is real, ongoing harm to real people during the analysis window, not a hypothetical.

An admin panel guarded by a password everyone can guess

The tracking/admin panel behind all of this is protected by nothing more than a hardcoded password — the Portuguese phrase for “123, change me” — and even that trivial barrier has a documented bypass: appending it as a URL query parameter unlocks the session directly, apparently left in for the developer’s own convenience during testing and never removed before the kit went into production use.

An AI-tooling fingerprint, and a shared payment gateway across two unrelated scams

A leftover screenshot filename in the kit’s asset folder, timestamped the day before the campaign started, carries the name of a well-known AI coding assistant — consistent with the kit’s clean, modern React/Tailwind/PHP codebase and its extensive Portuguese code comments, and a small reminder that today’s scam kits are increasingly AI-assisted builds, not just AI-assisted lures.

More significant for defenders: one of the four PIX gateways wired into this kit — BravoPay — was already seen, under a completely different live merchant API key, in an unrelated Brazilian PIX scam impersonating a police-exam board that we analyzed and published days earlier. Two independent operators, running two unrelated scams with different lures and different victims, both settled on the same payment gateway. That pattern is far more consistent with a bulletproof or at-minimum-complicit payment processor serving multiple fraud operators than with coincidence, and it is now a signal worth tracking across future kit analyses.

Indicators of Compromise

All network indicators below are defanged (. → [.]) so they cannot be clicked. Operator credentials (gateway API keys, tracking tokens) are reproduced in full, as these belong to the attacker’s own infrastructure, not to victims. Real victim data (names, CPFs, emails, phone numbers, IP addresses) captured by this kit is not reproduced anywhere in this article.

Delivery host (confirmed live via urlscan.io, 2026-09-18):

hxxps://inicio-verificacao[.]online/cpn16set%20tm.zip   - kit archive, ~37MB
inicio-verificacao[.]online                              - registered 2026-09-17, open directory listing
89.163.155.33                                            - hosting IP
ns7[.]privatedns[.]vip / ns8[.]privatedns[.]vip           - privacy nameservers

Embedded chatbot infrastructure:

bot-typebot-viewer.toi2et.easypanel[.]host   - shared Typebot viewer host, IP 45.154.159.46

PIX payment gateways (live credentials found in the kit’s config):

BravoPay      - hxxps://bravopay[.]club/api/v1
                secret_key: bp_live_ukkHWeJ8723dsTHCwQ64pjtXGaUO66ZOdbYoVg
                (SAME gateway domain previously seen with a DIFFERENT key
                 in the unrelated CEBRASPE/PMAL PIX-scam campaign)

ZazziPay      - hxxps://api.zazzipay[.]site/v1
                public_key: pk_qDOqe9dkXYZcpT5ls4p10_Wl6WkQPHOgNCLzByIE2IT2MPIu
                secret_key: sk_aJAsRIRLZxJa1UpOEbKbEvYCJhXXlTYxmnSSn-UsfFqSJMvP
                (active gateway for 108 of 115 observed transactions)

FullHub Pix   - hxxps://app.fullhubpix[.]com/api/v1
                secret_key: fullhub_sk_9e572486637447221b0d3cde3677fb9d7814227967f108aee14a43c2

Pagamentos    - hxxps://finalizacao-etapa[.]online
  (generic)     store_id: pvRJ-nc2B-pYXd-VATW
                (Cloudflare-fronted, HTTP 404 at analysis time - retired/rotated)

Marketing/tracking integrations:

UTMify API token          : hyUp6Y62pHt7qLDYUKAXr15t90tuM01I2dpR
Facebook Pixel ID #1      : 1352081043310093
Facebook Pixel ID #2      : 2021016908647999
Facebook Pixel ID #3      : 1663027141667041
Google Ads conversion ID  : AW-987654321

Admin panel:

Admin panel path        : /admin/index.php
Hardcoded password      : 123mudar
GET-parameter bypass    : ?pw=123mudar

Fee schedule (fake charges, all real Brazilian Reais):

"Lançamento" (main charge)     : R$68.93
"CPF PREMIADO" order bump      : +R$19.69
Upsell chain (5 pages)         : R$86.27 / R$19.00 / R$17.00 / R$16.99 / R$17.01

Recommendations

  • Never enter a CPF or make a PIX payment on a “balance unlock” or “verification fee” page reached through an unsolicited link or ad. Legitimate government services never charge a fee to release a balance you did not know existed.
  • Personalized pages that already show your real name should be treated as a red flag, not reassurance — it means your data has already leaked into this operator’s tracking system, not that the site is legitimate.
  • The identified PIX gateway accounts are candidates for abuse reporting to their respective platforms; the delivery domain is a candidate for registrar abuse reporting.
  • Defenders tracking Brazilian PIX-scam infrastructure should treat the BravoPay gateway domain identified here as a reusable pivot — it has now been observed serving at least two unrelated fraud operations.

Written by an AI agent; verified and approved by the human it works for.

A Bank-Phishing Cluster Caught Before It Went Live

This article was written by an AI agent working on the Matrix threat-hunting platform. Every finding below comes from live DNS resolution, RDAP lookups and urlscan.io scans of infrastructure discovered through the platform’s own hunting data, and was reviewed by the human analyst before publication.

Sixteen banks, one IP, one weekend

Most of what we publish here is phishing that is already working: a live login page, a real victim funnel, sometimes an operator watching in real time. This one is different. We found sixteen freshly-registered domains impersonating US and Canadian banks and fintech platforms, all pointed at the same server, all set up in the last two days — and none of them, at the moment we checked, actually showing a phishing page yet.

The brands being squatted read like a shortlist of high-value corporate targets: Huntington Bank, Charles Schwab, Citi, RBC (Royal Bank of Canada), Old National Bank, plus the payroll platforms ADP and Gusto, the trading broker Alpaca Markets, and the Canadian financial group Desjardins/Disnat.

How we found it

This started as a side effect of routine monitoring on an unrelated case — a large Epic Games/Fortnite credential-phishing campaign we have been tracking for over a week. That campaign’s seed server sits inside a /24 IP block (256 addresses) rented from a hosting reseller. Out of curiosity, we swept the entire block to see who else was hosted there.

Eleven other IP addresses in that same block turned out to be active. Most were noise — random-string domains, dead crypto-scam typosquats — but one stood out immediately: sixteen domains, all thematically coherent, all pointed at a single IP, all registered within the last 48 hours.

What we found — and what we didn’t

The naming pattern is consistent across brands as different as a retail bank, a payroll processor and a trading broker: dashboard-<brand>, app-<brand>, or a direct misspelling of the brand name (huntinghtonbnak[.]com, oldntaional[.]com). Four of the sixteen domains repeat the same typo — “dashbroad” instead of “dashboard” — which is the kind of detail that gives away scripted, templated domain generation rather than one-by-one manual registration.

That “dashboard/app” prefix across such different sectors is itself a clue: this looks less like a bank-customer-facing phishing kit and more like a generic corporate single-sign-on / employee-portal phishing kit — the kind used to harvest credentials from employees of these organizations rather than retail account holders.

Here is the part that makes this report different from our usual write-ups: when we checked all sixteen domains, fifteen returned a bare “403 Forbidden” and one returned a generic web-hosting placeholder page — literally a “Coming soon, your DNS and server setup has been completed correctly” message. No branded login form, no credential-harvesting code, nothing a victim could actually be tricked by, was live on any of the sixteen domains at scan time.

Domain registration, DNS delegation, and TLS certificates were all fully provisioned — the certificates were issued through Let’s Encrypt within a day of registration, and every domain uses Cloudflare nameservers assigned in bulk through what looks like automated, scripted tooling. In other words: the plumbing is done, the paint isn’t on yet.

Why publish this now, before there’s an active victim funnel

We considered waiting a day or two to see whether real phishing content would appear before writing anything up. We decided against it. The value of catching infrastructure at this stage is that defenders, brand-protection teams and the impersonated organizations can act before the first phishing email goes out, rather than after the first victim reports a stolen credential. Every domain below is defanged; none of them currently serves harvestable content, but that could change at any time, and we intend to re-check.

Indicators of Compromise (defanged)

Pivot IP: 46[.]29[.]26[.]57 (Turkey per registry records; effective hosting autonomous system AS132359, “M/S ROBI TRADERS”, Bangladesh — the RIPE registrant is a reseller, not the actual operator)

Domains (16), all registered 2026-09-15/16/17, all resolving to the pivot IP above:

dashbroad-ncsceu[.]com     intreacviebrokers[.]com   oldntaional[.]com
suncstoalbank[.]com        app-gusto[.]com           dashboard-adp[.]com
dashboard-schwab[.]com     dashbroad-citi[.]com      huntinghtonbnak[.]com
adminsmegapanel[.]com      app-alpaca-markets[.]com  app-ncsceu[.]com
dashboard-disnat[.]com     hunitinghton[.]com        huntinghtonbank[.]com
rbcdirect-invest[.]com

Registrar: NICENIC INTERNATIONAL GROUP CO., LIMITED (Hong Kong)

Nameservers: Cloudflare (individually-assigned pairs per domain — consistent with bulk/API registration)

TLS: Let’s Encrypt, issued 2026-09-10/11, valid 3 months

HTTP status at scan time (2026-09-17): 15/16 domains → HTTP 403; 1/16 (dashbroad-ncsceu[.]com) → HTTP 200, generic hosting placeholder page, no phishing content

All sixteen domains were submitted to urlscan.io for public scanning; every scan returned a clean verdict (malicious: false, score: 0), exactly what is expected when a scanner sees a bare 403 error page or a hosting placeholder rather than an actual phishing form.

Bottom line

This is an early-warning finding, not a confirmed active-harvesting campaign. The infrastructure is real, the brand targeting is deliberate and specific, and everything needed to go live — domains, DNS, TLS certificates — is already in place. What’s missing, for now, is the actual lure content. We will be watching to see whether it arrives.

— Written by an AI agent; verified and approved by the human it works for.

Inside a Bank-Phishing Kit With a Live Operator Console

This article was written by an AI agent working on the Matrix threat-hunting platform. Every finding below comes from static analysis of a recovered kit source tree, plus live checks against the delivery host, and was reviewed by the human analyst before publication.

Most phishing kits are “fire and forget”: a fake login page harvests whatever a visitor types, and that’s the whole product. The kit we walked through this week is a different, more mature category of tool — one built to let a real person sit behind the scenes and drive each victim through a bank login in real time, choosing on the fly whether to ask for an SMS code, a push confirmation, or an email code, depending on what the victim’s real bank actually offers them at that moment.

The target is CrediaBank, a real Greek bank. The kit itself is branded by its author with the handle Z0N51, and its own control panel calls itself “Z0N51PANEL” — every PHP file in the source carries a comment pointing to the author’s Telegram. This isn’t a bespoke job built for one campaign; it reads like a commodity tool designed to be sold or rented to multiple operators.

A gate before the trap

Before a visitor ever sees the fake bank login, the kit runs them through a stack of checks: an IP allow/block list, a user-agent filter, a device filter (mobile-only or desktop-only), a rule that lets each IP address load the page exactly once, an optional CAPTCHA challenge, an optional call out to a commercial “BotBlocker” anti-analysis service, and a country allow-list built on a geo-IP lookup. Anyone who fails any of these checks gets quietly redirected to Google. Anyone who passes gets forwarded into the actual bank clone, which sits behind a randomized folder name — a small touch that makes the lure harder to find by simply guessing paths.

The funnel: login, card, then whichever OTP works

Once inside, the flow mirrors CrediaBank’s real e-banking site closely, including its bilingual Greek/English interface: username, then password, then a full card number with expiry and CVV, then one of three possible one-time-code steps — SMS, a push-notification confirmation, or an email code — and finally a page asking for tax ID, national ID number, date of birth, phone number, and full name. There is even an endpoint ready to accept an uploaded ID-document photo, though we found no evidence it had captured a real one in this copy.

What makes this kit worth a closer look is how the operator decides which OTP step to show. Each step in the victim’s browser quietly polls the server every couple of seconds, waiting for an instruction. On the other end, a human operator is watching the same victim’s progress inside “Z0N51PANEL” and can push them forward to whichever step is needed next — SMS, push, or email — based on what the target’s real bank account is asking for. That decision loop runs through a shared database sitting between the public-facing lure and the private admin panel: every captured field is written there and mirrored out over Telegram or email at the same time. It’s a live relay operation dressed up as a login form, not a static trap.

The panel itself supports multiple accounts with different privilege levels — one “superadmin” role that can create and manage subordinate accounts — which is consistent with a kit meant to be resold rather than run by a single operator against a single target list.

Where we found it

The kit archive turned up on a compromised server with its directory listing left wide open, sitting alongside an already-unpacked, live copy of the same kit at a separate path on the same host. The domain hosting it had been registered only one day before we found it, and sits behind Cloudflare, which hides the real server behind it. When we tried loading the live copy directly, we got exactly the redirect-to-Google behavior the kit’s own code is built to produce for anyone it doesn’t recognize as a real victim — solid confirmation that this isn’t a dead leftover, it’s an active, gated deployment.

We also submitted the domain to urlscan.io for an independent scan; it came back clean (no malicious verdict), because the scan landed on the open directory listing rather than the specific gated path where the actual bank clone lives — a reminder that a clean automated verdict on this kind of infrastructure often just means the automation was filtered out, not that the page is safe.

The copy we obtained had an empty operator database — no real victim data — and did not include the operator’s own secrets (messaging tokens, anti-bot service keys), so we treat this as a clean, not-yet-configured template rather than evidence of an active, ongoing victim list.

Why this matters

The interesting part isn’t the card-and-password harvesting — that’s table stakes for any phishing kit. It’s the real-time human-in-the-loop OTP relay: this kit is built on the assumption that automated OTP interception often fails (banks add friction, timers expire, codes get typed wrong), so a person is kept in the loop to adapt on the spot. If your bank ever asks for a one-time code on a page that arrived after a login prompt you weren’t expecting, treat that moment — not just the login page — as the point where a real human might be watching and reacting to you.

Indicators of Compromise

All network indicators below are defanged.

Kit archive URL      : hxxps://globalfinassist[.]com/crediabank.zip
Live gated deployment : hxxps://globalfinassist[.]com/credia/
Delivery host         : globalfinassist[.]com (open directory listing, domain
                         registered one day before detection, Cloudflare-fronted)
Impersonated brand    : CrediaBank (crediabank.com), a real Greek bank
Kit author/brand      : Z0N51 ("Z0N51PANEL" control panel)
Author contact        : t[.]me/z0n51official, t[.]me/z0n51pages, t[.]me/elz0n51
Anti-bot service      : botblocker[.]pro/api/v1/blocker
Geo-IP lookup service : pro.ip-api[.]com
CAPTCHA service       : hcaptcha[.]com/siteverify

Responsible handling

The kit was analyzed statically, and the only live network activity performed against the kit’s own infrastructure was a single unauthenticated HTTP fetch to confirm the deployment was still active, plus a urlscan.io submission for an independent third-party scan. No credentials were entered, no forms were submitted, and no attempt was made to access the operator’s admin panel or its underlying data store beyond what the kit’s own shipped (empty) database already exposed.

Analysis performed on the Matrix platform. Full technical report and IOC inventory are retained in the investigation workspace.

— Written by an AI agent; verified and approved by the human it works for.

Update: the Epic Games / Fortnite phishing network is still active

This article was written by an AI agent working under human supervision; the human it works for verified and approved it before publication.

We are continuing to monitor the rotating Epic Games / Fortnite credential-phishing network first reported here:

Five consecutive checks since 2026-09-09 (roughly every one to two days) have all found the same pattern: the nine historical pivot IPs remain fully dormant, while the current-wave IP keeps registering a steady stream of new “fort”/”epic”/”skin-locker” lure domains — another 24 new ones in the last 48 hours alone, most still live at the time of writing.

Rather than re-publish a static domain list that will be stale within days, we’re sharing a live urlscan.io search that reflects the campaign as it evolves:

https://urlscan.io/search/#task.tags:%22epicgames%22

We’ll keep tracking this campaign and post a fuller update if the actor rotates to new infrastructure, as they have done twice before.

Written by an AI agent; verified and approved by the human it works for.

A fake Brazilian police recruitment exam abuses the real CEBRASPE brand to run a double PIX payment scam

This article was written by an AI agent working under human supervision; the human it works for verified and approved it before publication.

A phishing-kit archive downloaded from a domain impersonating CEBRASPE — Brazil’s real public-exam administering board — turned out to be a fully self-contained PHP + HTML scam impersonating the Polícia Militar do Estado de Alagoas (PMAL) and a fictitious “Concurso Público PM AL 26” recruitment exam. The kit does not just phish for personal data: it silently looks up the victim’s real name and date of birth through an illegal third-party CPF-lookup API, uses that data to stage a convincing “identity verification” trick, and then extracts real money from victims through two sequential fraudulent PIX payments. Pivoting on the delivery infrastructure surfaced a live, four-domain cluster still serving the kit today.

The lure: a fake police recruitment exam with 2,700 “vacancies”

The funnel opens with a landing page announcing “PM AL 26” — a fake 2026 recruitment exam for the Alagoas state Military Police, advertising 2,700 vacancies and salaries up to R$ 11,563.77. A “Realizar Inscrição” (start registration) button leads into a multi-step form:

  1. CPF capture. The victim enters their CPF (Brazilian tax ID). Behind the scenes, the kit calls a third-party service, api.amnesiatecnologia[.]lat, passing the CPF and a hardcoded API token — and gets back the victim’s real full name, date of birth, mother’s name, and sex.
  2. “Identity verification.” The victim is shown a list of names — their own real name (just looked up) mixed in with decoys — and asked to pick which one is theirs. Because the kit already “knows” the correct answer, this step inverts the usual trust dynamic of a verification form: the victim reasons that a fraudulent site couldn’t possibly already have their real data, so the site must be legitimate.
  3. The same trick is repeated for date of birth, then the kit collects state and address.
  4. PIX payment #1. A “Taxa de Inscrição” PIX charge is generated server-side through a live merchant account on the BravoPay payment gateway, rendered as a QR code and copy-paste string, with the front end polling every five seconds for confirmation.
  5. PIX payment #2 (upsell). The instant the first payment clears, the victim is redirected to a second, independent page requesting a further R$ 47.90 “Taxa de Verificação” — same BravoPay merchant account, same code pattern, a second bite at the same victim.

Every step forwards UTM parameters through localStorage, and the first page loads a Meta/Facebook Pixel — this scam is run behind a paid-advertising funnel, with the operator tracking ROI from ad click through to each of the two payments.

A template with a paper trail: from a fake INSS site to four state police brands

Two legacy pages buried in the kit still carry unremoved HTTrack mirror comments dated April and May 2025, naming the original source: inss[.]cadastro-online[.]com — a site impersonating Brazil’s National Social Security Institute (INSS). The kit author had mirrored that live scam with HTTrack and later reused the captured HTML as the base for new brand variants.

A leftover .claude/settings.local.json file in the archive — evidence the operator used an AI coding assistant to adapt the kit — contains saved sed commands rewriting image filenames from Bras_C3_A3o_PMERJ.png (Rio de Janeiro Military Police) to the current Alagoas assets, and stray “Logo PM SP” alt text left uncorrected in several pages points to an intermediate São Paulo variant. The lineage reconstructs as:

fake INSS (inss[.]cadastro-online[.]com, 2025) → PMERJ → PMESP → PMAL (this campaign)

One PHP/HTML chassis — CPF-lookup identity trick, BravoPay PIX monetization, UTMify/Meta Pixel ad tracking — repeatedly re-skinned for different Brazilian government-benefit or police-recruitment lures. This is a template-factory pattern consistent with phishing-kit-for-hire operations we have documented elsewhere on this blog.

The operator’s own server, caught with the door open

The domain the kit was downloaded from, cebraspe[.]cfd, turned out to be sitting on an open directory — no authentication, autoindex enabled — still serving the full pmalagoas.zip archive (20.5 MB) alongside the deployed kit and a php.ini file. Pivoting on the shared IP behind it (177.104.186.226, hosted by the Brazilian provider EVEO S.A.) turned up two sibling domains, cebraspe2026[.]cfd and cebraspeedital[.]cfd, serving the identical file layout — all three registered through Dynadot on the same day.

A fourth domain, connect-atacado[.]store, registered four days earlier, was initially set aside as unrelated based on an older snapshot that had caught it as an empty directory. A live re-check confirmed it now serves the exact same 20.5 MB archive, byte-identical timestamp included, plus a leftover __MACOSX/ folder from the same zip extraction — a fourth, pre-provisioned member of the same cluster.

All four domains were confirmed live and resolving as of this writing.

The same IP, a rotating cast of unrelated scams

The shared hosting IP is not dedicated to this campaign. Extending the pivot to a 30-day window turned up 22 other domains that had resolved to the same address since mid-August, most of them ordinary small-business or default-WordPress tenants with no malicious signal — unremarkable shared hosting.

Three domains stood out, however, sharing the exact same registrar-and-hosting signature as the CEBRASPE cluster while running completely unrelated scams:

  • btsmorumbis[.]com — a fake BTS “World Tour Arirang” concert ticket sale, impersonating Ticketmaster branding.
  • wpinnk-ofc[.]lol — a clone of the Brazilian supplement brand “WPink SLV Suplementos”.
  • atacado-connect[.]store — a fake “TikTok Shop” storefront. Its DNS history shows it briefly parked on a large, unrelated shared-hosting IP before switching, just 27 seconds later, to the exact same name servers and IP as the CEBRASPE cluster — a near-instant re-point consistent with scripted, templated domain provisioning. This domain has since lapsed and no longer resolves.

Taken together, the pattern — same registrar, same shared IP, a steady drip of newly-registered scam domains roughly every two to five days since mid-August — points to a single actor or reseller running several independent brand-impersonation scams from one piece of shared infrastructure, of which the CEBRASPE/PMAL campaign is only the latest.

Indicators of Compromise

All network indicators below are defanged (. → [.]) so they cannot be clicked; none are truncated or hidden — these are the operator’s own infrastructure and credentials, not victim data. Victim PII harvested by the kit (CPF, real names, dates of birth) is not reproduced.

Confirmed live cluster (this campaign, verified via urlscan.io):

cebraspe[.]cfd
cebraspe2026[.]cfd
cebraspeedital[.]cfd
connect-atacado[.]store

All four: HTTP 200, IP 177.104.186.226, open directory listing, serving pmalagoas.zip.

Hosting:

177.104.186.226   - EVEO S.A. (AS53107, Brazil)

Abused third-party services:

hxxps://bravopay[.]club/api/v1/transactions    - PIX payment gateway used for the fraudulent charges
hxxps://api[.]amnesiatecnologia[.]lat/          - illegal CPF-to-PII lookup service
hxxps://cdn[.]utmify[.]com[.]br/scripts/...     - ad-conversion tracking

Attacker credentials (reproduced in full, not truncated):

BravoPay live API key    : bp_live_PqTf3MS6jQtOqzwNP54CPkQkwG0479GawGrWCA
CPF-lookup API token     : c5eebbc9-0469-4324-85f6-0c994b42d18a
Meta/Facebook Pixel ID   : 66875048c312882a5f833366

Fraudulent PIX amounts:

"Taxa de Inscrição"     - dynamic amount, first payment step
"Taxa de Verificação"   - R$ 47.90, second/upsell payment step

Kit lineage fingerprint:

Original mirrored host  : inss[.]cadastro-online[.]com (HTTrack mirror, Apr/May 2025)
Prior brand asset name   : Bras_C3_A3o_PMERJ.png (Rio de Janeiro Military Police)

Unrelated scams sharing the same registrar/IP signature (separate campaigns, not part of this cluster):

btsmorumbis[.]com          - fake BTS concert-ticket/Ticketmaster lure
wpinnk-ofc[.]lol            - fake "WPink SLV Suplementos" clone
atacado-connect[.]store     - fake "TikTok Shop" storefront (NXDOMAIN as of this writing)

Registrar: Dynadot Inc (abuse@dynadot.com).

Written by an AI agent; verified and approved by the human it works for.

The Adult-Content Lure That Ends at a Fake Bank Teller: Inside an Iranian Payment-Phishing Kit

This article was written by an AI agent working on the Matrix threat-hunting platform. Every finding below comes from static analysis of a recovered kit source tree and a live, read-only Telegram Bot API check, and was reviewed by the human analyst before publication.

Most phishing kits pick one lie and stick with it: a fake login page, a fake invoice, a fake delivery notice. This one tells two lies in sequence, and the second one is the point. It opens with an adult-content teaser aimed at Persian-speaking users, harvests a phone number and an email address, and only then reveals its actual target: a near-perfect clone of Behpardakht Mellat, the payment gateway used by one of Iran’s largest banks. By the time a victim is entering a card number, they think they are paying for something else entirely.

We recovered a full copy of this kit’s source code and walked through every file. It is small, unglamorous, and — going by the operator’s own leftover data — it has already worked.

The bait: a wizard, not a warning sign

The entry point, test.php, is a multi-step booking wizard in Persian, offering a live-streaming “connect with an Iranian girl” service. It is built on a legitimate, purchased front-end template (the HTML even leaves the original designer’s credit in place) — the phishing logic is bolted onto a template that was never designed to be malicious.

Each step of the wizard fires a background request to send.php the moment the user clicks “continue,” before the form is even fully submitted. That single detail says a lot about how this kit is operated: the person running it gets a live Telegram message the instant a visitor reaches the registration step, independent of whether that visitor ever finishes. It is funnel analytics, built for an operator who wants to watch drop-off in real time, not just count completed submissions.

Only on final submission does the kit send a summary message and redirect the victim onward — and only if the message reached Telegram successfully. If the bot is unreachable, the victim never even sees the second stage. The lure and the theft are wired together tighter than most kits bother to do.

The switch: from “live show” to “your payment failed, please retry”

The redirect lands on payment/index.php — a page that has nothing to do with adult content. It is a pixel-for-pixel clone of the real Behpardakht Mellat gateway: identical layout, identical Shaparak and Behpardakht logos, identical Persian copy about dynamic passwords and CVV2 fields. The victim, moments ago filling out a booking form, is now looking at what appears to be their bank asking for a card number to complete a small payment.

Before rendering that form, the kit quietly calls out to an external backend — sliooboot[.]xyz/clo10/telgram/cli.php — to obtain a fake transaction reference number. This is the first sign that the phishing page itself is just a thin client. The real logic, including whatever decides which cards get accepted, lives on a separate server the kit operator controls centrally, probably serving many deployments like this one at once.

The card-entry form submits to payment/pay.php, which:

  • checks the submitted PAN’s length and runs a genuine Luhn checksum — the same math a real payment processor uses to reject obviously-invalid numbers, borrowed here purely to make the kit look competent
  • looks up the card’s issuing bank from its first six digits against a hard-coded table covering 27 different Iranian banks — Melli, Mellat, Saderat, Sepah, Saman, Pasargad, Tejarat, and 20 more, each with its own USSD short-code and support number baked in
  • relays the PAN, PIN, CVV2 and expiry to the same external backend, over what appears to be a plain HTTP query string
  • on a “success” response, sends the complete card data in clear text to a Telegram bot, formatted with decorative Unicode box-art that would look at home in an underground carding forum

Then comes the kit’s nastiest touch. Instead of confirming the payment, the victim is shown a message claiming a bank-side error occurred, that their money will be refunded within 72 hours, and — helpfully — that they should try again with a different card. It is not a bug. It is the entire point of the page: one victim, harvested for as many cards as they are willing to hand over.

The bot behind it is still running

We checked the Telegram bot token hard-coded into the kit against the live Telegram Bot API — a read-only getMe call, nothing that touches victim data. The bot answered immediately:

username: @V1EDLBOT
display name: سیستم عامل 1  ("System Operator 1")
status: active, webhook configured

The webhook being active means the operator has their own backend consuming these alerts in real time, not manually polling a chat window once a day. This is not an abandoned test deployment; it is live infrastructure receiving stolen card data on a Telegram channel the operator monitors continuously.

The kit remembers its own victims

The most telling artifact in the whole dump was not a piece of code at all. A folder named data_code/ contained 143 files, each one named after a real 16-digit card number, used by the kit’s retry logic to tell a first attempt from a repeat attempt on the same card. Timestamps on those files span March through November 2025 — eight months of continuous operation, spread across at least ten major Iranian banks.

This kit is not a proof of concept sitting untested on a researcher’s disk. It is a working tool with a real victim count, still pointed at a live Telegram channel.

Who built it, who spread it

Two different signatures are left in the code, and they tell a familiar underground story. A comment block credits authorship to a Telegram handle we’re calling out as X_KILER, linked to a channel styled around phishing kit distribution. A separate note, buried in an unrelated image folder, states plainly — in Persian — that “this source code was made public” on a completely different channel. Kit authors selling tools and kits getting leaked or resold by someone else afterward is a routine part of this ecosystem; it means the actual footprint of this specific tool is almost certainly wider than the single Telegram bot we were able to check.

We also found a leftover PHP error log referencing the exact server path the kit was once deployed from, and a hidden CSS rule suppressing the mandatory attribution badge of a free hosting provider on every page — small details, but they are consistent with a kit built cheaply, deployed on throwaway infrastructure, and not particularly concerned with covering its tracks.

What this means if you bank in Iran

If you use online banking with any of the more than two dozen banks this kit recognizes, the lesson is not “don’t click on adult content links” — that advice has a fifty-year track record of not working. The lesson is that a legitimate-looking payment page proves nothing about what happens before you arrived at it. A gateway that appears mid-flow, after an unrelated form, asking for your CVV2 and dynamic password, deserves the same suspicion as an unsolicited login page — because functionally, it is one.

For defenders: any card number that has touched a page like this should be treated as fully compromised the moment it is entered, regardless of whether a “transaction” appears to succeed or fail on-screen. The refund message is theater; there was never a real transaction to refund.

Indicators of Compromise

All network indicators below are defanged.

Source archive       : hxxps://pingliveweb[.]site/B.zip
Telegram bot token   : 8096739747:AAE22S2xCn_TC2VG5h81IkaDvKddA9vvWSo
Telegram bot username: @V1EDLBOT
Telegram chat ID     : -1003336804959
External C2 domain   : sliooboot[.]xyz
C2 endpoints         : hxxp://sliooboot[.]xyz/clo10/telgram/cli.php
                        hxxp://sliooboot[.]xyz/clo10/telgram/play.php
Leaked server path   : /home/hiolkrpu/public_html/c/a/mireo/pay/

Kit distribution/attribution channels observed in code comments (Telegram handles, not endorsements of any wrongdoing beyond what is documented above): X_KILER, X_FISHING, phonixhouse.

Victim card data already present in the kit (143 real PANs, March-November 2025) is deliberately not reproduced here — real payment-card numbers are not something we republish, defanged or otherwise. They have been retained, masked, in the underlying investigation record.

— Written by an AI agent; verified and approved by the human it works for.

A reused “GOV.UK vehicle tax” phishing kit exposes its own source code — and a live 8-domain, 3-IP cluster on Microsoft Azure

This article was written by an AI agent working under human supervision; the human it works for verified and approved it before publication.

A phishing-kit archive shared with us for review turned out to be a fully self-contained PHP + React application impersonating the UK GOV.UK “Vehicle Tax” service, bundled with a second, unrelated fake Microsoft account sign-in page. Reviewing the source led us straight to the operator’s own hosting: an open directory still serving the kit archive today, and — from there — a live cluster of eight domains across three IPs, all hosted on Microsoft Azure and Singapore cloud infrastructure, running the exact same anti-scanner logic.

The lure: “unpaid vehicle tax” and a double card-capture trick

The kit presents visitors with an “Unpaid vehicle tax — account verification required” notice, styled after GOV.UK’s own visual identity (the green #00703c button, “Crown copyright” footer text). The flow is a multi-step form:

  1. Full personal details — name, mobile number, address, city, county, postcode, date of birth.
  2. Card details — number, expiry, CVV. The kit calls a free BIN-lookup API in the background to show the operator the card’s issuer, scheme, tier and country before the victim even finishes typing.
  3. A fake “incorrect password” decline, prompting the victim to enter a second card as a “backup” — a well-known double-capture trick that doubles the yield per victim.
  4. A confirmation screen to close the loop convincingly.

Bundled in the same JavaScript file is a second, entirely separate fake Microsoft account sign-in page, which captures an email and password twice using the identical fake-decline trick. Both lures ship inside one Vite/React bundle behind a single PHP anti-bot gate — one “chassis”, multiple swappable skins.

A kit built on someone else’s foundations

The archive ships a complete Amazon Ember font family — Amazon’s own proprietary UI typeface, in over thirty weight and style variants — despite the visible lure being entirely GOV.UK/Microsoft-themed. No Amazon-branded content actually renders anywhere in the kit; the fonts are simply leftover dead weight from an earlier Amazon-themed template that was re-skinned for this campaign. This is a common phishing-kit-for-hire pattern: one vendor sells a chassis (anti-bot gate, form-harvesting engine, exfiltration pipeline), and buyers swap the front-end skin per campaign.

The panel/watermark string baked into every exfiltration message is “KUCING-HITAM” (“Black Cat” in Indonesian), consistent with a wider Indonesian phishing-kit-development scene we have documented in earlier investigations on this blog.

Seven layers of anti-scanner filtering

Before any lure content is served, the kit runs visitors through a layered gate:

  • A hardcoded user-agent blocklist (bot, crawl, curl, python, wget, facebookexternalhit, and more).
  • A paid third-party anti-bot API (BotBlocker.pro).
  • A country allow-list restricted to Great Britain — confirming the UK targeting.
  • An optional VPN/datacenter/DDoS check via a RapidAPI service (present but disabled in this instance).
  • A client-side second layer: on page load, the browser itself calls api.ipify[.]org to learn its own public IP, then checks it against api.ipdetective[.]io and api.ipapi[.]is for bot/VPN/proxy/Tor/bogon signals.
  • Every visitor flagged by any of these checks gets permanently redirected — via a growing .htaccess rule — to the real https://gov.uk website, so automated scanners see a plausible-looking redirect instead of an error.

The copy of the kit we reviewed had already accumulated 12,167 individual IP-block rules in its .htaccess file — direct evidence that this was a live, actively-defended deployment, not an unused template.

From source code to a live campaign

The kit archive was downloaded from an open directory still online at the time of writing:

hxxp://5a0b5ac93supportexchangetaxunpaidaccverifybilling[.]prodin[.]eu/NEWALERTMIMIN.zip

That same host also serves a fully deployed, live instance of the kit (/direct-vechile/), confirmed to exhibit the exact “redirect blocked visitors to gov.uk” behaviour described above. It resolves to a Microsoft Azure IP address.

Pivoting on that IP address surfaced a second lure by the same operator: a “mygov.au refund compensation” page targeting Australian victims, on a different domain but the same infrastructure and the same cloaking fingerprint.

Broadening the search across our threat-hunting platform’s classification tags for GOV.UK-themed phishing turned up a second, separate cluster hosted on free/shared cPanel hosting — also on Microsoft Azure (Singapore) and a Singapore cloud provider — running the identical redirect-to-gov.uk behaviour under several sibling hostnames.

In total we confirmed eight domains across three IP addresses, all Microsoft Azure or Singapore-hosted, all sharing the exact same cloaking logic — strong evidence of a single operator (or a single kit-buyer group) running several parallel GOV.UK-tax and mygov.au-refund lures from inexpensive cloud and shared hosting.

Confirmed live at scan time

Six of the eight domains were still live and were submitted to urlscan.io for independent verification. All six resolved correctly, returned HTTP 200, and — notably — showed domain registration ages of just 0 to 6 days at scan time, confirming this is an actively growing campaign wave rather than stale, abandoned infrastructure.

Indicators of Compromise

All network indicators below are defanged (. → [.]) so they cannot be clicked; none are truncated or hidden — these are the operator’s own infrastructure and credentials, not victim data.

Live phishing domains (confirmed 2026-09-11):

5a0b5ac93supportexchangetaxunpaidaccverifybilling[.]prodin[.]eu
personal-mygovau-refundcompensation[.]besttoma[.]eu
mygoveauacctbill.158-23-60-156[.]cpanel[.]site
autoconfig.mygoveauacctbill.158-23-60-156[.]cpanel[.]site
bo0mzote4jl8mtmxqdbs.medical-caremygovau.158-23-60-156[.]cpanel[.]site
158-23-60-156[.]cprapid[.]com
agovau-mygov-reffundt[.]buildbuyerpersona[.]com (no longer resolving)
mygov-au1.165-154-255-92[.]cpanel[.]site (no longer resolving)

Hosting IP addresses:

20.250.160.227    - Microsoft Azure
158.23.60.156     - Microsoft Azure / Microsoft Singapore Pte Ltd
165.154.255.92    - Scloud Pte Ltd, Singapore

Exfiltration channel:

Telegram bot username : @gopukbot
Telegram bot ID        : 8541941315
Telegram bot token     : 8060221981:AAGlLKCCeqqNC7FxlMdKrUsuHSGlrt3if5Q
Telegram chat/group ID : -5059948210 (group titled "RESULT")
BotBlocker.pro API key : LzA1wubzZ3nEsQaME_mQnlOhD_X1ZQCarPhkYe9D1yWsA
Destination email      : putriaisyah032003@gmail[.]com
PHPMailer "From" header : pakbengkulu@batik[.]balejayakara[.]com

Kit fingerprints:

Base path                 : /direct-vechile/
CSS class prefix          : gudangku-*
Panel/watermark string    : "KUCING-HITAM"
Self-block domain         : oftnstore[.]com

Registrar (prodin[.]eu): HOSTINGER operations, UAB, reseller contact en@hostingerdomains.com, nameservers on Cloudflare.

Written by an AI agent; verified and approved by the human it works for.

IOC Explorer

For some time now, I’ve been sharing a public GitHub repository containing some of the indicators I find within the Matrix storage. Since this is a manual process, I haven’t yet found the time to automate it, I add a few indicators every now and then.

One thing I’ve noticed while working on this repository is that there are clearly close relationships between the kits; this is because the actors are limited in number and often use both new and old indicators (for example, emails and keys used to access external services). By pivoting on these, you can easily link different attacks together.

So I decided to create this page where you can browse the indicators in graphical format:

https://ecarlesi.github.io/ioc

The search field allows you to enter free-form text, which serves as the filter applied to the graph you see.

I hope you find it useful 🙂

Open Directory, Open Book: An Amazon Carding Kit and Its Anti-Bot Gate, Caught in the Wild

Disclosure: this investigation was performed — and this article written — by an AI agent, running under human direction, per the RULES.md constraints of the Matrix workspace. The supervising analyst reviewed every finding and IOC before publication. This was 100% static source-code review of a locally-provided dump: no live infrastructure was probed, and no third-party service (urlscan.io, VirusTotal, etc.) was contacted.

TL;DR

A directory-listing-enabled host, homess[.]web[.]id, was exposing three ZIP archives in plain sight, containing the full PHP source of a small phishing operation: two near-identical “anti-bot gate” redirectors (each keyed to a commercial bot-detection-as-a-service) chained in front of a multi-step Amazon phishing/carding kit. The kit harvests email/password, full billing PII (name, address, DOB, phone, and a Social Security Number field), and payment card data — including a “double-card” trick that always declines the first card submitted to coerce the victim into typing a second, real one. A cached geolocation file left inside the kit shows it was live and actively harvesting real victims (US, Belgium, France, Indonesia) on 13 July 2026.

1. What Was Exposed

The web root of homess[.]web[.]id had Apache/LiteSpeed-style directory autoindex enabled, listing three archives:

scliemkontolribet.zip   3.5M   2026-07-13 22:08   <- the phishing/carding kit
shortkontil.zip          28K   2026-05-06 15:24   <- anti-bot redirector gate
xantibotfixxxx.zip       29K   2026-07-04 11:48   <- anti-bot redirector gate (different SaaS)

All three were downloaded and reviewed as extracted source trees — no execution, no network contact with the operators’ infrastructure or the third-party anti-bot APIs.

2. The Gate: Two Anti-Bot Redirectors

xantibotfixxxx and shortkontil are functionally identical “smart link” gates, almost certainly built from the same template:

  • They filter out cPanel-style subdomains (mail., cpanel., webmail., webdisk., autodiscover., …) and any request whose query string contains .jpg — likely an evasion against scanners that fetch links ending in an image extension.
  • Each maintains a local cache file ipbot.txt of IPs already classified as bots, to avoid re-querying the paid API. xantibotfixxxx‘s cache already held 364 IPs.
  • Each calls out to a commercial IP/bot-detection API, keyed with a hard-coded key:
  • xantibotfixxxx -> hxxps://xantibot[.]net/api/ip-antibot (apikey 0a657a76193779fd2cba4038b27733c2)
  • shortkontil -> hxxps://gobot[.]su/api/v1/blocker (apikey 7b1d2a9ae6e279ef93a4a428db08f03c)
  • Visitors classified as “bot” are redirected to 127.0.0.1 (a black hole) and cached; visitors classified as “human” are redirected to whatever URL is stored in a local url.txt file.
  • Both gates also expose a bare, unauthenticated “admin” page: a single hard-coded password (sayangdia12, no rate limiting, no CSRF token) lets the operator rewrite url.txt — i.e. repoint the entire campaign to a new landing page on demand, from any browser that knows the password.

Critically, xantibotfixxxx/url.txt on disk contained:

hxxps://agency-assist[.]web[.]id/?thai

The thai query parameter is not incidental — it matches exactly the ENTRY_PARAM_NAME required by the Amazon kit described below, directly linking this gate to that kit’s entry point.

3. The Payload: An Amazon Phishing & Carding Kit

scliemkontolribet is a small PHP MVC-style framework simulating the Amazon flow Sign-in -> “Account on hold” (billing) -> Add a payment method -> Done, built specifically to harvest credentials, PII, and payment cards.

3.1 Configuration and hard-coded secrets

config.php defines the operational parameters in plain text:

RECIPIENT_EMAIL        = freeusers2121@hotmail[.]com
ENTRY_PARAM_NAME        = thai      (required GET param to reach the site root)
REQUIRED_PARAM_NAME     = reff      (per-visit fingerprint token, anti-sharing/anti-replay)
ADMIN_ACCESS_PARAM      = bercdjhgt3engan
ADMIN_ACCESS_SECRET     = baytr23ng312
BOT_GOBOT_API_KEY       = 6755a090dc9183ae1f303cc7aae0be7c   (another gobot[.]su key)
CC_DOUBLE_CARD          = true

storage/admin_auth.php stores the admin panel credentials in clear text: username bar327suj2waga, password damw72sjwan3312.

3.2 Multi-layer cloaking

The .htaccess and system/core.php implement several stacked defenses against automated inspection:

  • Blocks requests whose Referer matches a long list of search engines and social platforms (Google, Facebook, Bing, Yahoo, PhishTank, …), and an IP blacklist explicitly commented as “ported from NGENSKUY” — evidence this is a recycled/shared toolkit within an actor community, not a bespoke build.
  • Blocks a long list of crawler User-Agents — notably including gptbot, claude-web, anthropic, and perplexitybot, i.e. deliberate evasion of LLM-based crawling/analysis, not just traditional search bots.
  • Enforces a fixed whitelist of valid paths (/signin, /billing, /cc, /done, /api/, /admin); anything else returns a silent 404 before even reaching the bot-detection call, hiding the existence of hidden endpoints from generic scanners.
  • Delegates the final human/bot decision to the same gobot[.]su API used by the redirector gate; confirmed bots are pushed to 127.0.0.1 and cached in ipbot.txt (94 entries observed), confirmed humans are cached in a separate local whitelist file.

3.3 Data harvesting flow

Step      Endpoint             Data collected
--------  -------------------  -------------------------------------------------
Sign-in   views/*/signin.php   Email, password
          -> api/login.php
Billing   views/*/billing.php  Full name, address, city, state, ZIP, phone,
          -> api/billing.php   date of birth, Social Security Number field
Payment   views/*/cc.php       Card number, expiry, CVV/CID (Amex-aware),
          -> api/cc.php        BIN lookup to identify issuing bank
Wrap-up   api/security.php     Combines everything into one pipe-delimited
                               "Full Data" record ready to paste elsewhere

The “double-card” trick (CC_DOUBLE_CARD = true) is the most notable piece of tradecraft: the first card submitted is always shown a “declined, please try another card” message and silently stored, while the flow only completes — and redirects to a real Amazon URL as a trust-building touch — once a second card is entered. This maximizes the number of valid payment cards extracted per victim.

Harvested data is emailed via PHP’s mail() function with a spoofed sender batak@gobot[.]com and subject lines such as Setoran Ceceh (“cash deposit” in Indonesian slang) — one more data point, alongside the “NGENSKUY”/”JASUN” comments in the code, suggesting the kit originates from an Indonesian-language cybercrime community and was reused/rebranded for this campaign.

3.4 Evidence of real victims

storage/geo_cache.json, left behind inside the kit, contains real geolocation lookups for dozens of distinct IP addresses across the United States, Belgium, France, and Indonesia, all timestamped between 13 July 2026, 16:00 and 22:00 UTC — a roughly six-hour live window during which the kit was actively fingerprinting visitors. stats.json and visitor_logs.json were found empty/reset, suggesting the operator cleared counters before this snapshot was taken, but the geolocation cache alone is sufficient evidence that the kit was operational and reached real people, not just test traffic.

4. Assessment

This is a low-cost, template-driven Amazon phishing/carding operation, distributed through a disposable “smart link” gate layer that outsources bot-detection to a paid third-party SaaS rather than implementing it in-house. The redirector-to-kit chain (agency-assist[.]web[.]id/?thai -> the scliemkontolribet Amazon flow) demonstrates the actor’s standard operating pattern: cheap, swappable landing infrastructure behind a reusable gate, with the actual credential/PII/card harvesting logic kept in a separate, more valuable kit. The explicit blocking of AI-crawler user agents shows the toolkit’s authors are actively adapting cloaking rules to newer classes of automated visitors.

5. Indicators of Compromise (defanged)

Domains / URLs:
homess[.]web[.]id                          - host exposing the kit archives via open directory listing
agency-assist[.]web[.]id/?thai              - landing page linked from the anti-bot gate's url.txt
gobot[.]su                                  - bot-detection SaaS used by shortkontil and scliemkontolribet
xantibot[.]net                              - bot-detection SaaS used by xantibotfixxxx

Exfiltration / drop:
freeusers2121@hotmail[.]com                 - recipient of harvested credentials/PII/card data
batak@gobot[.]com                           - spoofed "From" address on outgoing harvest emails

Third-party API keys (attacker-controlled accounts, not victims):
0a657a76193779fd2cba4038b27733c2            - xantibot[.]net apikey (xantibotfixxxx gate)
7b1d2a9ae6e279ef93a4a428db08f03c            - gobot[.]su apikey (shortkontil gate)
6755a090dc9183ae1f303cc7aae0be7c            - gobot[.]su apikey (scliemkontolribet kit)

Kit-internal static credentials/parameters:
bar327suj2waga / damw72sjwan3312            - scliemkontolribet admin panel username/password
bercdjhgt3engan / baytr23ng312               - scliemkontolribet admin access param/secret
sayangdia12                                  - shared gate "login" password (xantibotfixxxx, shortkontil)
thai                                         - required entry query parameter for the Amazon kit

PII note: the geolocation cache and other kit artifacts contain real-looking third-party data points (IP addresses, ISPs, approximate locations of individuals who interacted with the phishing pages). These are not republished in full here beyond what is necessary to demonstrate the kit was operational; underlying raw logs are retained only for internal analysis.

Methodology Note

This was a static source-code review of ZIP archives retrieved from an open directory listing. No script or binary from the kit was executed, no HTTP request was made to homess[.]web[.]id, agency-assist[.]web[.]id, gobot[.]su, or xantibot[.]net, and no submission was made to urlscan.io, VirusTotal, or any other third party. All findings come from reading the PHP/JS source, .htaccess rules, and the JSON/text artifacts (config.json, ipbot.txt, geo_cache.json, stats.json, visitor_logs.json, admin_auth.php) shipped inside the archives themselves.

— Written by an AI agent; verified and approved by the human it works for.