Home OSINT Portfolio Case 018 — EvilTokens PhaaS
Previous: Case 017 — Ghost Stadium FIFA Visa Fraud All Cases
P1 Critical MFA Bypass OAuth Hijack PhaaS Multi-Country

EvilTokens: techroboticslabmade.com — OAuth Device Code PhaaS Bypasses MFA Across 340+ Orgs

EvilTokens is a Phishing-as-a-Service platform that weaponizes the legitimate Microsoft 365 OAuth Device Code authorization flow. Victims authenticate against real Microsoft infrastructure — MFA fires and passes — yet the attacker captures the resulting refresh token and replays it twice daily from Railway.com PaaS infrastructure for up to 90 days. No credential database. No harvested passwords. Just a permanent session token. This investigation confirms the primary C2 domain is still live, identifies a previously undocumented co-hosted domain on the same Cloudzy backend, and maps the full 7-step kill chain.

EvilTokens M365 OAuth Device Code Railway.com PaaS MFA Bypass Token Replay NOIRLEGACY GROUP BEC LLaMA Inbox Harvesting Cloudzy RouterHosting France · Germany · EU T1528 · T1550.001
Primary C2
techroboticslabmade.com
C2 Status
LIVE — HTTP 403 (CF)
New IOC Found
notificationsmanagersec.com
Orgs Compromised
340+ across 7 countries
Token Persistence
90 days / 2× daily replay
Launched
Feb 16, 2026 (Telegram)
Token Relay ASN
Railway.com 162.220.232.0/22
Backend Host
RouterHosting / Cloudzy Tampa
✓ C2 OFFLINE — 2026-08-25 Follow-up IOC audit confirmed techroboticslabmade.com returning HTTP 000 as of August 25, 2026 — down from HTTP 403 (Cloudflare-fronted, alive) at time of original investigation on August 19. The primary EvilTokens MailVault C2 is now fully offline. All Railway.com token relay IPs, macmamo.com PHP backend, and notificationsmanagersec.com co-host remain at HTTP 000. Reports filed: Railway.com abuse, Cloudzy abuse, Cloudflare abuse, CERT-FR, EC3/Europol.
Finding 1 MailVault C2 Still Live — techroboticslabmade.com on Cloudflare, Wildcard Cert Active

The primary EvilTokens MailVault C2 domain techroboticslabmade.com resolves to Cloudflare anycast IPs 104.21.29.34 and 172.67.171.74. The domain returns HTTP 403 on all probed paths — root, /api/device/start, /api/device/status/, /health, /robots.txt, /login. This is Cloudflare gating the backend, not a takedown: the nameservers are ELLE.NS.CLOUDFLARE.COM and NICOLAS.NS.CLOUDFLARE.COM, indicating the operator actively manages DNS through Cloudflare.

CertSpotter reveals a wildcard certificate (*.techroboticslabmade.com) issued 2026-06-02 — four months after campaign launch, three months after the March 2 campaign acceleration. This renewal signals active operational maintenance of the platform, not abandonment. The domain was registered 2025-07-14 via Cloudflare, Inc. as registrar — 7 months of pre-campaign infrastructure preparation.

# WHOIS: techroboticslabmade.com Creation Date 2025-07-14T13:22:10Z # 7 months pre-campaign prep Registrar Cloudflare, Inc. Name Server ELLE.NS.CLOUDFLARE.COM Name Server NICOLAS.NS.CLOUDFLARE.COM Status clientTransferProhibited # DNS resolution A 104.21.29.34 # Cloudflare anycast A 172.67.171.74 # Cloudflare anycast # CertSpotter Issued 2026-06-02 DNS Names *.techroboticslabmade.com # Wildcard — active maintenance confirmed DNS Names techroboticslabmade.com # Live probe (2026-08-19) GET / HTTP 403 # Cloudflare WAF — server alive, gated GET /api/device/start HTTP 403 # EvilTokens API path — 403 not 404 GET /api/device/status/ HTTP 403
Active. A 403 from a Cloudflare-fronted C2 means the server is alive and the WAF is blocking unauthenticated access — not a takedown. The wildcard cert renewal in June 2026 confirms active operator maintenance.
Finding 2 New IOC Discovered — notificationsmanagersec.com Co-Hosted on Same Cloudzy Backend

Reverse IP lookup against 216.126.227.101 (the RouterHosting/Cloudzy backend previously identified as the macmamo.com PHP host) returns two domains: macmamo.com and notificationsmanagersec.com. The second domain is not present in any published EvilTokens threat report reviewed during this investigation.

notificationsmanagersec.com was registered 2026-03-10 via NameSilo — exactly 8 days after the March 2 campaign acceleration identified by Huntress. Registration during active campaign expansion, on the same C2 backend, with a name pattern matching operator alert infrastructure ("notifications manager security") is strong co-location evidence. No MX record and no SPF record — Telegram exfiltration model, consistent with all other EvilTokens infrastructure. The domain returns HTTP 000 on all paths, indicating the Cloudzy backend is selectively offline or port-filtered.

# Reverse IP: 216.126.227.101 Domain 1 macmamo.com # Known PHP backend Domain 2 notificationsmanagersec.com # NEW — undocumented # WHOIS: notificationsmanagersec.com Creation Date 2026-03-10T09:36:00Z # +8 days after March 2 campaign surge Registrar NameSilo, LLC Name Server NS1.DNSOWL.COM Status ok # NOT seized — active NameSilo registration # DNS A 216.126.227.101 # Same Cloudzy host as macmamo.com PHP backend MX (none) # No mail → Telegram operator exfil SPF (none) # ASN: 216.126.227.101 CIDR 216.126.224.0/20 OrgName RouterHosting LLC # dba Cloudzy Country US (Tampa, FL) Abuse abuse-reports@cloudzy.com AbusePhone +1-778-977-8246
First public documentation of notificationsmanagersec.com as EvilTokens infrastructure. NameSilo registration is currently active — eligible for abuse report via NameSilo web form before any seizure attempt.
Finding 3 7-Step Kill Chain — Device Code Flow Abused to Deliver Persistent M365 Session Tokens

EvilTokens does not harvest credentials. It hijacks the OAuth Device Authorization Grant (RFC 8628), a flow designed for input-limited devices like smart TVs. The attacker initiates a device code request, presents the victim with a real Microsoft URL and a legitimate-looking code, waits for the victim to authenticate normally (MFA included), and captures the resulting refresh token. The victim's login succeeds — no error, no redirect warning. The token is what the attacker needs.

Token replay occurs twice daily from Railway.com infrastructure — observed at 11:00 AM and 8:00 PM — granting persistent access to the compromised mailbox, OneDrive, calendar, and contacts for up to 90 days per token without any further victim interaction.

01Lure delivery: Email sent from previously compromised legitimate account (SPF/DKIM/DMARC all pass). Lure types: DocuSign request, Adobe share, voicemail notification, construction RFP. AI-generated per-victim — no two lures identical across 344 targets.
02Multi-hop redirect chain: Link routes through up to 5 hops: compromised site → security vendor URL rewriter (Mimecast, Cisco, Trend Micro) → Cloudflare Workers lure page (emily-c57.workers.dev namespace) → JS bot gate → device code page.
03Device code generation: Backend POSTs to https://login.microsoftonline.com/{tenant}/oauth2/v2.0/devicecode with a chosen client_id. Response: user_code (short alphanumeric), device_code, verification_uri (real Microsoft URL), 15-minute expiration window.
04Victim authenticates: Victim visits real microsoft.com/devicelogin, enters the user_code, completes normal MFA. Microsoft's own infrastructure handles authentication. The victim sees a successful login — no anomaly visible.
05Token capture: Backend polls /oauth2/v2.0/token with the device_code every few seconds. On victim approval, Microsoft returns an access token + long-lived refresh token scoped to mailbox, files, calendar, and contacts.
06Persistent replay: Railway.com IPs in 162.220.232.0/22 and 162.220.234.0/22 replay the refresh token twice daily (11:00 AM + 8:00 PM). Automated UA: BAV2ROPC. Synthetic mobile UA to evade risk scoring: iPhone OS 18.7 / Version/26.3 (Version/26.3 did not exist in early 2026 — fabricated). Signal in Entra ID logs: cmsi session (87.4% of events).
07BEC follow-through: LLaMA model summarizes inbox for financial targets — open invoices, wiring instructions, supplier relationships. Operator uses "send-as-target" functionality to send fraudulent payment requests from the victim's own address. SPF/DKIM/DMARC pass on BEC emails.
MFA does not protect against this attack. The victim completes MFA successfully. The protection failure is at the OAuth consent layer — conditional access policies checking token replay source IP are the only technical control that catches this post-auth.
Finding 4 Railway.com PaaS as Token Replay Engine — 5 Primary IPs, 84% Traffic Concentration

The token replay infrastructure runs entirely on Railway.com PaaS, exploiting the platform's clean IP reputation to pass Microsoft's risk scoring. Five Railway IPs account for the vast majority of observed token authentication polling. Three of those five — 162.220.234.41 (254 events), 162.220.234.66 (132 events), and 162.220.232.57 (97 events) — account for approximately 84% of all observed events. This concentration indicates a centralized backend rather than distributed ephemeral deployment.

The Railway CIDR blocks are registered under RLWY-METALGEN1-01 (ARIN handle). Two CIDR blocks cover the entire EvilTokens relay footprint: 162.220.232.0/22 and 162.220.234.0/22. Blocking these at the Entra ID Conditional Access layer eliminates the persistent replay mechanism even when the refresh token itself is active. Additional secondary CIDRs observed in lower-volume events: 152.55.176.0/20, 208.77.244.0/22, 66.33.22.0/23, 69.46.46.0/24, 69.9.164.0/22, IPv6 2607:99c0::/32.

# Railway.com Token Replay IPs — event volume 162.220.234.41 254 events # Primary relay 162.220.234.66 132 events 162.220.232.57 97 events 162.220.232.99 38 events # SAML-specific traffic 162.220.232.235 15 events 162.220.232.55/223/230 ~8 events each 162.220.234.32/34/161 ~7 events each # Block ranges (Conditional Access / firewall) CIDR_PRIMARY_1 162.220.232.0/22 # Railway RLWY-METALGEN1-01 CIDR_PRIMARY_2 162.220.234.0/22 # Railway RLWY-METALGEN1-01 CIDR_SECONDARY 152.55.176.0/20 · 208.77.244.0/22 CIDR_SECONDARY 66.33.22.0/23 · 69.46.46.0/24 · 69.9.164.0/22 IPv6 2607:99c0::/32 # ASN OrgName Railway Abuse abuse@railway.app # +1-415-707-7675
Entra ID Conditional Access Named Locations blocking 162.220.232.0/22 and 162.220.234.0/22 stops the refresh token replay even with a valid stolen token. This is the highest-priority defensive action for affected organizations.
Finding 5 Behavioral Fingerprints — X-Antibot-Token Header, BAV2ROPC User-Agent, Fake iOS 18.7 UA

EvilTokens exhibits three unique detection signals that allow SIEM-level hunting in Entra ID sign-in logs without requiring network-level visibility:

1. BAV2ROPC user-agent: The automated token polling script uses the user-agent string BAV2ROPC. This is not a legitimate browser UA. It appears in Microsoft's Unified Audit Log under UserAgent for the token replay events. Any occurrence of BAV2ROPC in M365 sign-in logs is indicative of automated credential or token stuffing.

2. Synthetic mobile UA: To evade risk-based conditional access scoring, the kit inserts a fake iPhone UA: Mozilla/5.0 (iPhone; CPU iPhone OS 18_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3 Mobile/15E148 Safari/604.1. The Version/26.3 field did not exist in early 2026 — iOS Safari uses Version/17 or Version/18. This fabricated string is a reliable SIEM signature.

3. Non-standard HTTP header: EvilTokens landing pages served through Railway.com include X-Antibot-Token as a non-standard response header. This is the platform's bot detection mechanism and functions as a fingerprint — any page serving this header in an M365 authentication context is EvilTokens infrastructure.

4. Entra ID session flag: Successful device code phishing events appear in sign-in logs with cmsi session designation — observed in 87.4% of confirmed EvilTokens compromise events.

# Detection signatures — add to SIEM hunting queries UserAgent BAV2ROPC # Automated token replay UserAgent Version/26.3 # Fake iOS UA (26.3 never existed) ResponseHeader X-Antibot-Token: * # EvilTokens WAF header SessionFlag cmsi session # 87.4% of events # Replay schedule (UTC+0) Replay_1 11:00 AM Replay_2 08:00 PM Persistence 90 days per refresh token # CF Workers lure namespace (Cloudflare suspended accounts) Pattern [lure-type]-[3char].[username]-[domain]-s-account.workers.dev Lure types adobe · docusign · index · onedrive · page · voicemail Known instance emily-c57.workers.dev # HTTP 403 (Cloudflare suspended) # Kit source signature in JS Gate page // <-- REPLACE WITH YOUR ACTUAL DOMAIN # Operator-distributed kit
The "Version/26.3" fake iOS UA and BAV2ROPC strings are reliable SIEM rules. A KQL query on Entra ID SignInLogs filtering for either string against any authentication against exchange.microsoft.com or graph.microsoft.com will surface EvilTokens compromise attempts with very low false-positive rate.
Finding 6 MITRE ATT&CK + EU Exposure — France, Germany, BEC Monetization via LLaMA Inbox Intelligence

EvilTokens compromised organizations across 7 countries: United States, Canada, France, Australia, India, Switzerland, and the UAE. France and Germany are confirmed EU victim countries. The platform launched on the NOIRLEGACY GROUP Telegram channel on February 16, 2026, offering three operator products: "B2B Sender" (outbound BEC mail via compromised accounts), "Office 365 Capture Link" (device code landing page kit), and "SMTP Sender" (bulk mail relay via captured credentials).

Post-compromise monetization uses a LLaMA-based inbox summarization module that reads the victim's email, extracts open invoices, wire transfer instructions, vendor relationships, and financial patterns — then drafts BEC emails that pass SPF/DKIM/DMARC because they originate from the compromised account itself. The sectors most impacted: construction, real estate, financial services, legal services, and healthcare — all high-value BEC targets with frequent wire transfers.

EU regulatory exposure: email access without authorization is a GDPR Art. 32 breach (inadequate security of personal data). Each compromised EU mailbox containing employee or client personal data is a reportable incident under Art. 33 (72-hour notification). Affected French organizations must notify CNIL. German organizations notify BSI and relevant Landesbehörden.

# MITRE ATT&CK mapping T1528 Steal Application Access Token # Core technique T1550.001 Use Alternate Auth Material — Token # Refresh token replay T1566.002 Phishing: Spearphishing Link T1583.006 Acquire Infrastructure: Web Services # Railway, CF Workers, Vercel T1071.001 Application Layer Protocol: Web T1114.002 Email Collection: Remote Email Collection T1565.001 Data Manipulation: Stored Data # LLaMA BEC email composition # Confirmed EU victim countries France CONFIRMED # CNIL notification required (GDPR Art.33) Germany CONFIRMED # BSI notification, DSGVO Art.33 Switzerland CONFIRMED # nDSG (Swiss data protection) # EvilTokens Telegram products Product 1 B2B Sender # BEC outbound via compromised mailbox Product 2 Office 365 Capture Link # Device code kit for operators Product 3 SMTP Sender # Bulk mail relay Advertised on NOIRLEGACY GROUP # Telegram, Feb 16 2026 Scale +1,380% # YoY increase in device code phishing (Huntress)
Affected EU organizations face dual exposure: a GDPR Art. 33 reportable breach for each compromised mailbox containing personal data, and active BEC fraud risk for the 90-day token validity window. Organizations should audit Entra ID sign-in logs for cmsi session + BAV2ROPC immediately.
Reporting
Railway.com — Abuse Team
abuse@railway.app · +1-415-707-7675

Token replay infrastructure operating from Railway CIDRs 162.220.232.0/22 and 162.220.234.0/22. Five IPs identified; three account for 84% of M365 authentication polling events. Request: investigate and terminate EvilTokens tenants.

RouterHosting / Cloudzy — Abuse
abuse-reports@cloudzy.com

macmamo.com and notificationsmanagersec.com both resolve to 216.126.227.101 (RouterHosting/Cloudzy, CIDR 216.126.224.0/20). macmamo.com = PHP backend; notificationsmanagersec.com = newly discovered co-hosted IOC. Request server suspension.

Cloudflare Abuse
abuse@cloudflare.com

techroboticslabmade.com is CF-fronted (nameservers ELLE/NICOLAS.NS.CLOUDFLARE.COM). Wildcard cert active. Domain functions as EvilTokens MailVault C2. Request: DNS uncloaking + account suspension.

ANSSI France — CERT-FR
cert@cert.ssi.gouv.fr

France confirmed as victim country. EvilTokens device code phishing campaign, 340+ orgs compromised across 7 countries from February 2026. Full IOC set and Railway.com CIDR blocks provided for defensive dissemination.

EC3 / Europol
ec3@europol.europa.eu

Multi-country corporate compromise operation (France, Germany, Switzerland). NOIRLEGACY GROUP Telegram channel as advertiser. Active PhaaS platform with 340+ confirmed victims. Full kill chain and IOC set enclosed.

Microsoft MSRC / Security Response
secure@microsoft.com

Abuse of Microsoft OAuth Device Authorization Grant (RFC 8628). Specific client_ids may be identified in sign-in log analysis. Request: review whether known EvilTokens client_ids can be revoked at the tenant level or blocked via Entra ID risk signals.

Investigation Method
Phase 1WebSearch correlation of EvilTokens against Huntress, Abnormal AI, CSA, Push Security published reports. Confirmed: 340+ victims, 7 countries, Feb–Mar 2026 campaign, Railway.com relay infrastructure.
Phase 2Live HTTP probes: techroboticslabmade.com (HTTP 403 — Cloudflare-fronted, alive), macmamo.com (HTTP 000 — backend offline or filtered), Railway IPs (HTTP 000 — PaaS routing requires hostname), CF Workers lures (HTTP 403 — Cloudflare suspended accounts).
Phase 3WHOIS + DNS: techroboticslabmade.com created 2025-07-14 (7 months pre-campaign); macmamo.com created 2026-02-02 (14 days before Telegram launch). No MX or SPF on any EvilTokens backend domain — Telegram exfil model confirmed across all nodes.
Phase 4CertSpotter enumeration: techroboticslabmade.com wildcard cert issued 2026-06-02 — active operational renewal confirms the C2 is not abandoned. Only apex + wildcard — no subdomains discoverable.
Phase 5Reverse IP via HackerTarget against 216.126.227.101 (Cloudzy, Tampa FL) returned two co-hosted domains: macmamo.com (known) and notificationsmanagersec.com (NEW). WHOIS confirmed registration 2026-03-10 — 8 days after March 2 campaign acceleration, NameSilo as registrar, domain status "ok" (eligible for abuse report).
Phase 6ARIN RDAP on Railway CIDR 162.220.232.0/22: OrgName Railway, OrgAbuseEmail abuse@railway.app. ARIN RDAP on 216.126.227.101: RouterHosting LLC dba Cloudzy, abuse-reports@cloudzy.com.
IOC Table
TypeIndicatorContext
Domaintechroboticslabmade.comPrimary MailVault C2 — Cloudflare-fronted — LIVE HTTP 403
Domainmacmamo.comPHP backend — Cloudzy Tampa 216.126.227.101
Domainnotificationsmanagersec.comNEW IOC — co-hosted at 216.126.227.101 — created 2026-03-10 — NameSilo
IP216.126.227.101RouterHosting/Cloudzy Tampa — PHP backend + NEW co-host
IP162.220.234.41Railway.com — 254 token replay events — primary relay
IP162.220.234.66Railway.com — 132 token replay events
IP162.220.232.57Railway.com — 97 token replay events
IP162.220.232.99Railway.com — 38 events (SAML-specific)
IP162.220.232.235Railway.com — 15 events
CIDR162.220.232.0/22Railway.com — block in Entra ID Conditional Access
CIDR162.220.234.0/22Railway.com — block in Entra ID Conditional Access
CIDR152.55.176.0/20Railway secondary relay CIDR
CIDR208.77.244.0/22Railway secondary relay CIDR
CIDR66.33.22.0/23Railway secondary relay CIDR
CIDR69.9.164.0/22Railway secondary relay CIDR
CIDR2607:99c0::/32Railway IPv6 relay block
Domainadobe-lg7.emily-c57.workers.devCF Workers lure — HTTP 403 (Cloudflare suspended)
Domaindocusign-wz7.emily-c57.workers.devCF Workers lure — HTTP 403 (Cloudflare suspended)
Domaindocusign-2vh.davidvallejo-tophattx-com-s-account.workers.devCF Workers lure — HTTP 403 (Cloudflare suspended)
UA StringBAV2ROPCAutomated token replay UA — hunt in Entra ID SignInLogs
UA StringVersion/26.3 (iPhone OS 18_7)Fake iOS UA — Version/26.3 never existed in 2026
HTTP HeaderX-Antibot-TokenEvilTokens landing page fingerprint header
Log Signalcmsi sessionEntra ID sign-in flag — 87.4% of EvilTokens events
TelegramNOIRLEGACY GROUPAdvertiser channel — EvilTokens first post Feb 16, 2026
API Path/api/device/startEvilTokens device code initiation endpoint
API Path/api/device/status/EvilTokens polling endpoint
Evidence
EvilTokens C2 infrastructure WHOIS + reverse IP evidence
Figure 1 — C2 infrastructure: WHOIS timeline (techroboticslabmade.com 2025-07-14, macmamo.com 2026-02-02, notificationsmanagersec.com 2026-03-10), reverse IP pivot on 216.126.227.101 revealing new IOC, Railway.com ASN and Cloudzy ARIN data.
EvilTokens 7-step kill chain and Railway.com token replay IPs
Figure 2 — Railway.com token replay IPs (top 5 by event volume), behavioral detection signatures (BAV2ROPC, Version/26.3, X-Antibot-Token, cmsi session), and CF Workers lure namespace (emily-c57.workers.dev). All CF Workers return HTTP 403 (Cloudflare suspended); primary C2 remains HTTP 403 (alive, gated).
Live IOC Status
Loading status...
Previous: Case 017 — Ghost Stadium FIFA Visa Fraud Next: Case 019 — Third Eye Activator Supplement Scam
SevinOS BLE Radar