Một chiến dịch tấn công tinh vi nhắm vào các doanh nghiệp Web3 và tiền mã hóa đã được phát hiện, cho thấy sự phát triển đáng báo động trong các chiến thuật mã độc macOS của các tác nhân đe dọa liên kết với Triều Tiên (DPRK).
Phân tích chi tiết của SentinelLABS, cùng với các báo cáo xác nhận từ Huntabil.IT và Huntress, chỉ ra rằng những kẻ tấn công triển khai một chuỗi tấn công nhiều giai đoạn, bao gồm các binary được biên dịch bằng Nim, kỹ thuật tiêm tiến trình (process injection) và liên lạc từ xa được mã hóa.
Tổng Quan Chiến Dịch NimDoor
Họ mã độc này, được đặt tên là “NimDoor,” khai thác một sự kết hợp đa dạng các AppleScripts, Bash scripts, và các binary được viết bằng C++ và Nim để xâm nhập hệ thống, thiết lập khả năng duy trì quyền truy cập (persistence) và trích xuất dữ liệu nhạy cảm. Dữ liệu mục tiêu bao gồm thông tin xác thực Keychain, dữ liệu trình duyệt và dữ liệu người dùng Telegram.
Mục Tiêu và Đối Tượng
Chiến dịch này được quan sát thấy lần đầu tiên trong các cuộc tấn công có chủ đích vào tháng 4 năm 2025. Điều này làm nổi bật sự phức tạp ngày càng tăng của các mối đe dọa nhắm vào người dùng macOS trong các ngành công nghiệp giá trị cao, đặc biệt là lĩnh vực Web3 và tiền mã hóa. Việc các tác nhân đe dọa cấp quốc gia ngày càng nhắm mục tiêu vào macOS, đặc biệt trong các lĩnh vực tài chính sinh lợi, nhấn mạnh sự cần thiết cấp bách đối với các giải pháp săn lùng mối đe dọa nâng cao và phát hiện dựa trên hành vi.
Các Nhà Nghiên Cứu Phát Hiện
Cuộc điều tra sâu rộng về chiến dịch NimDoor được thực hiện bởi SentinelLABS, bộ phận nghiên cứu của SentinelOne, đã cung cấp cái nhìn chi tiết về các kỹ thuật, công cụ và thủ tục (TTPs) được sử dụng bởi các tác nhân đe dọa. Các phát hiện này được bổ sung và xác nhận bởi các báo cáo độc lập từ Huntabil.IT và Huntress, củng cố tính xác thực và mức độ nghiêm trọng của chiến dịch. Sự hợp tác và chia sẻ thông tin tình báo này là yếu tố then chốt trong việc vạch trần toàn bộ phạm vi và sự phức tạp của mã độc NimDoor.
Kỹ Thuật Tấn Công Giai Đoạn Đầu
Cuộc tấn công bắt đầu bằng một chiến thuật kỹ thuật xã hội (social engineering) quen thuộc nhưng hiệu quả. Kẻ tấn công giả mạo một liên hệ đáng tin cậy thông qua ứng dụng Telegram để lôi kéo nạn nhân thực thi một “script cập nhật Zoom SDK” giả mạo.
Kỹ Thuật Social Engineering
Kẻ tấn công sử dụng các miền giả mạo cơ sở hạ tầng Zoom hợp pháp, chẳng hạn như support.us05web-zoom[.]forum, để lưu trữ các script độc hại. Kịch bản này được thiết kế để đánh lừa người dùng, khiến họ tin rằng họ đang thực hiện một bản cập nhật phần mềm chính hãng, trong khi trên thực tế, họ đang tự nguyện tải xuống và thực thi các payload độc hại ban đầu.
Phân Phối Payload Ban Đầu
Script AppleScript ban đầu này có nhiệm vụ truy xuất các payload thứ cấp. Sau khi được thực thi, nó kích hoạt hai chuỗi thực thi độc lập, liên quan đến việc triển khai các binary được viết bằng C++ và Nim. Việc sử dụng AppleScript ở giai đoạn đầu không chỉ giúp kẻ tấn công tận dụng các công cụ hệ thống gốc mà còn cho phép chúng kiểm soát quá trình tải xuống và thực thi các thành phần mã độc phức tạp hơn một cách linh hoạt.
Chuỗi Tấn Công Đa Giai Đoạn và Các Thành Phần Mã Độc
Mã độc NimDoor thể hiện một chuỗi tấn công được tổ chức tốt và đa dạng, kết hợp các ngôn ngữ lập trình và kỹ thuật hệ thống khác nhau để đạt được mục tiêu của chúng.
Binary C++: Kỹ Thuật Tiêm Tiến Trình Độc Đáo
Một binary C++ đáng chú ý, được xác định là “a” hoặc “InjectWithDyldArm64,” sử dụng một kỹ thuật tiêm tiến trình (process injection) hiếm gặp trên macOS. Kỹ thuật này cho phép mã độc chèn các đoạn mã độc hại vào một tiến trình hợp pháp và không gây nghi ngờ đang chạy trên hệ thống. Để thực hiện được việc này, binary yêu cầu các quyền đặc biệt (entitlements) như com.apple.security.cs.debugger. Quyền com.apple.security.cs.debugger là một quyền hạn quan trọng trong cơ chế bảo mật của macOS, thường được cấp cho các ứng dụng gỡ lỗi hợp pháp, cho phép chúng kiểm soát và thao tác các tiến trình khác. Việc mã độc sở hữu hoặc tìm cách chiếm đoạt quyền này cho thấy mức độ tinh vi cao trong việc vượt qua các biện pháp bảo vệ hệ thống, biến một tiến trình benign thành một máy chủ chứa mã độc, từ đó che giấu hoạt động độc hại khỏi sự phát hiện của các giải pháp bảo mật truyền thống.
Mã được tiêm, nằm trong một binary có tên “trojan1_arm64,” liên lạc với các máy chủ C2 (Command-and-Control) bằng giao thức wss (WebSocket Protocol được mã hóa TLS). Việc sử dụng wss là một lựa chọn không phổ biến đối với mã độc macOS, nhưng nó mang lại lợi thế về khả năng ẩn mình. Giao thức WebSocket, đặc biệt khi được mã hóa bằng TLS (wss), có thể khó bị phát hiện hơn bởi các giải pháp an ninh mạng truyền thống tập trung vào lưu lượng HTTP/HTTPS thông thường. Nó cho phép truyền dữ liệu liên tục, hai chiều giữa máy bị nhiễm và máy chủ C2, tạo điều kiện thuận lợi cho việc nhận lệnh và trích xuất dữ liệu một cách hiệu quả và khó bị chặn.
Binary Nim: Cơ Chế Duy Trì Quyền Truy Cập (Persistence)
Song song với các thành phần C++, các binary được biên dịch bằng Nim, như “installer,” “GoogIe LLC” (chú ý chữ “I” hoa thay cho “l”), và “CoreKitAgent,” đóng vai trò quan trọng trong việc thiết lập và duy trì quyền truy cập lâu dài trên hệ thống bị nhiễm. Những binary này phối hợp với nhau để sử dụng một cơ chế dựa trên tín hiệu đột phá để duy trì quyền truy cập. Chúng chặn các tín hiệu SIGINT (Signal Interrupt) và SIGTERM (Signal Terminate).
Trong các hệ thống Unix-like như macOS, SIGINT thường được gửi khi người dùng nhấn Ctrl+C để yêu cầu chương trình dừng hoạt động, trong khi SIGTERM là một yêu cầu để chương trình tự tắt một cách lịch sự. Bằng cách chặn (intercepting) các tín hiệu này, mã độc có thể thực hiện một hành động cụ thể khi một tiến trình bị yêu cầu chấm dứt. Cụ thể, các thành phần NimDoor được cấu hình để tự động cài đặt lại các thành phần độc hại khi nhận được các tín hiệu chấm dứt này hoặc khi hệ thống khởi động lại. Điều này đảm bảo rằng ngay cả khi một phần của mã độc bị tắt hoặc hệ thống được khởi động lại, các thành phần chính sẽ được tái triển khai, giúp mã độc duy trì sự tồn tại bền bỉ trên hệ thống, gây ra thách thức lớn cho việc loại bỏ hoàn toàn.
Script Bash và AppleScript: Trích Xuất Dữ Liệu và Backdoor
Ngoài các binary C++ và Nim, các script khác cũng đóng vai trò quan trọng trong chuỗi tấn công:
- Bash Scripts: Các script Bash như “upl” và “tlgrm” được sử dụng để trích xuất dữ liệu một cách có hệ thống. Chúng thu thập dữ liệu trình duyệt từ các ứng dụng như Chrome và Firefox, cùng với thông tin xác thực từ Keychain và toàn bộ cơ sở dữ liệu của ứng dụng Telegram. Sau khi thu thập, các dữ liệu này được nén lại và tải lên các máy chủ C2, sẵn sàng để kẻ tấn công truy cập.
- AppleScripts: Các AppleScripts tiếp tục đóng vai trò là các beacon và backdoor nhẹ. Chúng được thiết kế để liên tục liên lạc với các máy chủ C2, ví dụ như
writeup[.]live, cứ sau 30 giây. Trong mỗi lần liên lạc, các script này truyền tải thông tin hệ thống cập nhật và chờ đợi các lệnh từ xa để thực thi. Việc sử dụng AppleScript cho phép kẻ tấn công thực hiện các thao tác hệ thống cơ bản và thu thập thông tin tình báo về hệ thống bị nhiễm một cách âm thầm, tận dụng các công cụ có sẵn trên hệ điều hành.
Sự kết hợp giữa các ngôn ngữ đa nền tảng, script macOS bản địa và các kỹ thuật duy trì quyền truy cập sáng tạo như khai thác các bộ xử lý tín hiệu và thực thi không đồng bộ, cho thấy ý định rõ ràng nhằm né tránh các biện pháp bảo mật truyền thống. Việc này tạo ra một lớp phức tạp trong việc phân tích và chống lại mã độc.
Cơ Chế Liên Lạc C2 và Thu Thập Dữ Liệu
Giao Thức Liên Lạc C2
Mã độc NimDoor sử dụng một số kênh liên lạc để duy trì kết nối với các máy chủ C2 (Command-and-Control) và trích xuất dữ liệu. Như đã đề cập, thành phần “trojan1_arm64” sử dụng giao thức wss (WebSocket Secure), một lựa chọn ít phổ biến đối với mã độc macOS nhưng hiệu quả trong việc che giấu lưu lượng độc hại trong luồng truyền thông hợp pháp được mã hóa. Điều này giúp mã độc khó bị phát hiện bởi các hệ thống giám sát mạng truyền thống.
Dữ Liệu Mục Tiêu Exfiltration
Các thành phần khác, đặc biệt là các script Bash và AppleScripts, liên lạc với các máy chủ C2 khác để gửi thông tin và nhận lệnh. Các máy chủ C2 này là điểm đến cuối cùng cho dữ liệu nhạy cảm được đánh cắp và là điểm xuất phát cho các lệnh tiếp theo đến mã độc trên hệ thống bị xâm nhập.
Thách Thức Từ Ngôn Ngữ Nim
Việc sử dụng Nim, một ngôn ngữ lập trình ít phổ biến hơn, đặt ra những thách thức độc đáo cho các nhà phân tích và kỹ sư phòng thủ. Nim có khả năng thực thi các hàm tại thời điểm biên dịch (compile-time execution), điều này làm phức tạp luồng điều khiển của chương trình (control flow) và làm cho mã độc khó bị phân tích tĩnh. Các chức năng độc hại có thể được pha trộn một cách tinh vi với mã runtime, khiến việc phân biệt giữa hành vi hợp pháp và độc hại trở nên khó khăn hơn nhiều.
Tính năng này của Nim làm tăng độ phức tạp trong việc đảo ngược mã (reverse engineering) và phát hiện các mẫu độc hại. Khi mã độc được biên dịch, các hoạt động được thực thi tại thời điểm biên dịch không còn hiển thị rõ ràng trong mã nhị phân cuối cùng, làm che giấu ý đồ của kẻ tấn công và làm mờ đi các điểm kiểm soát thông thường mà các công cụ phân tích an ninh dựa vào. Điều này buộc các nhà phân tích phải có kiến thức sâu hơn về các ngôn ngữ lập trình độc đáo và các kỹ thuật phân tích mã chuyên biệt để có thể hiểu và ứng phó hiệu quả với các mối đe dọa như NimDoor.
SentinelLABS cảnh báo rằng việc các tác nhân đe dọa sử dụng các ngôn ngữ độc đáo như Nim và Crystal có khả năng sẽ gia tăng. Do đó, các nhà phân tích và kỹ sư phát hiện cần đào sâu hiểu biết về các công cụ và kỹ thuật liên quan đến các ngôn ngữ này.
Indicators of Compromise (IOCs)
Các chỉ số thỏa hiệp (IOCs) sau đây đã được xác định liên quan đến chiến dịch NimDoor:
Tên Mã Độc/Thành Phần
- NimDoor (Họ mã độc)
- a (Binary C++)
- InjectWithDyldArm64 (Binary C++)
- trojan1_arm64 (Mã độc được tiêm)
- installer (Binary Nim)
- GoogIe LLC (Binary Nim)
- CoreKitAgent (Binary Nim)
- upl (Bash script)
- tlgrm (Bash script)
Tên Miền Độc Hại (C2 Servers)
support.us05web-zoom[.]forum(Miền lừa đảo ban đầu)dataupload[.]store(C2 cho exfiltration)writeup[.]live(C2 cho beaconing và lệnh)
Tầm Quan Trọng và Khuyến Nghị Phòng Ngừa
Chiến dịch NimDoor minh họa sự phát triển của các cuộc tấn công nhắm vào người dùng macOS trong các ngành công nghiệp giá trị cao. Sự kết hợp của các kỹ thuật kỹ thuật xã hội tiên tiến, chuỗi tấn công đa giai đoạn với các thành phần phức tạp được viết bằng nhiều ngôn ngữ, và các cơ chế duy trì quyền truy cập bền bỉ cho thấy mức độ tinh vi cao của các tác nhân đe dọa.
Khi macOS trở thành mục tiêu thường xuyên hơn của các tác nhân được nhà nước bảo trợ, đặc biệt là trong các lĩnh vực sinh lợi như tiền điện tử, nhu cầu về khả năng săn lùng mối đe dọa nâng cao và phát hiện hành vi trở nên ngày càng quan trọng để chống lại các phương pháp tấn công đang phát triển này. Các tổ chức cần tăng cường khả năng giám sát mạng, triển khai các giải pháp bảo mật điểm cuối toàn diện có khả năng phát hiện các hành vi bất thường, và liên tục cập nhật kiến thức về các TTP mới nổi của đối thủ.










