TỔNG QUAN
HijackLoader là trình tải mới mà nhóm nghiên cứu phần mềm nhúng ThreatLabz đến từ công ty an ninh mạng Zscaler đã phát hiện lần đầu tiên vào tháng 7/2023. Trình tải này đang được sử dụng để tải các dòng phần mềm độc hại khác nhau như Danabot, SystemBC và RedLine Stealer, làm tăng thêm mối đe dọa tiềm tàng của nó.
HijackLoader sử dụng lời gọi (system call - cách làm cho chương trình thực hiện một tương tác với hệ điều hành) để trốn tránh sự giám sát từ các giải pháp bảo mật, phát hiện các quy trình cụ thể dựa trên danh sách chặn được nhúng và trì hoãn việc thực thi mã ở các giai đoạn khác nhau.
Phần mềm độc hại này sử dụng các module nhúng cung cấp khả năng thực thi và tiêm mã (code injection), một tính năng không phổ biến ở các trình tải thông thường. Thiết kế module của HijackLoader cho phép nó hoạt động linh hoạt, thích ứng với nhiều hành động khác nhau và tránh bị phát hiện hiệu quả hơn.
TRÌNH TẢI GIAI ĐOẠN ĐẦU TIÊN
Giai đoạn khởi tạo
Sau khi được kích hoạt, HijackLoader bắt đầu bằng cách thực thi một chức năng đã sửa đổi của Windows C Runtime (CRT). Trong giai đoạn khởi tạo, trình tải xác định xem payload cuối cùng đã được nhúng vào tệp nhị phân hay nó cần tải xuống từ máy chủ bên ngoài. Để đạt được điều này, HijackLoader bao gồm một cấu hình được , lưu trữ thông tin, ví dụ như:
Khối cấu hình (block) ở trên được phát hiện bằng cách sử dụng các offset được mã hóa cứng (hardcode) và sau đó được giải mã bằng phép XOR hoặc ADD theo bit.
Chống phân tích
Giai đoạn đầu tiên bao gồm một số kỹ thuật nhằm chống sự phân tích của các bảo mật:
Bảng 1. Danh sách chặn các tiến trình của HijackLoader
TRÌNH TẢI GIAI ĐOẠN HAI
HijackLoader định vị payload của giai đoạn thứ hai (tức là module “ti”) bằng cách thực hiện theo các bước sau:
1. Phân tích khối cấu hình được giải mã, được lấy từ giai đoạn khởi tạo. Sau đó, HijackLoader định vị URL payload được mã hóa và giải mã nó bằng phép XOR theo bit.
2. Payload tải xuống và xác thực nó bằng cách kiểm tra sự hiện diện của ký số (có trong khối cấu hình) trong dữ liệu của nó. Nếu quá trình thành công, nó sẽ ghi nó vào ổ đĩa.
3. Tìm kiếm các BLOB được mã hóa bằng điểm đánh dấu thứ hai. Mỗi điểm đánh dấu thể hiện sự bắt đầu của một BLOB được mã hóa cùng với kích thước của BLOB (được lưu trữ trước mỗi lần xuất hiện). Hơn nữa, khóa XOR nằm sau offset của BLOB được mã hóa đầu tiên.
4. Khi tất cả các BLOB được mã hóa đã được trích xuất, chúng sẽ được nối với nhau và được giải mã bằng khóa XOR.
5. Cuối cùng, payload được giải mã sẽ giải nén bằng thuật toán LZNT1.
Hình 1. Mã giai đoạn thứ hai của HijackLoader để tải xuống và thực thi payload
Quy trình tương tự được thực hiện khi payload được tải từ ổ đĩa. Sự khác biệt duy nhất là HijackLoader sử dụng một mẫu bổ sung (từ khối cấu hình) để tìm offset đầu của payload được nhúng (Hình 2).
Hình 2. Thực thi payload giai đoạn hai của HijackLoader từ một tệp cục bộ
Payload được giải mã bao gồm hai thành phần:
- Bảng module: Bảng này bao gồm các module HijackLoader cùng với cài đặt của chúng và payload cuối cùng (ví dụ: SystemBC).
- Shellcode và cài đặt chính hoặc danh sách các tệp tùy chọn được sử dụng để chiếm quyền điều khiển DLL.
Tiếp theo, giai đoạn đầu tiên cần tải và thực hiện giai đoạn tiếp theo. Điều này được thực hiện bằng cách lấy đường dẫn tệp của DLL để vá (ví dụ: “mshtml.dll”) và một bảng cho các module của HijackLoader được bao gồm trong payload được giải mã.
Sau đó, HijackLoader tải DLL được chỉ định và định vị giai đoạn tiếp theo (module “ti”) sau khi tìm kiếm hàm băm của nó (có trong khối cấu hình) trong bảng module. Cuối cùng, nó sao chép dữ liệu của module vào phần mã của DLL hợp pháp và thực thi nó. Chú ý, đường dẫn tệp và tên của các tệp được HijackLoader ghi vào đĩa được tạo dựa trên tên người dùng của máy chủ bị xâm nhập.
MODULE
Các module của HijackLoader hỗ trợ quá trình thực thi và chèn mã của payload cuối cùng. Bảng 2 hiển thị một số module được ThreatLabz xác định, cùng với các giá trị và chức năng CRC32 tương ứng.
Bảng 2. Một số module HijackLoader được ThreatLabz quan sát
Hơn nữa, mỗi module có cấu trúc chứa thông tin như: tên module; offset module trong bảng; kích thước module. Do chất lượng của mã và phần còn lại của các trường cấu trúc không được sử dụng nên các nhà nghiên cứu không thể xác định mục đích của các thành viên cấu trúc còn lại.
Tuy nhiên, ThreatLabz đánh giá rằng các thông tin sau cũng có thể được đưa vào như: dấu thời gian của module; tên nội bộ (ví dụ: “rLdr64” cho module “rshell”).
Từ các module được đề cập ở trên, phân tích của các nhà nghiên cứu tập trung vào “ti” và các module shellcode thiết bị chính, vì hai module này triển khai phần lớn chức năng chính cho HijackLoader.
Module “ti”
Các kỹ thuật chống phân tích cũng giống như được trình bày trong phần trước, nhưng có hai điểm khác biệt đáng chú ý:
Vai trò chính của module này là đưa module “Main instrumentation” vào, chịu trách nhiệm tải giai đoạn cuối cùng. Module “ti” thực hiện giai đoạn tiếp theo bằng cách sử dụng một trong các phương pháp sau:
Module “Main instrumentation”
Module này chứa chức năng chính để tải và thực thi giai đoạn cuối cùng của chuỗi lây nhiễm.
Các kỹ thuật chống phân tích vẫn được giữ nguyên với các giai đoạn nói trên. Tuy nhiên, một điểm khác biệt chính là việc triển khai module “AVDATA”. Module này chứa một tập hợp các tên tiến trình và nếu phát hiện bất kỳ tên nào trong số đó thì hành vi mã có thể thay đổi.
Tải trọng nhúng được giải mã bằng phép XOR theo bit với khóa được lấy từ 200 byte đầu tiên. Shellcode của HijackLoader sau đó tiến hành chèn hoặc thực thi trực tiếp payload được giải mã. Kỹ thuật mà shellcode sử dụng phụ thuộc vào một số yếu tố khác nhau, chẳng hạn như loại tệp của payload và cờ, được lưu trữ trong cài đặt và cho biết phương pháp chèn sẽ sử dụng.
KẾT LUẬN
HijackLoader là một trình tải module với các kỹ thuật lẩn tránh và chống phân tích, cung cấp nhiều tùy chọn tải cho các payload . Mức độ phổ biến ngày càng tăng của HijackLoader cho thấy các tác nhân đe dọa có thể ngày càng áp dụng nó trong việc triển khai tải các dòng phần mềm độc hại khác nhau. Vì thế, cá nhân người dùng cuối, các cơ quan, đơn vị cần phải luôn cảnh giác và cập nhật thường xuyên về các mối đe dọa nguy hiểm này, từ đó có phương án chủ động phòng tránh kịp thời.
Hồng Đạt
10:00 | 28/08/2023
07:00 | 03/11/2023
12:00 | 14/08/2023
09:00 | 27/10/2023
10:00 | 16/02/2023
13:00 | 31/10/2023
19:00 | 30/04/2024
DinodasRAT hay còn được gọi là XDealer là một backdoor đa nền tảng được phát triển bằng ngôn ngữ C++ cung cấp nhiều tính năng độc hại. DinodasRAT cho phép kẻ tấn công theo dõi và thu thập dữ liệu nhạy cảm từ máy tính của mục tiêu. Một phiên bản cho hệ điều hành Windows của phần mềm độc hại này đã được sử dụng trong các cuộc tấn công nhắm mục tiêu vào các thực thể của Chính phủ Guyana và được các nhà nghiên cứu tới từ công ty bảo mật ESET (Slovakia) báo cáo với tên gọi là chiến dịch Jacana. Bài viết sẽ phân tích cơ chế hoạt động của phần mềm độc hại DinodasRAT dựa trên báo cáo của hãng bảo mật Kaspersky.
15:00 | 26/01/2024
Các nhà nghiên cứu bảo mật của công ty an ninh mạng Akamai (Mỹ) phát hiện ra một mạng botnet mới dựa trên Mirai có tên là NoaBot, hiện đang được các tác nhân đe dọa sử dụng như một phần của chiến dịch khai thác tiền điện tử đã hoạt động kể từ đầu năm 2023. Bài viết này sẽ phân tích về đặc điểm của NoaBot và công cụ khai thác tiền điện tử được sử dụng trong chiến dịch tấn công mạng botnet này.
13:00 | 17/01/2024
Các nhà cung cấp dịch vụ viễn thông, truyền thông, Internet, các nhà cung cấp dịch vụ công nghệ thông tin (CNTT) và các trang web của người Kurd ở Hà Lan đã trở thành mục tiêu của một chiến dịch gián điệp mạng mới được thực hiện bởi một nhóm tin tặc Türkiye-nexus có tên là (Rùa biển).
09:00 | 25/12/2023
Các nhà nghiên cứu tại công ty an ninh mạng Elastic Security Labs (Singapore) cho biết đã phát hiện các kỹ thuật mới được sử dụng bởi phần mềm độc hại GuLoader để khiến việc phân tích trở nên khó khăn hơn. Một trong những thay đổi này là việc bổ sung các ngoại lệ vào tính năng VEH (Vectored Exception Handler) trong một chiến dịch tấn công mạng mới đây.
Lợi dụng lỗ hổng CVE-2024-27956 (có điểm 9,9) trong plugin WP Automatic của WordPress, tin tặc có thể tấn công hơn 30.000 trang web bằng cách tạo tài khoản người dùng với đặc quyền quản trị và cài đặt backdoor để truy cập lâu dài.
10:00 | 13/05/2024