Phát hiện Rootkit PUMAKIT sử dụng các kỹ thuật ẩn mình tinh vi

13:56, 26/12/2024

Mới đây, các nhà nghiên cứu an ninh mạng đã phát hiện một rootkit mới có tên là Pumakit trên hệ điều hành Linux, được thiết kế với nhiều lớp để ẩn mình và leo thang đặc quyền một cách tinh vi.

Hình 1. Chuỗi lây nhiễm của PUMAKIT

Theo các nhà nghiên cứu của Elastic Security Lab, Remco Sprooten và Ruben Groenewoud, Pumakit là một rootkit loadable kernel module - LKM, sử dụng các cơ chế ẩn mình tiên tiến và duy trì liên lạc với các máy chủ điều khiển và ra lệnh (C2). Pumakit can thiệp sâu vào kernel Linux thông qua việc thay đổi system call table. Đây là một phương pháp phổ biến để rootkit che giấu hoạt động của mình và có thể giúp mã độc lẩn tránh được các công cụ phát hiện. Các bước trong chuỗi lây nhiễm của Pumakit được thể hiện như trong Hình 1.

- Dropper cron: Thành phần khởi đầu chịu trách nhiệm triển khai các payload vào bộ nhớ mà không để lại dấu vết trên ổ cứng. Dropper này được ngụy trang dưới dạng tiến trình cron, một chương trình hợp pháp trên Linux.

- Payloads trong bộ nhớ ('/memfd:tgt' và '/memfd:wpn'): /memfd:tgt là một bản sao của chương trình cron hợp lệ, trong khi /memfd:wpn hoạt động như một trình loader, kiểm tra môi trường và thao tác kernel image trước khi triển khai module rootkit LKM (puma[.]ko) vào kernel hệ thống.

- Module rootkit LKM ('puma[.]ko'): Tích hợp sâu vào kernel, sử dụng các kỹ thuật như ftrace (một công cụ gỡ lỗi để kiểm tra điều gì xảy ra bên trong kernel Linux) để hook (kỹ thuật đọc/ghi hoặc thực thi code bất kỳ vào một chương trình) vào 18 syscall và nhiều hàm kernel khác, cho phép leo thang đặc quyền, thực thi lệnh và ẩn các hoạt động độc hại.

- Rootkit user ('Kitsune SO' - 'lib64/libs.so'): Được nhúng trong module LKM, sử dụng 'LD_PRELOAD' để chặn các syscall ở mức người dùng, thay đổi hành vi của các lệnh như 'ls', 'ps', 'netstat', 'top', 'htop' và 'cat' nhằm ẩn các tệp tin, tiến trình và kết nối mạng liên quan đến rootkit.

Bên cạnh đó, Pumakit sử dụng các hàm như ‘prepare_creds’ và ‘commit_creds’ để cấp quyền root cho các tiến trình cụ thể và thực hiện leo thang đặc quyền.

Phát hiện Rootkit PUMAKIT sử dụng các kỹ thuật ẩn mình tinh vi

Hình 2. Leo thang đặc quyền

Chuỗi lây nhiễm của Pumakit rất tinh vi, tận dụng cả các kỹ thuật ẩn mình trong bộ nhớ và thao tác kernel để tránh bị phát hiện. Điều này đặt ra các yêu cầu phải triển khai các biện pháp bảo mật hiện đại, giám sát liên tục và phân tích sâu các hoạt động bất thường trong hệ thống.

Khuyến nghị một số giải pháp phòng ngừa và phát hiện Pumakit như sau: Sử dụng tập luật YARA được Elastic Security phát triển để phát hiện Pumakit; Kích hoạt Secure Boot để ngăn rootkit can thiệp kernel; Sử dụng các công cụ giám sát bộ nhớ để phát hiện các payload không tồn tại trên ổ đĩa cứng; Thường xuyên cập nhật hệ thống và cài đặt các bản vá các lỗ hổng bảo mật; Đảm bảo các bản vá kernel mới nhất được cài đặt.a