THREAT INTELLIGENCE · SMISHING & PAYMENT FRAUD · 17 Sep 2026

Real-time OTP theft, dressed as a traffic fine

A Vue-and-Go phishing kit is impersonating Nigeria's road-safety and vehicle-registration services, relaying victims' card data and one-time passwords to a live operator console to authorise fraudulent international payments within minutes.

Observed malicious host
si.swka[.]eu[.]cc
Impersonated · FRSC
frsc.gov.ng
Impersonated · FCT DRTS
fctevreg.com
ANALYST · Abiodun A KIT FAMILY · Chinese-language SaaS smishing REGIONS · NG, ZA CONFIDENCE · Moderate
FRSC OTP-relay phishing kit investigation — cover

Key takeaways

  • An active smishing campaign impersonates the Federal Road Safety Corps (FRSC) and the FCT Directorate of Road Traffic Services e-registration portal, luring motorists with a fake "road traffic offence."
  • The landing pages are not static credential grabbers. They run a real-time relay kit: a Socket.IO channel streams each keystroke to an operator who drives the victim through a scripted card-and-OTP flow.
  • The operator can, live, decline a card, force a retry, re-prompt for the OTP, or request a billing address — everything needed to push a stolen card and a valid OTP through before the code expires.
  • One publicly reported victim lost ~₦364,574 to an international card charge with a UAE merchant descriptor.
  • The backend is GoFrame (Go) behind Caddy; the front-end is Vue 3 / Vite. Internal page labels are in Chinese, pointing to a productised kit sold to affiliate operators.
  • The kit redirects aborted sessions to the genuine government portal — a legitimacy-mimicry and sandbox-evasion trick that must not be mistaken for attacker infrastructure.
01 — CONTEXT

A fake fine with a real sense of urgency

In mid-September 2026 the FRSC issued a public alert about fraudulent SMS messages telling recipients a new road-traffic offence had been recorded against them, and directing them to lookalike websites. The messages lean entirely on urgency:

Representative lure SMS impersonating FRSC
Fig. 0 — Representative lure SMS.

What makes this cluster worth a full teardown is not the lure — it is what sits behind the link. The kit turns a one-shot phishing page into an interactive, operator-driven fraud session capable of defeating one-time-password protection. The sections below reconstruct the victim journey, the kit's client and server components, and the infrastructure, then set out detection opportunities and indicators.

02 — INITIAL ACCESS

From SMS to a scripted payment session

The full chain compresses a familiar smishing opening into a payment-fraud endgame. The victim never leaves what looks like a single official portal, while an operator watches every field arrive in real time.

SMS lure "traffic offence" Fake portal plate + fake violation Card capture PAN · exp · CVV OTP capture live re-prompt Operator relays valid card + OTP → ₦ charge to UAE every field streamed live over WebSocket to the operator console
Fig. 1 — End-to-end flow. The dashed line marks the real-time control channel.
03 — VICTIM JOURNEY

Five screens, one continuous session

Reconstructed from the client bundle's UI strings and captured traffic, the flow walks the victim from a plausible "lookup" into card and OTP entry, wrapped in reassurance screens designed to keep them waiting while the operator acts.

plate no. Look up 1 · Plate entry SPEED LIMIT VIOLATION Pay fine 2 · Fake violation card number exp cvv Authorise 3 · Card details _ _ _ _ _ _ session expiring… Verify 4 · OTP 5 · Fake success
Fig. 2 — Schematic reconstruction of the five steps. Not a live capture — deliberately abstract so it cannot be reused as a template.

The waiting screens do the heavy lifting: strings such as Waiting for bank authorization…, Please go to your bank app to confirm the authorization, and The session is about to expire, please complete the verification now manufacture exactly the window an operator needs to submit the stolen card and consume the live OTP.

04 — INSIDE THE KIT

A control plane, not a form

Client analysis (index-99e75bee.js, a 428 KB Vue/Vite bundle) plus intercepted HTTP/2 and WebSocket traffic reveal a two-layer server and a live operator channel sitting between victim and back office.

Kit architecture diagram
Fig. 3 — Two-layer server with a Socket.IO control channel bridging victim and operator.

Front-end & session model

The SPA is a modern Vue 3 / Vite build loaded from the distinctive asset root /wd122_ng_etc_fctevreg/ — a string that folds together FRSC's 122 hotline, the ng country code, and the impersonated fctevreg brand. Each victim is issued a UUIDv4 session token carried redundantly as a cookie, a URL query parameter, and both X-Token and Token headers.

The live control channel

A Socket.IO WebSocket at wss://<host>/ws?token=<uuid> carries the session. Field values are pushed as the victim types: one capture showed an in-progress plate KJA-12BA streamed to /qoBOHeLPyu/api/input before the final submitted KJA-123BS. Result events (otpValid, customOtpValid, appValid, verifyCode) mark each stage for the operator.

The operator console

The session-init response returns a custom configuration whose keys map directly to operator controls:

// session-init response → operator-controlled UI state
{
  "black_msg", "white_msg",          // block / allow banners
  "deny_c_msg", "deny_d_msg",        // credit / debit decline text
  "error_card_msg",                  // "try another card"
  "address_msg",                     // demand billing address
  "pay_amount", "pay_msg",          // set displayed charge
  "isBlock", "isFirst", "mode",     // session state
  "country": "NG"                     // deployment target
}

These let the operator, mid-session, reject a card and demand another, re-request the OTP under a fresh pretext, or ask for a billing address to satisfy a bank check — the toolkit of real-time authentication defeat.

Automatic card enrichment

Submitted cards are enriched by BIN before they even reach the operator's queue — issuer, scheme, type and country are resolved server-side (e.g. BIN 539983 → Guaranty Trust Bank, Nigeria, Mastercard debit), letting the operator triage the most valuable cards first.

Back-end fingerprint

Responses carry Server: GoFrame HTTP Server — a Go framework of Chinese origin — behind a Caddy front (Via: 1.1 Caddy). The randomised API base path /qoBOHeLPyu/ is per-deployment, a deliberate hedge against path-based scanning.

05 — INFRASTRUCTURE

A lookalike cluster around a real brand

The campaign typosquats a genuine service. The malicious domains cluster around variants of the real fctevreg.com portal, while the kit itself redirects aborted sessions to the authentic site to appear credible and to shake off analysis sandboxes.

MALICIOUS — block & report si.swka[.]eu[.]cc ak.fegw[.]eu[.]cc frscc-zgh[.]cc fctevreg[.]cam fctevregonline[.]click fctevreg-gov[.]top frscgov[.]top frsac-govt[.]cc Relay kit favicon 144933485 LEGITIMATE — do NOT block frsc.gov.ng fctevreg.com selfservice.fctevreg.com ptms.fctevreg.com impersonates / redirects to
Fig. 4 — The lookalike cluster (left) impersonates real government domains (right). The dashed link is the kit's evasion redirect to the genuine site.
ANALYST NOTE — AVOID COLLATERAL DAMAGE

fctevreg.com, selfservice.fctevreg.com and ptms.fctevreg.com are the genuine FCT Directorate of Road Traffic Services portals, and frsc.gov.ng is the official FRSC site. They appear in the malicious page only because the kit impersonates them and redirects aborted sessions to the real site. Treating them as indicators would target legitimate public services and discredit the report.

Registration is deliberately opaque. The one lookalike with public WHOIS, fctevreg.cam, was registered on 15 September 2026 through Singapore-based registrar Gname.com with full privacy protection and a Hong Kong locality, on shared nameservers (a5.share-dns.com / b5.share-dns.net) that let the operators shuffle sites quickly. The .eu.cc hosts are third-level subdomains with no independent registration record at all.

06 — ATTRIBUTION

A sold kit, a regional operator

Assessment: moderate confidence that this is a Chinese-language phishing-kit product run by a separate affiliate operator, consistent with the industrialised smishing-as-a-service ecosystem behind large "Smishing Triad"-style operations.

  • Developer language. Internal page and step labels are in Chinese while only the English front-end is shown to victims — e.g. 首頁輸入 (homepage input), 查询页 (query page), 填卡页 (card-entry page), 验证码 (verification code), 车牌号 (plate number). Developer and operator are clearly different parties.
  • Toolchain. The GoFrame backend is a Chinese-authored framework, reinforcing Chinese-speaking development.
  • Productisation. Per-victim tokenisation, a configurable operator console, built-in BIN enrichment, randomised API paths and multi-country plate templates (a South African ABC 123 GP example ships alongside the Nigerian one) are hallmarks of a rented kit, not a bespoke build.
  • Operator vs developer. The country:"NG" config and FRSC-specific asset path indicate an affiliate deployment aimed at Nigeria; the ZA template shows the same kit is deployed elsewhere.

Limits. Registrant data is privacy-protected and the infrastructure uses low-cost shared and subdomain services, so open-source personal attribution is not feasible. The strongest lead for law enforcement is the outbound money trail — a UAE merchant descriptor on the fraudulent card leg — reachable only through the bank and card scheme.

07 — IMPACT

Real-time OTP defeat, real losses

Because the operator relays a valid card and a live OTP in the same session, standard one-time-password protection is neutralised: the fraudulent authorisation carries a genuine bank OTP. In one publicly reported case a victim lost ~₦364,574 to an international card purchase with a Dubai (UAE) merchant descriptor minutes after entering details. The plate-entry step also manufactures a convincing "specific offence" even where the operators hold no prior data on the victim.

08 — DETECTION & HUNTING

Pivots for mapping the cluster

All hunts below are passive. Do not authenticate to, probe, or interact with the operator console or any exfil channel — that is unauthorised access, tips off the operator, and taints evidence. Document and refer.

# Shodan / Censys — server banner and shared favicon
http.headers.server:"GoFrame HTTP Server"
http.favicon.hash:144933485

# Content / URL string pivots (urlscan.io, passive DNS)
"wd122_ng_etc_fctevreg"   # distinctive asset root
"/qoBOHeLPyu/"            # randomised API base (per-deployment)
"index-99e75bee.js"       # Vite build hash — same build on other hosts

# Certificate transparency — MALICIOUS lookalikes only
crt.sh: swka.eu.cc, fegw.eu.cc, frscc-zgh.cc, fctevreg.cam,
        fctevregonline.click, fctevreg-gov.top, frscgov.top, frsac-govt.cc
# NB: do NOT action results for the legitimate fctevreg.com
09 — RECOMMENDATIONS

Response actions

  • Takedown. Report the malicious host and lookalikes to the .eu.cc subdomain service, the hosting provider behind the resolved IP, and the relevant registrars (Gname.com for fctevreg.cam). Exclude the legitimate domains.
  • Blocklists. Submit URLs to Google Safe Browsing and APWG (reportphishing@apwg.org), plus telco/browser blocklists.
  • Notify the impersonated parties. FRSC (national line 122) and the FCT DRTS — so both can extend their own advisories and flag the abuse of their live portal as an evasion redirect.
  • Notify affected banks. Share the flow, the BIN(s), and the UAE merchant descriptor with fraud teams (e.g. GTBank per the observed BIN).
  • For victims. If card details or an OTP were entered, contact the issuer immediately to block the card and dispute the charge; preserve the SMS and screenshots; stop engaging with the sender.
10 — INDICATORS OF COMPROMISE

IOCs

Network — malicious

IndicatorTypeNotes
si.swka[.]eu[.]ccHOSTObserved landing host; path /com.
swka[.]eu[.]ccDOMAINParent of observed host.
ak.fegw[.]eu[.]ccHOSTAdditional landing host; new .eu.cc parent (fegw).
frscc-zgh[.]ccDOMAINFRSC lookalike (frscc) on .cc.
fctevreg[.]camDOMAINReg. 2026-09-15, Gname.com (SG), privacy-protected.
fctevregonline[.]clickDOMAINLookalike.
fctevreg-gov[.]topDOMAINLookalike.
frscgov[.]topDOMAINNamed in FRSC alert.
frsac-govt[.]ccDOMAINLookalike.
a5.share-dns.com · b5.share-dns.netNSShared nameservers (fctevreg.cam).

Host / build fingerprints

IndicatorTypeNotes
/wd122_ng_etc_fctevreg/PATHDistinctive asset root; best hunting string.
/qoBOHeLPyu/api · /api/inputPATHRandomised API base + live-input endpoint.
/ws?token=<uuid>WSSocket.IO control channel.
Server: GoFrame HTTP ServerBANNERBackend fingerprint.
Server: Caddy · Via: 1.1 CaddyBANNERFront proxy.
144933485FAVICONmurmur3 hash — http.favicon.hash:.
index-99e75bee.jsBUILDVite bundle hash.
index-789aed68.css · index-C6qrI_xe.cssBUILDCSS bundle hashes.
f.woff2 · t.woff2 · z.woff2ASSETFonts under the asset root.
otpValid · customOtpValid · appValid · verifyCodePROTOResult-event names.

Legitimate — exclude from blocking

DomainStatusOwner
frsc.gov.ngLEGITFederal Road Safety Corps (official).
fctevreg.com · www.fctevreg.comLEGITFCT DRTS (impersonation victim).
selfservice.fctevreg.com · ptms.fctevreg.comLEGITFCT DRTS e-registration / PTMS portals.

Financial (reported victim case)

IndicatorValue
Example fraudulent debit~₦364,574.36
Merchant descriptor"Web Pur, SERIOUS FIX MACHINERY, Dubai" (UAE)
Example targeted BIN539983 — GTBank NG, Mastercard debit
11 — MITRE ATT&CK

Technique mapping

T1660
Phishing (Mobile)
Smishing lure impersonating FRSC / FCT DRTS.
T1566.002
Spearphishing Link
SMS links to lookalike landing pages.
T1656
Impersonation
Brand and UI mimicry of government services.
T1111
Multi-Factor Auth Interception
Live OTP capture and relay to the operator.
T1557
Adversary-in-the-Middle
Real-time relay of card + OTP within one session.
T1585.001
Establish Accounts: Domains
Privacy-protected typosquat registrations.
T1036
Masquerading
Redirect to the genuine portal to appear legitimate.
T1497
Sandbox Evasion
Aborted / non-target sessions bounced to the real site.