Dropper và Loader – kẻ đồng phạm của Rootkit

RESEARCH CREW
19:57 28/07/2020

Đồng phạm của Rootkit

Một rootkit không thể tự lây nhiễm vào các máy tính mục tiêu. Để lan truyền và lây lan một rootkit, những kẻ tấn công tạo ra một mối đe dọa hỗn hợp để khai thác một số lỗ hổng khác nhau và xâm nhập vào một hệ thống. Điều này được thực hiện bằng cách kết hợp rootkit với hai thành phần khác là một dropper và loader.

Dropper là gì

Trình thả (Dropper) là một chương trình hoặc một tập tin được sử dụng để cài đặt rootkit trên máy tính đích.

Dropper là một phương tiện để kết thúc quá trình lây nhiễm rootkit, chứ nó không phải là mục tiêu cần được thực hiện cuối cùng. Điều này được thực hiện bằng cách cài đặt các chương trình gây hại khác trên hệ thống máy tính mục tiêu. Khi dropper được thực thi, nó sẽ giải nén các đoạn mã độc hại lên đĩa cứng lưu trữ máy tính. Những chương trình độc hại này một khi được cài vào sẽ làm công việc phá hoại máy tính nạn nhân. Trên thực tế, những trình dropper như vậy thường sẽ tự xóa sau khi nó cài đặt đồng phạm.

Một dropper thường nhúng các đoạn mã nhị phân vào trong phần Resource của tập tin thực thi. Để trích xuất, giải nén được các tập tin thực thi trong phần Resource của Dropper, nó sử dụng các lời gọi hàm API như là FindResource(), LoadResource(), LockResource() và SizeOfResource() .

Hình 1 - Tập tin thực thi được nhúng vào trong phần Resource của Dropper

Bởi vì những trình dropper không trực tiếp gây ra thiệt hại và vì chúng chỉ có thể xuất hiện trong một khoảng thời gian ngắn, nên các hệ thống phát hiện phần mềm độc hại khó xác định chúng là mã độc. Tuy nhiên, với tư cách là kẻ xúi giục hoặc là điểm khởi đầu của nhiều cuộc tấn công, việc khám phá, phát hiện và đánh bại các trình dropper là một trong những nhiệm vụ quan trọng trong việc phát hiện máy tính bị lây nhiễm mã độc.

Loader là gì

Trình tải (Loader) là đoạn mã độc hại khởi chạy sau khi người dùng khởi chạy chương trình Dropper, bằng cách mở hoặc thực thi tập tin. Trình Loader khai thác các lỗ hổng để đảm bảo rootkit được tải cùng với hệ thống đích. Ví dụ, rootkit cấp kernel có thể sử dụng trình tải khai thác lỗ hổng Linux để thay thế mã hệ điều hành bằng Loadable Kernel Module được viết/chỉnh sửa lại.

Hình 2 - Quá trình cài đặt rootkit 2 giai đoạn thông qua Dropper

Phân biệt với Trình tải xuống (Downloader)

Trình Downloader là chương trình tải xuống một thành phần phần mềm độc hại khác từ internet và thực thi nó trên hệ thống. Nó làm điều đó bằng cách gọi API UrlDoadToFile(), tải tập tin xuống đĩa cứng máy tính.

Hình 3 - Ví dụ về trình Downloader sử dụng lời gọi API UrlDownloadToFileA()

Sau khi tải xuống, nó sẽ sử dụng các lệnh gọi API ShellExecute (), WinExec () hoặc CreatProcess () để thực thi các thành phần đã tải xuống. Thông thường, chúng ta sẽ thấy các trình Downloader được sử dụng như một phần của shellcode.

PTN ATTT (Tổng hợp)