Trong bối cảnh an ninh mạng ngày càng phức tạp, sự xuất hiện của các bộ công cụ khai thác và tạo mã độc mới luôn là mối quan tâm hàng đầu của các chuyên gia bảo mật. Một trong những công cụ đáng chú ý gần đây là Zig Strike, được phát triển bằng ngôn ngữ lập trình Zig. Sự lựa chọn ngôn ngữ này không chỉ thể hiện xu hướng phát triển mã độc mới mà còn mang lại những lợi thế kỹ thuật đáng kể cho kẻ tấn công trong việc né tránh các biện pháp phòng thủ hiện đại.
Giới thiệu về Bộ công cụ Zig Strike
Zig Strike là một bộ công cụ được thiết kế để tạo và triển khai các payload độc hại một cách hiệu quả, đặc biệt chú trọng vào khả năng né tránh các giải pháp bảo mật của doanh nghiệp. Điểm đặc biệt nhất của Zig Strike nằm ở việc nó được xây dựng trên ngôn ngữ lập trình Zig.
Ngôn ngữ lập trình Zig: Một lựa chọn chiến lược
Ngôn ngữ Zig là một ngôn ngữ lập trình hệ thống cấp thấp, tập trung vào hiệu suất, an toàn bộ nhớ và khả năng kiểm soát chặt chẽ phần cứng. Đối với các nhà phát triển mã độc, Zig mang lại một số lợi thế quan trọng:
- Kiểm soát cấp thấp: Tương tự như C/C++, Zig cho phép kiểm soát trực tiếp bộ nhớ và các lệnh cấp thấp, điều này rất quan trọng để xây dựng các payload tinh vi, khó bị phát hiện bởi các công cụ phân tích tự động.
- Khả năng tương thích: Zig có thể biên dịch ra các binary độc lập mà không cần phụ thuộc vào thư viện thời gian chạy phức tạp, giúp các payload nhỏ gọn và dễ dàng triển khai.
- Ít bị phát hiện: Do là một ngôn ngữ tương đối mới và ít phổ biến trong phát triển mã độc so với C++, C#, hoặc PowerShell, các công cụ bảo mật có thể chưa có đủ dữ liệu mẫu để nhận diện các binary được viết bằng Zig, tạo ra một lợi thế ban đầu cho kẻ tấn công.
- Không phụ thuộc vào thư viện chuẩn: Các binary Zig có thể được cấu hình để không liên kết với các thư viện chuẩn của hệ điều hành, làm giảm kích thước tệp và làm cho việc phân tích tĩnh trở nên khó khăn hơn.
Các tính năng nổi bật của Zig Strike
Zig Strike tích hợp nhiều tính năng được thiết kế để tối ưu hóa khả năng tấn công và né tránh phát hiện:
Công cụ xây dựng Payload dựa trên Web
Một trong những tính năng tiện lợi và nguy hiểm của Zig Strike là công cụ xây dựng payload (Web-Based Payload Builder) hoạt động trên nền tảng web. Điều này cho phép kẻ tấn công tạo ra các payload tùy chỉnh một cách nhanh chóng và dễ dàng, thường thông qua giao diện người dùng trực quan. Việc có một giao diện dựa trên web giảm đáng kể rào cản kỹ thuật cho những kẻ tấn công ít kinh nghiệm, đồng thời cho phép tạo ra các biến thể payload nhanh chóng để thử nghiệm và điều chỉnh dựa trên phản ứng của hệ thống phòng thủ mục tiêu.
Kỹ thuật tiêm Payload đa dạng: Điểm nhấn vào Local Thread Injection
Zig Strike sử dụng nhiều kỹ thuật tiêm (injection) payload, trong đó có Local Thread Injection. Kỹ thuật tiêm payload là phương pháp mà kẻ tấn công chèn mã độc vào một tiến trình hợp pháp đang chạy trên hệ thống. Local Thread Injection cụ thể là việc tạo một luồng (thread) mới trong cùng một tiến trình, sau đó tiêm mã độc vào luồng đó để thực thi. Kỹ thuật này thường được sử dụng để:
- Né tránh phát hiện: Bằng cách thực thi mã trong ngữ cảnh của một tiến trình hợp pháp, mã độc có thể tránh bị các giải pháp bảo mật coi là một tiến trình độc lập và đáng ngờ.
- Duy trì quyền truy cập: Mã độc có thể hoạt động dưới quyền của tiến trình đích, tiềm năng leo thang đặc quyền nếu tiến trình đích có quyền cao hơn.
- Ẩn mình trong bộ nhớ: Mã độc chỉ tồn tại trong bộ nhớ của tiến trình đích, không để lại dấu vết trên đĩa cứng, gây khó khăn cho việc phân tích pháp y.
Mặc dù không có các phương pháp tiêm cụ thể khác được nêu tên, việc sở hữu “nhiều kỹ thuật tiêm” cho thấy khả năng thích ứng của Zig Strike với các môi trường khác nhau và khả năng né tránh các cơ chế phòng thủ dựa trên việc phát hiện một kỹ thuật tiêm cụ thể.
Mục tiêu và Phương thức hoạt động (TTPs)
Zig Strike được thiết kế để khai thác và vượt qua các lớp phòng thủ của doanh nghiệp, với các kỹ thuật và mục tiêu cụ thể:
Phương pháp khai thác hệ thống
Bộ công cụ này nhắm mục tiêu vào các lớp phòng thủ doanh nghiệp, bao gồm các giải pháp AntiVirus (AV), Endpoint Detection and Response (EDR) và Extended Detection and Response (XDR). Điều này cho thấy Zig Strike không chỉ tập trung vào việc vượt qua các công cụ AV truyền thống dựa trên signature mà còn có khả năng né tránh các hệ thống EDR/XDR phức tạp hơn, vốn dựa vào phân tích hành vi, mối quan hệ tiến trình và telemetry từ nhiều nguồn.
Ngoài ra, Zig Strike cũng được biết đến với khả năng khai thác các Excel add-ins. Các tệp add-in của Excel (.xla, .xlam) thường được sử dụng trong các cuộc tấn công lừa đảo (phishing) hoặc tấn công chuỗi cung ứng. Bằng cách chèn mã độc vào các add-in này, kẻ tấn công có thể thực thi payload khi người dùng mở các tệp Excel bị nhiễm hoặc khi add-in được kích hoạt, thường bỏ qua các cảnh báo macro thông thường.
Kỹ thuật “Function Stomping” để phân phối Payload
Một trong những kỹ thuật phòng thủ nổi bật của Zig Strike là Function Stomping, được sử dụng để phân phối payload. Function Stomping là một kỹ thuật tinh vi để che giấu mã độc trong bộ nhớ. Thay vì ghi đè hoàn toàn một hàm hợp pháp bằng mã độc, kẻ tấn công sẽ sửa đổi một phần của hàm đó, thường là ở đầu hàm, để chuyển quyền điều khiển đến shellcode hoặc payload của chúng. Sau khi payload thực thi, quyền điều khiển có thể được trả về hàm gốc để nó tiếp tục hoạt động bình thường, khiến cho việc phát hiện trở nên cực kỳ khó khăn. Kỹ thuật này đặc biệt hiệu quả trong việc né tránh các hệ thống EDR và XDR vốn dựa vào việc giám sát các mẫu thực thi bất thường hoặc các đoạn mã đáng ngờ trong bộ nhớ.
Tạo Payload tùy biến và khó bị phát hiện
Khả năng tạo payload tùy biến (Customizable payload generation) và khó bị phát hiện (evasive payload generation) là một trụ cột trong thiết kế của Zig Strike. Tính năng này cho phép kẻ tấn công điều chỉnh các đặc tính của payload, như kích thước, cấu trúc, hoặc các kỹ thuật làm xáo trộn (obfuscation), để phù hợp với môi trường mục tiêu và né tránh các giải pháp bảo mật cụ thể. Sự kết hợp giữa ngôn ngữ Zig cấp thấp và khả năng tạo payload tùy biến giúp tạo ra các biến thể mã độc khó bị các giải pháp bảo mật truyền thống phát hiện dựa trên signature hoặc phân tích tĩnh.
Thách thức đối với Hệ thống phòng thủ doanh nghiệp
Sự ra đời của các công cụ như Zig Strike đặt ra một thách thức đáng kể cho các hệ thống phòng thủ hiện có. Khả năng né tránh AV, EDR, và XDR, kết hợp với các kỹ thuật tiêm và che giấu payload tinh vi như Function Stomping, đòi hỏi các tổ chức phải liên tục nâng cấp và cải tiến chiến lược bảo mật của mình. Việc tập trung vào giám sát hành vi sâu hơn, phân tích bộ nhớ, và đặc biệt là nắm bắt các mối đe dọa mới sử dụng các ngôn ngữ lập trình không truyền thống sẽ trở nên cấp thiết.
Các chỉ số thỏa hiệp (IOCs)
Dựa trên thông tin được cung cấp, không có chỉ số thỏa hiệp (IOCs) cụ thể nào như hash tệp, URL độc hại, địa chỉ IP máy chủ C2, hay chi tiết cấu hình được đề cập trực tiếp liên quan đến bộ công cụ Zig Strike. Điều này có thể do bản chất của thông tin ban đầu chỉ tập trung vào các tính năng kỹ thuật và phương thức hoạt động của công cụ.
Mối liên hệ với các loại Mã độc phức tạp
Đáng chú ý, Zig Strike được thiết kế để né tránh sự phát hiện của các beacon của Cobalt Strike. Điều này cho thấy Zig Strike có thể được sử dụng như một giai đoạn ban đầu (initial access) hoặc một công cụ tải (loader/dropper) để triển khai các implant phức tạp hơn như Cobalt Strike beacons – vốn là công cụ được ưa chuộng bởi nhiều nhóm APT và tội phạm mạng do tính năng mô phỏng tấn công và khả năng hậu khai thác mạnh mẽ. Mục tiêu của Zig Strike là tạo ra một con đường an toàn và khó bị phát hiện để các tác nhân đe dọa có thể đưa các công cụ hậu khai thác vào mạng lưới mục tiêu.










