ARToken & EvilTokens: PhaaS device code phishing "AI-augmented" đánh chiếm Microsoft 365 và tự động hóa lừa đảo BEC

Tóm tắt
ARToken là một bảng điều khiển (operator panel) Phishing-as-a-Service (PhaaS) được Cisco Talos công bố ngày 01/07/2026, và Talos đánh giá nó là panel affiliate của nền tảng EvilTokens — PhaaS mà Sekoia phát hiện đầu tháng 3/2026 và Microsoft xác nhận đang hoạt động ở quy mô lớn vào tháng 4/2026. Cả hai nhắm vào Microsoft 365 bằng kỹ thuật device code phishing — lạm dụng luồng OAuth 2.0 Device Authorization Grant để bypass hoàn toàn MFA.
Rủi ro kinh doanh cốt lõi nằm ở ba điểm cộng hưởng. Thứ nhất, device code phishing không đánh cắp mật khẩu mà lừa nạn nhân tự tay authorize phiên của kẻ tấn công, nên MFA truyền thống (OTP, push, SMS) không đỡ được. Thứ hai, sau khi chiếm token, kẻ tấn công đổi lấy Primary Refresh Token (PRT) để thiết lập persistence sống sót qua cả việc reset mật khẩu. Thứ ba, EvilTokens tích hợp một pipeline AI tự động hóa lừa đảo BEC từ đầu đến cuối — Sekoia đánh giá đây là PhaaS đầu tiên có công cụ hậu-khai-thác tăng cường bằng AI. Hành động ưu tiên: chặn hoặc siết chặt device code flow qua Conditional Access và đẩy nhanh MFA kháng phishing (FIDO2 / passkey) — hai lớp phòng thủ hiếm hoi vẫn hiệu quả với chính kỹ thuật này.
Device code phishing là gì và vì sao nó bypass MFA
Device code authentication là một luồng OAuth 2.0 hợp pháp (RFC 8628), thiết kế cho các thiết bị có giao diện nhập liệu hạn chế — như Smart TV hay máy in — nơi người dùng nhập một mã ngắn trên một thiết bị khác để hoàn tất đăng nhập. Chính đặc điểm "hoàn tất xác thực trên một thiết bị tách biệt" tạo ra đánh đổi bảo mật: phiên khởi tạo yêu cầu không được ràng buộc chặt với ngữ cảnh gốc của người dùng.
Kẻ tấn công lợi dụng điều này bằng cách tự khởi tạo luồng device code, rồi qua một lure phishing đẩy mã đó cho nạn nhân. Khi nạn nhân nhập mã trên trang microsoft.com/devicelogin thật, họ vô tình cấp quyền cho phiên của kẻ tấn công — không hề lộ mật khẩu, và MFA vẫn được nạn nhân hoàn tất một cách hợp lệ, nhưng cho phiên của attacker.
Điểm nâng cấp quan trọng của chiến dịch này so với các đợt device code phishing trước là dynamic code generation. Một device code chỉ sống 15 phút; các chiến dịch cũ nhúng sẵn mã trong email nên thường hết hạn trước khi nạn nhân thao tác xong. EvilTokens/ARToken sinh mã ngay tại thời điểm nạn nhân click link, đảm bảo mã luôn còn hiệu lực. Một số biến thể còn tự copy mã vào clipboard của nạn nhân để rút ngắn thời gian thao tác.
EvilTokens & ARToken — quan hệ và hệ sinh thái PhaaS
EvilTokens vận hành qua một quy trình Telegram có cấu trúc: bot bán hàng, bot triển khai landing page lên Cloudflare Workers, bot bán riêng trang anti-bot, kênh cập nhật changelog. Giá bán: 1.500 USD một lần cho quyền truy cập panel trọn đời, cộng 500 USD/tháng cho code trang phishing và API key; kèm một trình duyệt riêng "Portal Browser" giá 500 USD trọn đời để truy cập nhiều tài khoản M365 bằng token đánh cắp. Tính đến thời điểm Microsoft công bố, Sekoia đã ghi nhận khoảng 500 domain Cloudflare Workers và hơn 1.000 trang phishing dưới ô EvilTokens.
ARToken là bảng điều khiển mà Talos phát hiện tại dashboard-bl.pamconj[.]com — một React single-page application phơi toàn bộ mã client-side (route, endpoint API, logic UI) trong bundle JavaScript, bất kể trạng thái xác thực. Talos gắn ARToken với EvilTokens dựa trên nhiều chỉ dấu kỹ thuật trùng khớp:
API contract giống hệt: ARToken gọi
POST /api/device/startvới body chứaclientMode: "broker",login_hint,redirect_url, và nhận vềdevice_code,user_code,verification_uri— khớp chính xác API contract của EvilTokens mà Sekoia đã tài liệu hóa.Ngữ nghĩa
clientMode: "broker": tham số này chỉ thị backend dùng luồng Microsoft Authentication Broker (WAM) để lấy PRT — không phải tham số OAuth chuẩn, mà đặc thù của EvilTokens.Chuỗi vòng đời PRT trùng khớp:
/prt/setup,/prt/refresh,/prt/renew,/prt/reacquire,/prt/cookie— đúng chuỗi persistence PRT mà Sekoia mô tả là điểm khác biệt cốt lõi của EvilTokens so với AitM truyền thống.Mô hình triển khai trùng: cả hai đẩy lure lên Cloudflare Workers theo pattern subdomain có tiền tố UUID (
{uuid}-docviewer.workers.dev,{uuid}-onedrive.workers.dev,{uuid}-adobe2.workers.dev), với chủ đề lure trùng nhau (Adobe, OneDrive, document viewer). Tóm lại, ARToken cho thấy góc nhìn "từ bên trong" về bộ công cụ mà một affiliate EvilTokens thực sự có trong tay.
Pipeline AI-augmented BEC — điểm nóng nhất
Đây là thứ khiến EvilTokens khác biệt về bản chất so với một PhaaS thông thường. Sau khi chiếm token, backend chạy song song một loạt truy vấn Microsoft Graph API để do thám: đọc messageRules (phát hiện rule sẵn có), contacts (lọc vai trò finance/executive/HR/legal/procurement), events (chọn cửa sổ thời điểm BEC tối ưu), sentitems (trích chữ ký + phân tích văn phong), manager và directReports (phục vụ CEO fraud và chỉ đạo nội bộ), organization (domain spoofing). Toàn bộ được gom thành một báo cáo recon làm ngữ cảnh cho bước AI.
Chuỗi LLM gồm hai giai đoạn, chạy trên Groq API:
Giai đoạn 1 — dùng model
llama-3.1-8b-instant, ingest tới 5.000 email (thân HTML + tên attachment) theo batch 250, kèm báo cáo recon, để tổng hợp mức độ phơi nhiễm tài chính (financial exposure) khai thác được trong hòm thư.Giai đoạn 2 — dùng model
llama-3.3-70b-versatile, tổng hợp kết quả và dựng một kịch bản tấn công BEC kèm 3 email mẫu, chấm BEC score từ 1 đến 100, với các trường như đối tượng mạo danh, mục tiêu, số tiền, thời điểm và inbox rule cần tạo để chặn/che giấu. Ngoài ra EvilTokens dùnggpt-4o-miniqua OpenAI API để dịch email đánh cắp sang tiếng Anh cho attacker xử lý hòm thư non-English.
Đáng chú ý: các prompt này mở đầu bằng một "AI jailbreak" — chỉ thị mô hình đóng vai "chuyên viên red team được ủy quyền" thực hiện "đánh giá thâm nhập hợp lệ" để né cơ chế an toàn của LLM, rồi ép nó dùng dữ liệu thật thay vì ví dụ, xếp hạng phát hiện theo tác động tài chính, và soạn email BEC "đủ thực để đánh lừa nhân viên đã được đào tạo". (Ở đây chỉ diễn giải cấu trúc và mục đích prompt phục vụ phòng thủ, không tái hiện nguyên văn.) Sekoia đánh giá việc tự động hóa toàn trình — từ chiếm token đến soạn kịch bản BEC — rút ngắn drastically cửa sổ phát hiện của defender, cho phép attacker vũ khí hóa token và hành động hậu-khai-thác chỉ trong vài phút.
PRT persistence & bộ công cụ hậu khai thác
Panel ARToken phơi bày toàn bộ workflow hậu-khai-thác mà operator có:
Token & persistence: refresh token duy trì truy cập; leo thang lên PRT qua chuỗi
/prt/setup → /prt/refresh → /prt/cookie— UI quảng cáo thẳng "PRT-enabled — Persists across password changes"; export/backup/import token hàng loạt (cho phép mua bán token xuyên nền tảng); chia sẻ token với operator khác qua link có phân quyền. Kit đặt cờpersistAfterPassChange: false, cho thấy operator hiểu refresh token bị thu hồi khi đổi mật khẩu nên phải exfil hoặc leo lên PRT trước khi nạn nhân phản ứng.Email/BEC (ARTSender): đọc toàn bộ inbox, gửi email dưới danh nghĩa nạn nhân với BCC batch, tạo inbox rule forwarding/auto-delete để che giấu bằng chứng, giám sát keyword đa tài khoản đồng thời.
SharePoint & OneDrive: duyệt/tải/quản lý quyền file nạn nhân — phục vụ đánh cắp tài liệu và đặt file độc để phishing lan truyền nội bộ.
Tự động hóa hạ tầng: tích hợp API Cloudflare để triển khai template phishing thẳng lên Workers từ panel.
Năng lực mới ngoài tài liệu trước đó (theo Talos): Box Monitor (giám sát keyword xuyên nhiều hòm thư đã chiếm), thao túng inbox rule lập trình, geo-dynamic template (placeholder
{city}/{country_code}/{state}resolve theo geolocation nạn nhân), và ARTBrowser — ứng dụng desktop Windows tương đương "Portal Browser" của EvilTokens. Những tính năng này cho thấy đây không phải một kit device code phishing đơn thuần, mà là một môi trường vận hành BEC hoàn chỉnh.
Anti-analysis
ARToken triển khai một hệ thống 7 lớp verification hành vi phía client — mạnh hơn cơ chế server-side của EvilTokens bản gốc — theo Talos:
| Lớp | Cơ chế | Mục đích |
|---|---|---|
| 1 | Regex User-Agent | Chặn headless browser, Selenium, Puppeteer, Playwright, crawler, wget, curl |
| 2 | Kiểm tra navigator.webdriver |
Phát hiện framework tự động hóa |
| 3 | Fingerprint tính năng trình duyệt | Nhận diện môi trường thiếu window.chrome, navigator.vendor, API touch/mouse |
| 4 | Phân tích kích thước cửa sổ | Bắt headless báo 0x0 outer dimensions |
| 5 | Telemetry tương tác | Yêu cầu ≥3 lần di chuột hoặc ≥1 sự kiện chạm trước khi bật payload |
| 6 | Cổng thời gian | Tối thiểu 800ms kể từ khi load trang |
| 7 | Phân tích quỹ đạo chuột | Kiểm tra chuyển động phi tuyến (giống người thật) |
Payload JavaScript được mã hóa bằng XOR key 16-byte giải mã tại runtime (khác với AES-GCM mà Sekoia ghi nhận ở bản EvilTokens), nhằm né phân tích tĩnh của URL scanner. Bản thân trang anti-bot được EvilTokens bán riêng như một sản phẩm qua một Telegram bot chuyên biệt, nên affiliate có thể triển khai module anti-analysis nâng cấp độc lập với nền tảng lõi.
MITRE ATT&CK
Ánh xạ theo Cisco Talos:
| Chiến thuật | Kỹ thuật | ID |
|---|---|---|
| Initial Access | Phishing: Spearphishing Link | T1566.002 |
| Credential Access | Steal Application Access Token | T1528 |
| Persistence | Account Manipulation: Additional Cloud Credentials | T1098.001 |
| Collection | Email Collection: Remote Email Collection | T1114.002 |
| Lateral Movement | Use Alternate Authentication Material: Application Access Token | T1550.001 |
| Impact | Account Access Removal | T1531 |
| Resource Development | Acquire Infrastructure: Web Services | T1583.006 |
| Defense Evasion | Obfuscated Files or Information | T1027 |
| Defense Evasion | Virtualization/Sandbox Evasion: System Checks | T1497.001 |
Nhận định
ARToken/EvilTokens minh họa hai dịch chuyển đang hội tụ và khuếch đại lẫn nhau. Thứ nhất, AI hạ rào cản cho BEC: trước đây gian lận BEC đòi cả kỹ năng kỹ thuật lẫn social engineering để thủ công rà hòm thư, tìm luồng thanh toán, và soạn kịch bản thuyết phục — EvilTokens tự động hóa toàn bộ và cho ra kịch bản cá nhân hóa theo nạn nhân, nhiều khả năng đạt tỉ lệ và giá trị gian lận cao hơn. Thứ hai, device code phishing vô hiệu hóa MFA truyền thống ở tầng thiết kế giao thức, không phải qua một lỗ hổng có thể vá.
Với môi trường doanh nghiệp Việt Nam dùng Microsoft 365, hệ quả trực tiếp là "đã bật MFA" không còn đủ. Nhóm kế toán / accounts-payable / tài chính là mục tiêu ưu tiên — đúng như lure hóa đơn giả quan hệ vendor mà Talos quan sát — nên quy trình xác minh thay đổi thông tin thanh toán qua kênh out-of-band cần được siết. Một lưu ý vận hành quan trọng khi ứng phó: theo Microsoft, thu hồi refresh token thường chỉ vô hiệu refresh token, trong khi access token vẫn sống tới ~1 giờ; với một threat actor thao tác nhanh, nên cân nhắc tạm vô hiệu tài khoản để containment ngay lập tức thay vì chỉ revoke session.
IOC (Indicators of Compromise)
Hạ tầng ARToken — nguồn: Cisco Talos (IOC đầy đủ tại repo GitHub của Talos):
dashboard-bl.pamconj[.]com ARToken panel
spx.pamconj[.]com C2 API
clear90489058903-document.workers[.]dev Cloudflare Workers lure
Operator UUID: 84eb384d-cd3e-4c90-a283-c960ce557913
XOR key (16-byte): [233,69,224,219,53,48,213,165,119,243,77,151,101,148,15,227]
localStorage key: artoken_jwt
Pattern lure: {uuid}-docviewer.workers.dev / {uuid}-onedrive.workers.dev / {uuid}-adobe2.workers.dev
Hạ tầng chiến dịch (Microsoft) — nguồn: Microsoft Defender Security Research:
162.220.232.0/24 (Railway.com) IP range hạ tầng attacker
162.220.234.0/24 (Railway.com) IP range hạ tầng attacker
89.150.45.0/24 (HZ Hosting) IP range hạ tầng attacker
185.81.113.0/24 (HZ Hosting) IP range hạ tầng attacker
graph-microsoft[.]com portal-azure[.]com office365-login[.]com (domain mạo danh)
Ví dụ subdomain ngẫu nhiên: a7b2-c9d4.office-verify[.]net
Nền tảng bị lạm dụng: Vercel (*.vercel.app), Cloudflare Workers (*.workers.dev), AWS Lambda, Railway
Lưu ý: nhiều indicator là nền tảng serverless/PaaS hợp pháp (Railway, Cloudflare, Vercel) bị lạm dụng — chặn cứng theo domain có nguy cơ ảnh hưởng dịch vụ chính đáng; nên ưu tiên phát hiện theo hành vi (device code auth bất thường) thay vì chỉ blocklist.
Khuyến nghị
Chặn hoặc siết device code flow qua Conditional Access (chỉ cho phép ở nơi thực sự cần); ưu tiên MFA kháng phishing (FIDO2 / passkey), tránh MFA qua điện thoại/SMS.
Ứng phó khi nghi ngờ bị chiếm: revoke refresh token và cân nhắc tạm vô hiệu tài khoản (vì access token có thể sống tới ~1h sau revoke); rà soát inbox rule forwarding/auto-delete và device đăng ký mới bất thường.
Triển khai detection: nạp các KQL ở trên vào Sentinel/Defender XDR; bật Safe Links + Entra ID Protection để có high-confidence device code phishing alert.
Siết quy trình tài chính: xác minh out-of-band mọi thay đổi thông tin thanh toán; cảnh báo riêng nhóm kế toán/AP về lure hóa đơn giả quan hệ vendor.
Tài liệu tham khảo
Cisco Talos — ARToken: Inside an EvilTokens affiliate panel targeting Microsoft 365
Sekoia TDR — EvilTokens: an AI-augmented Phishing-as-a-Service for automating BEC fraud – Part 2
Microsoft Defender Security Research — Inside an AI-enabled device code phishing campaign
BleepingComputer — ARToken PhaaS exposes EvilTokens' Microsoft 365 phishing toolkit
BleepingComputer — New EvilTokens service fuels Microsoft device code phishing attacks





