Trình tải mã độc JavaScript (còn gọi là JScript) mang tên GootLoader đã được quan sát thấy sử dụng một tệp ZIP bị lỗi được thiết kế để né tránh các nỗ lực phát hiện bằng cách nối ghép từ 500 đến 1.000 tệp lưu trữ.
"Kẻ tấn công tạo ra một tệp lưu trữ bị lỗi như một kỹ thuật chống phân tích," nhà nghiên cứu bảo mật Aaron Walton của Expel cho biết trong một báo cáo chia sẻ với The Hacker News. "Tức là, nhiều công cụ giải nén không thể giải nén nó một cách nhất quán, nhưng một công cụ giải nén quan trọng dường như hoạt động nhất quán và đáng tin cậy: công cụ mặc định được tích hợp trong các hệ thống Windows."
Điều này dẫn đến một kịch bản mà tệp lưu trữ không thể được xử lý bởi các công cụ như WinRAR hoặc 7-Zip, và do đó, ngăn chặn nhiều quy trình làm việc tự động phân tích nội dung của tệp. Đồng thời, nó có thể được mở bởi trình giải nén mặc định của Windows, đảm bảo rằng các nạn nhân mắc phải thủ đoạn tấn công phi kỹ thuật có thể giải nén và chạy mã độc JavaScript.
GootLoader thường được phân phối thông qua các chiến thuật đầu độc tối ưu hóa công cụ tìm kiếm (SEO poisoning) hoặc quảng cáo độc hại (malvertising), nhắm mục tiêu vào người dùng đang tìm kiếm các mẫu tài liệu pháp lý để đưa họ đến các trang web WordPress bị xâm nhập lưu trữ các tệp ZIP độc hại. Giống như các loaders khác, nó được thiết kế để phân phối các payload thứ cấp, bao gồm cả ransomware. Mã độc này đã được phát hiện trong tự nhiên kể từ ít nhất năm 2020.
Các phương pháp tấn công và né tránh mới
Vào cuối tháng 10 năm 2025, các chiến dịch mã độc phát tán mã độc này đã tái xuất với các thủ đoạn mới: tận dụng các font WOFF2 tùy chỉnh với glyph substitution để làm xáo trộn tên tệp và khai thác endpoint bình luận của WordPress ("/wp-comments-post.php") để phân phối các payload ZIP khi người dùng nhấp vào nút "Download" trên trang web.
Những phát hiện mới nhất từ Expel làm nổi bật sự phát triển liên tục của các phương pháp phân phối, với các tác nhân đe dọa sử dụng các cơ chế che giấu tinh vi hơn để né tránh phát hiện -
- Nối ghép từ 500-1.000 tệp lưu trữ để tạo tệp ZIP độc hại
- Cắt bớt bản ghi End of Central Directory (EOCD) của tệp lưu trữ sao cho nó thiếu hai byte quan trọng so với cấu trúc dự kiến, gây ra lỗi phân tích
- Ngẫu nhiên hóa các giá trị trong các trường không quan trọng, chẳng hạn như disk number và Number of Disks, khiến các công cụ giải nén mong đợi một chuỗi các tệp lưu trữ ZIP không tồn tại
"Số lượng tệp được nối ngẫu nhiên và các giá trị ngẫu nhiên trong các trường cụ thể là một kỹ thuật né tránh phòng thủ được gọi là 'hashbusting'," Walton giải thích.
"Trong thực tế, mỗi người dùng tải xuống một tệp ZIP từ hạ tầng của GootLoader sẽ nhận được một tệp ZIP duy nhất, vì vậy việc tìm kiếm hash đó trong các môi trường khác là vô ích. Nhà phát triển GootLoader sử dụng hashbusting cho cả tệp lưu trữ ZIP và cho tệp JScript chứa trong tệp lưu trữ."
Chuỗi tấn công về cơ bản liên quan đến việc phân phối tệp lưu trữ ZIP dưới dạng một blob được mã hóa XOR, được giải mã và liên tục tự nối vào chính nó ở phía máy khách (tức là trên trình duyệt của nạn nhân) cho đến khi đạt kích thước đã đặt, từ đó hiệu quả vượt qua các kiểm soát bảo mật được thiết kế để phát hiện việc truyền tệp ZIP.
Thực thi mã độc và các biện pháp đối phó
Ngay sau khi tệp lưu trữ ZIP được tải xuống được nạn nhân nhấp đúp, nó sẽ khiến trình giải nén mặc định của Windows mở thư mục ZIP chứa payload JavaScript trong File Explorer. Khởi chạy tệp JavaScript, đến lượt nó, kích hoạt việc thực thi thông qua "wscript.exe" từ một thư mục tạm thời, vì nội dung tệp không được giải nén rõ ràng.
Mã độc JavaScript sau đó tạo một tệp lối tắt Windows (LNK) trong thư mục Startup để thiết lập tính bền bỉ, cuối cùng thực thi một tệp JavaScript thứ hai bằng cscript, tạo ra các lệnh PowerShell để đưa quá trình lây nhiễm sang giai đoạn tiếp theo. Trong các cuộc tấn công GootLoader trước đây, script PowerShell được sử dụng để thu thập thông tin hệ thống và nhận lệnh từ một máy chủ từ xa.
Để đối phó với mối đe dọa do GootLoader gây ra, các tổ chức được khuyên nên cân nhắc chặn "wscript.exe" và "cscript.exe" thực thi nội dung tải xuống nếu không cần thiết và sử dụng Group Policy Object (GPO) để đảm bảo rằng các tệp JavaScript được mở bằng Notepad theo mặc định, thay vì thực thi chúng qua "wscript.exe."