TỔNG QUAN
HijackLoader là trình tải phần mềm độc hạ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 hệ thống (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 mã hóa, 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 giải pháp 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 xác thực 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 độc hại. 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
16:00 | 30/05/2024
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
07:00 | 21/10/2024
Một nghiên cứu mới đây cho thấy 7 nhãn hiệu ô tô hàng đầu tại Úc đang thu thập và bán dữ liệu về người lái, gây lo ngại về quyền riêng tư. Đặc biệt, Hyundai và Kia bị cáo buộc bán dữ liệu nhận dạng giọng nói cho bên thứ ba để huấn luyện AI.
12:00 | 15/10/2024
Một làn sóng hành động thực thi pháp luật quốc tế mới với sự tham gia của 12 quốc gia đã bắt giữ 4 thành viên và phá hủy 9 máy chủ có liên quan đến hoạt động tống tiền LockBit (hay còn gọi là Bitwise Spider), đánh dấu đợt tấn công mới nhất nhằm vào băng nhóm tội phạm mạng từng có động cơ tài chính mạnh mẽ.
07:00 | 14/10/2024
Mới đây, Trung tâm Giám sát an toàn không gian mạng quốc gia (Cục An toàn thông tin, Bộ Thông tin và Truyền thông) đã cảnh báo các chiến dịch tấn công mạng nguy hiểm nhắm vào các tổ chức và doanh nghiệp. Mục tiêu chính của các cuộc tấn công này là đánh cắp thông tin nhạy cảm và phá hoại hệ thống.
15:00 | 18/09/2024
Công ty an ninh mạng McAfee thông báo đã phát hiện 280 ứng dụng Android giả mà đối tượng lừa đảo dùng để truy cập ví tiền ảo.
Nhà cung cấp phần mềm an ninh mạng Gen Digital (Cộng hòa Séc) cho biết rằng, một phần mềm độc hại đánh cắp thông tin mới có thể vượt qua cơ chế mã hóa App-Bound trong các trình duyệt dựa trên Chromium.
10:00 | 28/11/2024