Website vẫn có thể trông hoàn toàn bình thường: Malware chỉ “lộ mặt” khi đúng mục tiêu truy cập

Microsoft phát hiện một chiến dịch ClickFix trên macOS dùng browser fingerprinting để quyết định ai được thấy trang độc hại. Người dùng Mac phù hợp nhận bẫy tải xuống, còn crawler, sandbox hoặc môi trường không khớp có thể chỉ thấy trang trắng hay nội dung vô hại.

Website vẫn có thể trông hoàn toàn bình thường: Malware chỉ “lộ mặt” khi đúng mục tiêu truy cập

Một địa chỉ web có thể trả về hai khuôn mặt hoàn toàn khác nhau. Người dùng Mac thật nhìn thấy nút “Download for macOS” cùng hướng dẫn chạy lệnh trong Terminal. Một crawler bảo mật truy cập đúng URL đó lại chỉ nhận trang trắng, nội dung giả vô hại hoặc chẳng có gì đáng ngờ.

Đó là thay đổi Microsoft Threat Intelligence vừa ghi nhận trong một chiến dịch ClickFix nhắm vào macOS. Thay vì đưa nội dung độc hại cho tất cả khách truy cập, hạ tầng của chiến dịch đặt một lớp “gác cổng” phía trước, fingerprint trình duyệt và thiết bị rồi mới quyết định có lộ mồi nhử hay không. Microsoft cho biết đã xác nhận hơn 250 domain front-end thuộc cụm này trong thời gian theo dõi.

Điểm mới không nằm ở bản thân Atomic Stealer hay kỹ thuật ClickFix. Điều đáng chú ý là malware delivery đã được chuyển thành một quá trình chọn mục tiêu theo từng request, khiến một lần quét “sạch” không còn đủ để kết luận website an toàn.

Không đúng hồ sơ, website sẽ diễn như không có chuyện gì

Theo báo cáo của Microsoft Security Research công bố ngày 5/8/2026, hạ tầng này ban đầu khá dễ phát hiện. Ở giai đoạn sớm, trang ClickFix chứa sẵn hướng dẫn dành cho macOS, logic sao chép vào clipboard và lệnh shell đã làm rối ngay trong HTML. Một scanner chỉ cần tải source cũng có thể nhìn thấy gần như toàn bộ chuỗi tấn công.

Sau đó cùng hạ tầng đổi cách vận hành. Trang đầu tiên được trả về chỉ còn một đoạn JavaScript nhỏ khoảng 2,5 KB, có nhiệm vụ thu thập fingerprint của người truy cập. Dữ liệu được gửi về server, nơi quyết định request đó có “đủ giống” một người dùng Mac thật hay không.

Kết quả mà Microsoft quan sát được khá nhất quán. Crawler đơn giản có thể chỉ thấy một trang trống trông như domain chưa dùng. Crawler có JavaScript hoặc sandbox nhưng không vượt qua bước kiểm tra có thể nhận một trang decoy có vẻ hợp lệ, chẳng hạn landing page giả của một tiện ích VPN. Chỉ request phù hợp với môi trường macOS mà hệ thống mong đợi mới được đưa tới mồi nhử ClickFix.

Điều này cần phân biệt với kiểu website bị deface thông thường. Trong chiến dịch Microsoft mô tả, nhiều domain là các địa chỉ look-alike được tạo hàng loạt cho hoạt động ClickFix, không phải bằng chứng rằng website chính thức của thương hiệu bị xâm nhập. Hình ảnh mang phong cách GitHub trên một số trang cũng chỉ là giả mạo giao diện; Microsoft nhấn mạnh không có dấu hiệu GitHub bị compromise trong chuỗi này.

“Gác cổng” kiểm tra những gì trước khi cho malware xuất hiện?

Trang không chỉ đọc chuỗi User-Agent rồi hỏi “đây có phải Mac không?”. Script kết hợp nhiều tín hiệu từ trình duyệt, phần cứng và môi trường thực thi để xem các chi tiết có nhất quán với một máy Mac thật hay không.

Nhóm tín hiệu đầu tiên đến từ các đối tượng quen thuộc của trình duyệt như navigator, screen, window, documentlocation. Hệ thống có thể thu platform, ngôn ngữ, vendor, plugin, kích thước màn hình, color depth, pixel ratio, referrer, URL và hostname. Từng trường riêng lẻ không đủ kết luận, nhưng kết hợp chúng giúp phát hiện môi trường giả lập sơ sài.

Tiếp theo là kiểm tra phần cứng qua WebGL. API đồ họa này có thể tiết lộ thông tin về GPU và renderer, cho phép server so sánh tuyên bố “tôi là Mac” với dấu vết phần cứng mà trình duyệt thực sự đưa ra. Một máy ảo, renderer phần mềm hay sandbox có thể để lại tổ hợp tín hiệu khác với một Mac vật lý.

Script còn xét timezone, khả năng touch, việc trang có chạy trong iframe hay không và một số dấu hiệu của automation hoặc browser instrumentation. Microsoft mô tả cả các phép kiểm tra được thiết kế để nhận ra developer console, headless browser hoặc công cụ phân tích đã can thiệp vào hành vi gốc của JavaScript.

Cuối cùng, fingerprint được gửi ngược về server. Quyết định lộ mồi nhử diễn ra phía server, nên nhà phân tích không thể chỉ xem HTML đầu tiên rồi chắc chắn biết người dùng thật sẽ nhận gì. Đây chính là đặc tính khiến cơ chế này giống một Traffic Distribution System (TDS): cùng một hạ tầng, nhưng nội dung được phân phối khác nhau tùy hồ sơ người truy cập.

FBI cũng đã cảnh báo riêng về TDS độc hại vào tháng 6/2026. IC3 mô tả cách các hệ thống như vậy có thể lọc dựa trên IP, hệ điều hành, vị trí, thiết bị và trình duyệt, đồng thời trả nội dung an toàn cho những nhóm không phải mục tiêu, kể cả nhà nghiên cứu bảo mật.

ClickFix không cần khai thác lỗ hổng trình duyệt

Sau khi vượt qua bước fingerprinting, người dùng Mac phù hợp có thể nhìn thấy một trang tải xuống giả với badge kiểu “Verified Publisher”. Mồi nhử hướng dẫn họ sao chép và chạy một lệnh trong Terminal để “hoàn tất” quá trình tải hoặc xác minh.

Đây là bản chất của ClickFix: thay vì khai thác một CVE để chạy mã, kẻ tấn công thuyết phục chính người dùng thực thi lệnh. Vì quá trình bắt đầu từ Terminal do người dùng mở, chuỗi tấn công có thể đi vòng qua một phần cơ chế kiểm tra vốn áp dụng cho ứng dụng macOS được tải xuống như quarantine, code-signing evaluation và notarization.

Trong chuỗi mà Microsoft phân tích đầy đủ, lệnh do nạn nhân chạy kéo về các script tiếp theo rồi cuối cùng cài Atomic Stealer, còn gọi là AMOS. Đây là infostealer có thể lấy credential, dữ liệu trình duyệt, thông tin ví tiền số, authentication store và các tệp nhạy cảm khác. Microsoft cũng ghi nhận hạ tầng liên quan phân phối MacSync trong chiến dịch.

Điều quan trọng là việc mở trang chưa đồng nghĩa máy đã nhiễm malware. Người dùng vẫn phải thực hiện bước xã hội học mà ClickFix yêu cầu: sao chép hoặc dán lệnh vào Terminal rồi chạy nó. Chính vì vậy, một giao diện trông giống CAPTCHA, trình cài đặt hay màn hình xác minh nhưng yêu cầu thao tác trong Terminal là dấu hiệu cảnh báo mạnh.

Vì sao cách “chỉ hiện khi gặp đúng người” làm scanner khó xử?

Phần lớn hệ thống quét URL tự động cần xử lý lượng địa chỉ rất lớn. Chúng thường tải trang từ hạ tầng datacenter, dùng browser automation hoặc chạy trong sandbox. Đó cũng là những đặc điểm mà lớp fingerprinting của chiến dịch đang cố nhận diện.

Nếu scanner bị phân loại là crawler, VM hoặc request từ môi trường không mong muốn, nó có thể chỉ nhận nội dung vô hại. Domain vì thế có cơ hội tồn tại lâu hơn trước khi bị đưa vào blocklist hoặc được nhà nghiên cứu phân tích đầy đủ.

Cũng không thể coi browser fingerprinting tự nó là dấu hiệu malware. Các website hợp pháp dùng kỹ thuật tương tự để chống bot, chống gian lận hoặc bảo vệ tài khoản. Microsoft vì thế khuyến nghị đội phòng thủ tìm tổ hợp tín hiệu — chẳng hạn form fingerprint tự submit, trường dữ liệu ẩn, kiểu domain liên quan và hành vi hạ tầng chung — thay vì chặn một website chỉ vì nó đọc thông tin WebGL hay screen size.

Người dùng Mac cần chú ý điều gì?

Quy tắc thực tế nhất lại rất đơn giản: một trang tải phần mềm, CAPTCHA hay bước “verification” hợp pháp không nên yêu cầu bạn dán một lệnh lạ vào Terminal. Nếu website bảo sao chép lệnh để sửa lỗi tải xuống, mở khóa nội dung hoặc chứng minh mình là người thật, nên đóng trang thay vì làm theo.

Với tổ chức, Microsoft đề xuất theo dõi những phiên Terminal xuất hiện ngay sau hoạt động duyệt web, phát hiện hành vi truy cập bất thường tới Keychain hoặc cơ sở dữ liệu credential của trình duyệt, và ưu tiên săn hạ tầng chung thay vì chỉ duy trì danh sách các front-end domain có thể bị thay thế nhanh chóng.

Trên macOS 26.4 trở lên, Apple đã bổ sung cảnh báo khi phát hiện người dùng cố dán một lệnh có dấu hiệu độc hại vào Terminal. Cơ chế này nhắm trực tiếp vào một trong những điểm then chốt của ClickFix: biến thao tác copy-paste tưởng vô hại thành bước thực thi mã.

Chiến dịch mới không chứng minh browser fingerprinting đã trở thành “vũ khí tàng hình” không thể phát hiện. Nó cho thấy một vấn đề thực dụng hơn: trong hệ thống phân phối malware hiện đại, nội dung mà scanner nhìn thấy có thể không phải nội dung nạn nhân nhìn thấy. Khi quyết định được đưa ra theo từng request ở phía server, câu hỏi không còn chỉ là “URL này trả về gì?”, mà là “nó trả về gì cho ai?”.

Chia sẻ