Smishing Threat Actor Investigation
A smishing campaign using the domain zoyiosho.my.id was identified distributing phishing links via Twitter/X t.co shortener, targeting Spanish mobile users (CF-Ray Madrid PoP).
The phishing kit employs three layers of encryption (AES-128-GCM, custom PRNG-XOR-ROT cipher with eval(), XOR form data) and presents a fake CAPTCHA UI ("Polite Hold in Place") as Stage 1 before credential harvesting. The backend is Laravel PHP on cPanel shared hosting at PT Beon Intermedia (Indonesia, AS55688) behind Cloudflare reverse proxy (AS13335).
Infrastructure and TTP analysis points to a Smishing Triad / Lighthouse PhaaS affiliate with 70% attribution confidence. The group operates a $200/month Phishing-as-a-Service platform responsible for 194,000+ domains across 121 countries with estimated revenue exceeding $1 billion.
https://t.co/in5dy63sCm — URL shortener abuse for legitimacylocation.replace() + <noscript> meta refresh fallbackhttp://zoyiosho.my.id/PiLcgSf@L86IDXnT/ — @ symbol for URL parser confusionhttps://equity.zoyiosho.my.id/PiLcgSf@L86IDXnT/ — HTTP 200, Laravel backend ACTIVEtu0, field: yd6)Key:
wUgGAWmO35BkVktQXe3cfA==IV:
px89rtFJcpVi32XlTag:
/OxuIekfNAuwb68CMpWuvA==Ciphertext: 9,272 bytes → Plaintext: 9,270 bytes
Seed:
321103 — Formula: (seed * 9301 + 49297) % 233280Hash:
791c3e2eExecutes via
Symbol.toPrimitive → eval() chain
XOR Key MD5:
1d5abbdd7e22c041d7f6c51f07e9b57dDecrypted Value:
23798794727476c48ab0369c83cb532b
- AES-GCM encryption of entire page content
- Custom PRNG cipher for eval'd JavaScript
- Bot detection:
navigator.webdriver,window.callPhantom,window._phantom - Puppeteer detection: User-Agent contains
purp - DevTools detection: F12, Ctrl+Shift+I/J/C/K, Ctrl+U disabled
- Right-click context menu disabled
- Debugger timing trap:
setInterval+performance.now() - Anti-analysis redirect to
alibaba.comon detection - XOR encryption of form POST data with MD5 key
Fake CAPTCHA UI Details
- Title:
Polite Hold in Place - Heading: "Continue now"
- Prompt: "Please verify to continue to the protected resource"
- Checkbox: "Show you're human"
- Badges: SSL, v3.0
- Footer: "This step helps keep automated bots away from the site"
- Width: 320px (mobile-optimized card)
- 1. Page loads with random Y offset
- 2. User clicks checkbox
- 3. Spinner animation (0.9s)
- 4. Checkmark + "Verified Successfully"
- 5. Progress bar fills to 100%
- 6. Hidden form submits after 3s delay
- 7. POST to Laravel backend (same URL)
flowchart TD
V["Victim
Spanish mobile user"]
SMS["SMS Smishing
Delivery vector"]
TCO["t.co Shortener
Twitter/X"]
CF["Cloudflare Proxy
AS13335 · Madrid PoP"]
DNS["Cloudflare DNS
reza.ns / sid.ns"]
ORIG["Origin Server
cPanel/Apache"]
HOST["PT Beon Intermedia
AS55688 · Surabaya, ID"]
V --> SMS
SMS --> TCO
TCO -->|"JS redirect"| CF
DNS -.->|"wildcard A"| CF
CF -->|"reverse proxy"| ORIG
ORIG --- HOST
classDef victim fill:#d4a73a22,stroke:#d4a73a,stroke-width:2px
classDef delivery fill:#3d9ebe22,stroke:#3d9ebe,stroke-width:2px
classDef infra fill:#e0525222,stroke:#e05252,stroke-width:2px
classDef origin fill:#e0904022,stroke:#e09040,stroke-width:2px
classDef dns fill:#3db87822,stroke:#3db878,stroke-width:1.5px
class V victim
class SMS,TCO delivery
class CF infra
class DNS dns
class ORIG,HOST origin
- equity.zoyiosho.my.id ACTIVE PHISHING
Banking/financial theme, Laravel cookies - colab.zoyiosho.my.id CF FLAGGED
Google Colab impersonation - www.equity.zoyiosho.my.id ALIAS
- cpanel.zoyiosho.my.id MGMT
- mail.zoyiosho.my.id UNUSED
- webmail.zoyiosho.my.id UNUSED
- Google Trust Services WE1 (Current)
CN: zoyiosho.my.id + *.zoyiosho.my.id
Valid: 2026-03-04 → 2026-06-02
ECDSA P-256, Wildcard - Let's Encrypt R12 (Origin/cPanel)
CN: cpanel.zoyiosho.my.id + 8 SANs
Reveals cPanel shared hosting origin
SHA256:32F12D3B... - Let's Encrypt E7 (t.co delivery)
CN: t.co — TLS 1.3, AES_128_GCM
| Property | Value |
|---|---|
| Domain | zoyiosho.my.id |
| Registry ID | 19108480_DOMAIN_ID-ID |
| Registrar | PT Beon Intermedia / JagoanHosting |
| Created | 2026-01-03 23:58:28 UTC |
| Updated | 2026-01-04 16:09:15 UTC |
| Expires | 2027-01-03 23:59:59 UTC |
| DNSSEC | UNSIGNED |
| TLD Abuse | HIGH RISK .my.id — #1 most abused SLD in Indonesia (1,215+ abuse cases Q3 2024). Free registration available. |
| Registrar Abuse | care@jagoanhosting.id / abuse@jagoanhosting.com |
| Technical Contact | Farid Rahman (om.team@jagoanhosting.com) |
| Hosting ASN | AS55688 — 23 IPv4 prefixes, 5,888 addresses |
| Spam Rate | 1.85% (13/701 active IPs) |
| Abuse Trend | ESCALATING 20 events Feb 2026, 17 in March 2026 |
| BGP Anomaly | AS55688 announces bogons (abnormal BGP behavior) |
| Location | Jl. Jemur Andayani 50, Surabaya, Indonesia |
Proxy: Cloudflare (AS13335, Madrid PoP)
Origin: cPanel/Apache shared hosting
Backend: Laravel PHP
Delivery: t.co URL shortener
Registrar: JagoanHosting (AS55688, Indonesia)
Stage 1: Fake CAPTCHA / human verification
Anti-Analysis: Bot + DevTools + debugger detection
Evasion: AES-GCM, subdomain rotation, Cloudflare proxy
Campaigns: banking/equity, tech/colab, unknown/PiLcgSf
Delivery: SMS smishing + Twitter/X t.co shortened links
Lure: Fake verification/CAPTCHA page → credential harvesting
Matching TTPs (13)
- Cloudflare DNS proxy usage (34.6% of FQDNs)
- Cheap disposable TLD (.my.id)
- cPanel shared hosting as origin
- Wildcard certificate for subdomain rotation
- Multiple simultaneous campaign themes (banking, tech)
- No email infrastructure (web-only phishing)
- Indonesian registrar infrastructure
- Spain targeting (CF-Ray MAD PoP)
- URL path obfuscation with @ symbol
- AES-encrypted phishing pages (anti-analysis)
- Fake CAPTCHA/verification UI as first stage
- Laravel PHP backend
- t.co URL shortener for delivery
Divergent Indicators (3)
- .my.id TLD not in documented 187 Smishing Triad TLDs
- JagoanHosting registrar vs typical Dominet (HK) Limited (68%)
- Indonesian hosting vs typical Tencent/Alibaba infrastructure
These divergences suggest an affiliate/customer using Lighthouse kit on independent infrastructure rather than core Smishing Triad operations.
zoyiosho.my.id registered at JagoanHosting| Type | Value | Context |
|---|---|---|
| DOMAIN | zoyiosho.my.id | Primary phishing domain |
| DOMAIN | equity.zoyiosho.my.id | ACTIVE phishing subdomain (banking) |
| DOMAIN | colab.zoyiosho.my.id | Phishing subdomain (Google Colab) |
| DOMAIN | www.equity.zoyiosho.my.id | Subdomain alias |
| DOMAIN | cpanel.zoyiosho.my.id | Hosting management panel |
| DOMAIN | mail.zoyiosho.my.id | Mail subdomain (unused) |
| DOMAIN | webmail.zoyiosho.my.id | Webmail subdomain (unused) |
| IPv4 | 188.114.96.5 | Cloudflare proxy (AS13335) |
| IPv4 | 188.114.97.5 | Cloudflare proxy (AS13335) |
| IPv4 | 188.114.96.3 | Cloudflare proxy alt (URLscan) |
| IPv4 | 104.21.20.103 | Historical Cloudflare (theHarvester) |
| IPv4 | 172.67.192.85 | Historical Cloudflare (theHarvester) |
| IPv6 | 2a06:98c1:3120::5 | Cloudflare proxy (IPv6) |
| IPv6 | 2a06:98c1:3121::5 | Cloudflare proxy (IPv6) |
| URL | https://zoyiosho.my.id/PiLcgSf@L86IDXnT/ | Primary phishing URL (404) |
| URL | https://equity.zoyiosho.my.id/PiLcgSf@L86IDXnT/ | Active phishing URL (200) |
| URL | https://t.co/in5dy63sCm | Delivery vector (Twitter/X) |
| CERT | 10E2A1644E72B364117FF7535276D310 | Cloudflare Universal SSL serial |
| CERT | 06E50BF736B0A1754E38241FEF5EEF3CF0B4 | cPanel AutoSSL serial (origin) |
| SHA256 | 32F12D3BA5C15D2F42F94425EFC35EB97E7E5AB18E501853396BA40646E3DCDA | cPanel cert fingerprint |
| MD5 | 1d5abbdd7e22c041d7f6c51f07e9b57d | XOR key for form encryption |
| MD5 | 23798794727476c48ab0369c83cb532b | Decrypted campaign identifier |
| AES KEY | wUgGAWmO35BkVktQXe3cfA== | Page encryption key (AES-128) |
| AES IV | px89rtFJcpVi32Xl | Initialization vector |
| NS | reza.ns.cloudflare.com | Authoritative nameserver |
| NS | sid.ns.cloudflare.com | Authoritative nameserver |
| REDIRECT | http://alibaba.com | Anti-analysis redirect target |
| SITEKEY | 0x4AAAAAABDaGKKSGLylJZFA | Cloudflare Turnstile sitekey |
| 30 IOCs — 7 domains, 7 IPs, 3 URLs, 3 certs, 2 hashes, 2 AES keys, 2 NS, 2 misc | ||
| File | Size | Description |
|---|---|---|
investigation_zoyiosho.json | 28 KB | Complete investigation JSON report with all findings |
DECRYPTED_phishing_page.html | 9.3 KB | AES-GCM decrypted phishing page (fake CAPTCHA) |
DECRYPTED_eval_payload.js | 2.5 KB | Decrypted inner JavaScript anti-analysis payload |
equity_phishing_page.html | 13.2 KB | Raw encrypted phishing page from equity subdomain |
root_page.html | 5.1 KB | Cloudflare "Suspected Phishing" interstitial page |
tco_redirect.html | 312 B | Twitter/X t.co redirect page source |
phishing_page.html | 355 B | Initial page capture (404 response) |
headers_equity_phish.txt | 1.5 KB | HTTP headers from active phishing page (Laravel cookies) |
headers_phishing.txt | 494 B | HTTP headers from primary phishing URL |
headers_root.txt | 635 B | HTTP headers from root domain |
headers_tco.txt | 1.0 KB | HTTP headers from t.co shortener |
headers_equity.txt | 643 B | HTTP headers from equity subdomain |
headers_colab.txt | 643 B | HTTP headers from colab subdomain |
urlscan_screenshot_equity.png | 2.0 KB | URLscan.io screenshot of active phishing page |
urlscan_screenshot_original.png | 10 KB | URLscan.io screenshot of 404 page via t.co |
hts-log.txt | 1.1 KB | HTTrack mirror log (SSL failure) |
Location: /home/kali/Desktop/zoyiosho/ — 16 evidence files |
||
- Report t.co link (
t.co/in5dy63sCm) to Twitter/X for takedown - Report equity.zoyiosho.my.id to Cloudflare abuse portal
- Report to registrar:
care@jagoanhosting.id/abuse@jagoanhosting.com - Submit to PANDI/IDADX:
idadx.id/report - Submit to Google Safe Browsing, PhishTank, URLhaus
- Flag URLscan scan IDs as confirmed phishing
- Complete POST form submission to identify Stage 2 credential harvester
- Discover origin server IP via SecurityTrails / Censys / Shodan cPanel cert search
- Search for Twitter/X account that posted the t.co link
- Analyze Laravel session tokens for additional campaign infrastructure
- Monitor CT logs for new certificates on *.zoyiosho.my.id
- Correlate AES key and MD5 hashes with known Lighthouse kit samples
- Search for other .my.id domains registered at JagoanHosting on 2026-01-03
- Alert on AES-GCM encrypted HTML pages with
crypto.subtle.decryptin source - Alert on fake CAPTCHA pages with "Polite Hold in Place" title
- Block t.co links redirecting to .my.id domains
- Monitor for Laravel sessions from equity/colab subdomains of .my.id
- Detect XOR-encrypted form POST values with MD5-structured keys