Build1 distinct publisher3 min readPublished
Compromised WordPress and PrestaShop pages fetch their next stage with a JSON-RPC eth_call to BNB Smart Chain Testnet, so the artefact sitting on the site is a request, not a file you can quarantine.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
A nonce is a password for script tags the server put there. It stops an injected tag that cannot guess the value. It does nothing once attacker code is already running in the page and can read the attribute off a legitimate script element, which is exactly what this stager does before it appends its assembled JavaScript to the DOM [7]. The fallback branch is the interesting one. Where there is no nonce to copy, the stager calls `Function()` [7], and that is the branch a policy without `unsafe-eval` actually blocks [15]. A strict nonce-only CSP removes the fallback and keeps the path the stager wins.
Network-side, the WebRTC variant deletes most of what a detection rule usually keys on. There is no signaling server, because the stager generates its own response to open the data channel [6]. So no DNS lookup and no STUN or TURN exchange appear, and there may be no saved file [11]. What remains is DTLS traffic from the browser to a hardcoded external IP and UDP port [11], both baked into the stager along with the ICE password and the DTLS certificate fingerprint [6]. It answers its own offer, which makes it the only signaling server that never has an outage. If your egress records do not already include browser UDP destinations, you have no history to search.
On the site itself the checks are code appended to the end of legitimate JavaScript files, fake plugin directories, and JSON-RPC requests to the BSC Testnet RPC [9]. Note where that last one lives. The loader runs in the visitor's browser and issues the `eth_call` from there [4], so the RPC artefact shows up in client egress or in the injected script text, not in the compromised server's access log [17].
The 5,400 figure is someone else's telemetry: the dev.to summary attributes the report to BleepingComputer, dated 2026-09-05, with Netskope Threat Labs and its IOC repository listed as related sources [2], covering over 5,400 sites pulling next-stage components from BSC Testnet contracts [1]. For it to say anything about your estate, three things have to hold, and they are the same preconditions the source lists: your sites run WordPress or PrestaShop with somewhere an attacker can drop a loader disguised as a package [3], your visitors' browsers can reach the BSC Testnet RPC and the attacker contract, and outbound traffic to the specified IP and UDP port is permitted [13].
One thing the material does not claim is that the storage cannot be removed. It never calls the contracts immutable or the content untakedownable; it treats RPC reachability as a precondition and recommends blocking BSC Testnet RPC groups that no business function needs [16]. That is a routing answer rather than a takedown answer, and it cuts both vectors at the same joint. The alternative is chasing the ClickFix side, where the final payload is not fixed [5] and the initial compromise method has not been disclosed [3], so a cleaned site can be reinfected by whatever got in the first time.
Ranked by verification strength, evidence, and original report placement.
Over 5,400 compromised websites fetched next-stage components from BNB Smart Chain Testnet smart contracts.
The dev.to summary names BleepingComputer as the original source, gives a publication date of 2026-09-05, and lists Netskope Threat Labs and the Netskope Threat Labs IOC repository as related information sources.
Attackers compromise legitimate websites including WordPress and PrestaShop, adding inline scripts or loaders disguised as legitimate packages; the initial compromise method is unknown and not publicly disclosed.
The loader runs in the visitor's browser and sends a JSON-RPC eth_call to the BSC Testnet RPC.
In the ClickFix vector the retrieved script displays a fake CAPTCHA screen prompting the user to paste a command into the Windows Run dialog; a downloader containing PowerShell then retrieves and runs the final payload, and the final payload is not fixed.
In the WebRTC variant the smart contract returns a small JavaScript stager that builds the C2 IP address, UDP port, ICE password and DTLS certificate fingerprint in the code, and without a normal signaling server provides its own generated response to open a WebRTC data channel.
Distinct publishers with included, body-backed reporting in this cluster.
1 article · September 5, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
security
5,400 hacked WordPress and PrestaShop sites pull their ClickFix payload from a BNB testnet contract1 distinct publisher
security
ClickFix lures now paste an msiexec command that installs legitimate software to sideload a DLL1 distinct publisher
invest
Check Point finds 2,000 hacked WordPress sites doing the hosting for a crypto-stealing toolkit2 distinct publishers
build
TerminalFix delivers its first stage through the clipboard of the person it targets1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
One relayed summary, no indicators in hand
Everything reaching us passes through a single dev.to write-up of BleepingComputer's report, which itself credits Netskope Threat Labs. The mechanics are specific enough to be testable, an eth_call to a BSC Testnet RPC and a stager that lifts the nonce from a script already in the page, but our coverage reproduces no contract address, no indicator list and no sample of the injected script, so nobody reading it can confirm the chain independently.
A site count without endpoint numbers
Spread is stated as one number, 5,400-plus sites, from one report. In its favour, both delivery paths were observed rather than theorised, and the ClickFix and WebRTC variants are described as live behaviour. Against it, the same dev.to summary concedes that what each visitor actually ran, how many endpoints were infected and any damage afterwards are all unconfirmed, which leaves reach measured at the injection layer only.
Blockchain framing runs ahead of the report's own hedges
The word blockchain does a lot of framing work, and "stored on the blockchain" invites readers to conclude the content cannot be pulled down. The reporting says no such thing: reachability to the testnet RPC is listed as a precondition, and blocking those endpoints where the business has no use for them is one of the recommended controls. Set against that, the summary is careful about what was not established, so the inflation lives in the framing rather than in the substance.
Vendor research, aggregator distribution
The trail behind the numbers runs to Netskope Threat Labs, a research group attached to a commercial security business, and reaches readers through a dev.to summary that carries no independent verification cost. Neither party has a reason to prefer a smaller figure than 5,400, and the pointer to the vendor's own indicator repository is where a reader would have to go to check it.
Technically detailed, evidentially thin
The internal consistency is good, since the telemetry advice matches the mechanics described and the summary marks its own unknowns instead of papering over them. What holds the assessment down is arithmetic: a single publisher, a relayed report, and no artefacts to check against. The nonce-reuse behaviour and the client-side origin of the eth_call are the parts we would stand behind; the 5,400 count is the part a second source would change.