Cảnh báo: Mã độc ẩn giấu và mối đe dọa mạng nghiêm trọng

Cảnh báo: Mã độc ẩn giấu và mối đe dọa mạng nghiêm trọng

Các kỹ thuật tống tiền tài khoản ngày càng tinh vi, tận dụng các phương thức ẩn giấu mã độc hại để né tránh sự phát hiện của các hệ thống an ninh. Một trong những phương thức đáng chú ý là việc sử dụng mã ghost, loại mã chỉ hiển thị sau khi trình duyệt thực hiện giải mã, khiến cho các phân tích tĩnh về URL trở nên vô dụng và bỏ sót phần quan trọng nhất của cuộc tấn công. Điều này dẫn đến việc thu thập bằng chứng không đầy đủ, quy trình phân loại chậm trễ và kéo dài thời gian tiếp xúc với nguy cơ xâm nhập tài khoản Microsoft 365.

Phân tích hành vi trong trình duyệt để phát hiện mối đe dọa

Việc kiểm tra trang web ở cấp độ trình duyệt đầy đủ có thể khắc phục khoảng trống này. Bằng cách quan sát cách trang web thực sự hoạt động sau khi thực thi trong môi trường động, các đội ngũ an ninh có thể thu thập bằng chứng cần thiết để xác nhận mối đe dọa và hành động kịp thời.

Hoạt động gần đây của EvilTokens

Dữ liệu tình báo về mối đe dọa từ ANY.RUN cho thấy hoạt động gần đây của EvilTokens tập trung chủ yếu tại Hoa Kỳ và Châu Âu. Bộ công cụ này nhắm mục tiêu vào các tổ chức nơi một tài khoản Microsoft 365 bị xâm nhập có thể mở ra cánh cửa dẫn đến dữ liệu nhạy cảm, các cuộc hội thoại nội bộ và các dịch vụ kinh doanh liên kết.

EvilTokens vẫn là một trong những bộ công cụ lừa đảo (phishing kit) mà ANY.RUN quan sát thấy thường xuyên nhất trong các báo cáo tình báo mối đe dọa hàng tuần.

Khai thác lỗ hổng Microsoft Device Code Phishing

Một phân tích gần đây đã chứng minh cách bộ công cụ này sử dụng kỹ thuật Microsoft Device Code Phishing để chiếm quyền kiểm soát tài khoản mà không cần lấy cắp thông tin đăng nhập trực tiếp. Thay vì đánh cắp mật khẩu, kẻ tấn công thuyết phục nạn nhân thực hiện quy trình đăng nhập thiết bị hợp pháp của Microsoft và vô tình cấp quyền truy cập vào tài khoản của chính họ.

Phát hiện mã độc ẩn trong trình duyệt

Lý do khiến cuộc tấn công này khó điều tra nằm ở cách nó che giấu nội dung lừa đảo. Mã HTML của trang đích được mã hóa bằng AES-GCM và chỉ trở nên đọc được sau khi trình duyệt giải mã và hiển thị nó vào DOM. Điều này có nghĩa là các kiểm tra URL tĩnh và phát hiện ở cấp độ mạng có thể ghi nhận phản hồi ban đầu nhưng không bao giờ tiết lộ những gì nạn nhân thực sự nhìn thấy trên màn hình.

Kết quả là một phán đoán không đầy đủ, các kiểm tra thủ công bổ sung, các sự cố leo thang không đáng có và sự chậm trễ trong việc ngăn chặn.

Khoảng trống về khả năng hiển thị này trở thành một vấn đề kinh doanh. Khi một Trung tâm Điều hành An ninh mạng (SOC) không thể quan sát những gì một trang đáng ngờ thực hiện sau khi nó bắt đầu thực thi trong trình duyệt, hậu quả sẽ vượt xa một cuộc điều tra chậm chạp.

Vai trò của ANY.RUN Interactive Sandbox

Để xác nhận mối đe dọa một cách nhanh chóng, các đội ngũ cần thấy những gì diễn ra khi trang bắt đầu thực thi. Sử dụng tính năng kiểm tra dữ liệu trong trình duyệt của ANY.RUN, các nhà điều tra có thể xem xét các trường hợp như thế này trên nhiều lớp:

  • Kiểm tra dữ liệu trình duyệt: Lưu lượng mạng tiết lộ rằng EvilTokens phục vụ trang đích bên trong một phản hồi HTTP được mã hóa bằng AES-GCM. Mã HTML DOM đã giải mã sau đó có thể được xem xét trong bảng Dữ liệu Trình duyệt (Browser Data).

Phân tích HTML DOM Changes

Tại đây, bạn có thể xem xét các ảnh chụp nhanh về cấu trúc DOM sau khi mã được mã hóa AES-GCM đã được giải mã. Trường HTML DOM Changes chứa các chi tiết sau:

  • Kích thước thay đổi: Con số đáng chú ý là sự thay đổi kích thước +48 byte. Việc chọn ảnh chụp nhanh thứ tư cho thấy dòng nào đã bị xóa và dòng nào đã được thêm vào so với ảnh chụp nhanh trước đó.
  • Hiển thị mã người dùng: Nhìn vào bảng Render ở bên trái, có thể xác nhận rằng một mã người dùng đã xuất hiện trên trang. Kẻ tấn công sẽ sử dụng mã này sau đó để chiếm đoạt tài khoản Microsoft 365 của nạn nhân.

Truy vấn Fetch/XHR để xác định nguồn gốc mã người dùng

Điều này cho thấy trang đích đã kéo mã người dùng từ backend một cách động thông qua yêu cầu Fetch/XHR, có thể được kiểm tra trong tab Yêu cầu HTTP (HTTP Requests). Việc sắp xếp các giá trị Timeshift của yêu cầu HTTP và ảnh chụp nhanh DOM có thể xác định rằng mã người dùng đến từ một yêu cầu tới điểm cuối /api/device/start. Nhấp vào URL sẽ xác nhận điều này.

Mở rộng điều tra sang các hoạt động lừa đảo liên quan

Những gì bạn học được từ một phiên phân tích có thể được sử dụng để phát hiện các cơ sở hạ tầng và hoạt động lừa đảo liên quan. Bắt đầu với Chi tiết URL (URL Details), nơi mã được hiển thị trong DOM đã kích hoạt chữ ký lừa đảo Microsoft OAuth device-code.

Tìm kiếm chữ ký trong Threat Intelligence

Tìm kiếm chữ ký đó trong ANY.RUN Threat Intelligence sẽ hiển thị các tài nguyên lừa đảo khác được xây dựng trên các mẫu mã tương tự. Kết quả cho thấy rõ ràng hành vi này không chỉ giới hạn ở EvilTokens. Các bộ công cụ khác sử dụng mã và kỹ thuật tương đương, cho phép các đội ngũ vượt ra ngoài một trường hợp đơn lẻ và nhận diện một cụm mối đe dọa liên quan rộng lớn hơn.

Truy vấn Tình báo Mối đe dọa (TI Query): ruleName:"^Microsoft OAuth device-code phishing has been detected$"

Để thu hẹp phạm vi tìm kiếm cụ thể EvilTokens, hãy sử dụng truy vấn này:

Truy vấn TI: threatName:"eviltokens"

Dữ liệu về vị trí hoạt động và các thẻ mối đe dọa

Dữ liệu Tình báo Mối đe dọa xác nhận rằng hoạt động EvilTokens gần đây tập trung chủ yếu ở Hoa Kỳ và Châu Âu.

Các đội ngũ cũng có thể theo dõi lừa đảo device-code một cách rộng rãi hơn với thẻ mối đe dọa oauth-ms-phish:

Truy vấn TI: threatName:"oauth-ms-phish"

Việc tìm kiếm rộng hơn này giúp các đội ngũ phát hiện các chiến dịch liên quan ngay cả khi chúng sử dụng một bộ công cụ lừa đảo hoặc cơ sở hạ tầng khác.

Trích xuất và xác thực các Chỉ số Tác chiến (IOC)

Tiếp theo, quay lại Dữ liệu Trình duyệt (Browser Data) và mở tab Chỉ số (Indicators). Không phải mọi tạo tác thu thập được trong quá trình phân tích đều thuộc về các quy tắc phát hiện của bạn. Ví dụ, địa chỉ IP được quan sát nằm trong hệ thống tự trị CloudflareNet – việc chặn hoặc cảnh báo về cơ sở hạ tầng được chia sẻ đó có thể tạo ra các cảnh báo sai và làm gián đoạn các dịch vụ hợp pháp.

Các chỉ số cụ thể hơn của phiên – tên miền, URI và hash – là những ứng viên mạnh mẽ hơn để xác thực và phát hiện thêm.

Truy vấn TI để lọc IOC cụ thể: url:"/api/device/start" or domainName:"emp01825.workers.dev$" or md5:"fcd1b654a0b3e8f85ca7cfdafe494d4b"

Bằng cách xoay vòng qua các chữ ký, tên mối đe dọa, thẻ và các chỉ số tác chiến được lựa chọn cẩn thận, các đội ngũ có thể liên kết một cảnh báo riêng lẻ với hoạt động lừa đảo rộng lớn hơn, mở rộng phạm vi phát hiện và đi trước các cuộc tấn công liên quan.

Phân tích sâu mã độc trong HTML DOM Changes

Chế độ xem HTML DOM Changes không chỉ hữu ích cho việc phân loại mà còn hỗ trợ phân tích mã sâu hơn. Bằng cách nghiên cứu logic trang đã giải mã, các đội ngũ có thể phát hiện các mẫu lặp lại có thể cung cấp dữ liệu cho các quy tắc phát hiện lừa đảo cấp thấp.

Phân tích yêu cầu kiểm tra cổng (gate-check)

Phần mã đầu tiên cho thấy máy khách phát ra yêu cầu kiểm tra cổng tới:

_gateCheckUrl

Backend phản hồi với một cờ killed quyết định những gì xảy ra tiếp theo. Nếu luồng lừa đảo vẫn còn hoạt động (live), cuộc tấn công sẽ tiếp tục. Nếu không, nạn nhân sẽ được phục vụ một trang giả mạo được thiết kế trông giống như lỗi Microsoft hoặc thông báo liên kết hết hạn. Điều này cung cấp cho kẻ điều hành một cách để tắt trang lừa đảo hoặc che giấu hành vi thực sự của nó khi khách truy cập hoặc điều kiện cụ thể xuất hiện.

Phân tích yêu cầu bắt đầu phiên (session start)

Phần mã tiếp theo kích hoạt một yêu cầu POST tới _startUrl:

POST /api/device/start HTTP/1.1
Host: emp01825.workers.dev
Content-Type: application/json

{
  "code": "..."
}

Backend trả về userCode, sessionId và URI xác minh. Sau đó, script lưu phiên, xây dựng _verificationUrl và ghi mã người dùng vào DOM cho nạn nhân.

Đây chính là hoạt động đã thấy trước đó trong chế độ xem Yêu cầu HTTP, liên kết mã phía trình duyệt trực tiếp với yêu cầu mạng và mã người dùng hiển thị trên trang.

Theo dõi trạng thái phiên device-code

Frontend sau đó theo dõi trạng thái của phiên device-code thông qua các yêu cầu GET lặp lại mang sessionId hiện tại và nhận trạng thái mới nhất từ backend. Khi trạng thái thay đổi thành completed, script sẽ ngừng thăm dò, hiển thị màn hình thành công và chuyển hướng nạn nhân đến trang OneDrive chính thức.

Việc chuyển hướng cuối cùng này làm cho cuộc tấn công trông có vẻ thành công và hợp pháp, trong khi kẻ tấn công giữ quyền truy cập được cấp thông qua luồng đăng nhập thiết bị Microsoft đã hoàn tất. Bằng cách kết hợp mã DOM đã giải mã với các yêu cầu trình duyệt và các thay đổi trang hiển thị, các đội ngũ có thể tái tạo toàn bộ logic lừa đảo và hiển thị các mẫu mã, điểm cuối và hành vi có thể củng cố khả năng phát hiện trong tương lai.

Lợi ích của việc phân tích cấp độ trình duyệt

Cuộc điều tra EvilTokens nhấn mạnh lợi ích thực tế của bằng chứng cấp độ trình duyệt. Thay vì dừng lại ở phản hồi HTTP được mã hóa, các đội ngũ có thể xem DOM đã giải mã, xác định yêu cầu đã tạo ra mã người dùng, theo dõi phiên device-code và trích xuất các tạo tác để phát hiện và săn lùng mối đe dọa. Điều này cải thiện quy trình điều tra theo nhiều cách:

  • Giảm thời gian phân loại: Tự động hóa việc thu thập bằng chứng quan trọng và giảm thời gian điều tra thủ công.
  • Tăng cường phát hiện: Cung cấp dữ liệu chi tiết để xây dựng các quy tắc phát hiện mạnh mẽ hơn.
  • Đáp ứng nhanh hơn: Cho phép các đội ngũ xác nhận mối đe dọa và bắt đầu quá trình ứng phó sớm hơn.

Đối với các đội ngũ SOC và MSSP, điều này có nghĩa là ít thời gian hơn để ghép nối thủ công hoạt động của trình duyệt, sử dụng nhân viên cấp cao hiệu quả hơn và một con đường nhanh hơn từ một URL đáng ngờ đến một phản ứng tự tin.