Rootkit: Sơ lược về User-mode Rootkit

RESEARCH CREW
17:13 26/07/2020

 

Rootkit là gì

Rookit là bộ công cụ phần mềm trong thế giới phần mềm độc hại (mã độc). Kẻ tấn công cài đặt chúng như là một phần của backdoor, worm. Sau đó chúng thực hiện các bước để ngăn chặn chủ sở hữu máy tính phát hiện sự hiện diện của chúng trên máy tính. Sau khi cài đặt, Rookit sẽ gây ra các tác động xấu tới mọi thứ chúng kiểm soát và sử dụng nó cho mục đích đánh cắp dữ liệu, thực hiện DDoS hoặc trở thành một máy tính zombie.

Rookit hoạt động gần hoặc bên trong kernel của hệ điều hành, nghĩa là chúng có khả năng truy cập mức thấp bên trong hệ thống để thực hiện các chỉ thị điều hướng máy tính. Hacker gần đây đã cập nhật rootkit để nhắm vào các mục tiêu mới, cụ thể là các thiết bị IoT (Internet of Thing), để sử dụng chúng làm máy tính zombie. Bất cứ thứ gì có sử dụng hệ điều hành đều có thể trở thành mục tiêu của rookit – kể cả tủ lạnh hay điều hòa.

Cụ thể hơn, Rootkit là tập hợp các công cụ được sử dụng để cung cấp quyền truy cập backdoor cho các phần mềm gián điệp (trojan) bằng cách sửa đổi các tệp hệ thống quan trọng. Một quan niệm sai lầm phổ biến về rootkit là chúng cung cấp quyền truy cập root cho người dùng độc hại. Thay vào đó, rootkit thực sự phụ thuộc vào kẻ tấn công / người dùng độc hại đã khai thác được mục tiêu và có quyền truy cập root vào hệ thống. Khi kẻ tấn công có quyền truy cập root vào hệ thống, rootkit sẽ đảm bảo duy trì kết nối vào mục tiêu từ kẻ tấn công.

Cũng như với các phần mềm độc hại khác, máy tính có thể bị lây nhiễm rootkit bằng nhiều đường, trong đó có lây nhiễm qua các chương trình được tải xuống từ Internet, qua tệp gắn kèm tại email, hoặc thậm chí khi truy cập một số trang web nhất định. Rootkit còn có thể được đưa vào máy qua việc đọc một ổ đĩa đặc biệt hoặc thẻ nhớ USB.

Rootkit không phải là exploit
Rootkit có thể được dùng cùng với một thủ thuật phá hoại (exploit), nhưng rootkit tự nó chỉ là một bộ các chương trình tiện ích. Các chương trình này thường không phụ thuộc vào các lỗi phần mềm (chẳng hạn lỗi tràn bộ đệm) mà các exploit lạm dụng. Nhiều tin tặc có một kho các exploit, nhưng chỉ có một hai chương trình rootkit để dùng kèm. Một khi vào được hệ thống, tin tặc sẽ triển khai rootkit thích hợp, bất kể mình sử dụng exploit nào.

Tuy rootkit không phải là một exploit, nhưng nó có thể chứa một exploit. Rootkit thường cần quyền truy nhập tới nhân hệ điều hành và chứa một vài chương trình bắt đầu chạy khi hệ thống khởi động (boot). Một trong các cách cài một rootkit vào hệ thống là sử dụng một exploit phần mềm, ví dụ lỗi tràn bộ đệm là một cơ chế để nạp mã chương trình vào nhân hệ điều hành.

Rootkit không phải là sâu máy tính
Sâu máy tính là một Chương trình tự nhân bản và phát tán. Trong khi đó, Rootkit nằm hoàn toàn dưới quyền kiểm soát của một kẻ tấn công là con người. 

Tóm lại, Rootkit là một bộ công cụ phần mềm do kẻ xâm nhập đưa vào máy tính nhằm mục đích cho phép mình quay lại xâm nhập máy tính đó và dùng nó cho các mục đích xấu mà không bị phát hiện, bộ công cụ này cho phép truy nhập vào hoạt động của máy tính ở mức căn bản nhất (quyền root).

Chức năng của Rootkit

Như đã đề cập, Rootkit tạo đường truy nhập cho kẻ xâm nhập trở lại, việc này được thực hiện bằng cách cài đặt một cửa hậu (backdoor - một phương pháp ẩn cho việc lấy quyền truy nhập máy tính). Cửa hậu này có thể là một daemon truy nhập từ xa, chẳng hạn một phiên bản đã được sửa chữa của telnetd hoặc sshd, được cấu hình để chạy trên một cổng không phải cổng mặc định mà các daemon này thường nghe. (daemon là một loại chương trình chạy ngầm, đợi được kích hoạt bởi một điều kiện hoặc một sự kiện cụ thể, daemon không chịu sự kiểm soát trực tiếp của người dùng).

Một rootkit được thiết kế tốt sẽ có khả năng che giấu hoặc xóa bỏ bất cứ dấu vết nào của việc nó được đưa vào máy tính, sự tồn tại và hoạt động của nó. Ví dụ, nó có thể sửa nhật trình (log) hệ thống để không ghi hoặc xóa bỏ tất cả các thông tin liên quan đến việc nó được đưa vào máy, thông tin về các lần truy nhập tiếp theo của kẻ xâm nhập, và thông tin về các tiến trình (các chương trình được thực thi) mà rootkit chạy. Những kẻ xâm nhập không lành nghề có thể chỉ xóa hoặc tẩy trắng các nhật trình, hiện tượng này có thể là đầu mối cho thấy có chuyện bất thường.

Trong trường hợp điển hình, rootkit che giấu đăng nhập, tiến trình, tập tin và log và có thể bao gồm phần mềm đánh cắp dữ liệu từ trạm cuối (terminal), các nối kết mạng và bàn phím máy tính. Trong nhiều trường hợp rootkit được xem là Trojan.

Cửa sau cũng cho phép các tiến trình từ người dùng thông thường thi hành các chức năng dành riêng cho siêu người dùng. Rootkit cũng có thể che giấu mọi loại công cụ khác có thể dùng để xâm phạm hệ thống. Điều này bao gồm các công cụ dùng để tấn công thêm vào các hệ thống máy tính có kết nối với hệ thống bị xâm nhập như là công cụ bắt gói tin (packet sniffer) và chương trình ghi tác vụ bàn phím (keylogger). Một cách xâm phạm phổ biến là dùng hệ thống bị chiếm làm bàn đạp cho xâm nhập tiếp theo. Điều này được thực hiện bằng cách làm cho một vụ xâm nhập có vẻ như xuất phát từ mạng hay hệ thống bị chiếm thay vì từ kẻ tấn công. Các công cụ này bao gồm công cụ tấn công từ chối dịch vụ (DDOS), công cụ chuyển tiếp phiên chat và các tấn công spam email.

Phân loại Rootkit

Rootkit chủ yếu được phân loại thành hai loại chính như sau:

Trong bài viết này, chúng tôi sẽ tập trung vào loại Rootkit hoạt động ở chế độ người dùng (User mode)

Rootkit hoạt động dưới chế độ người dùng (User Mode Rootkit)

Rootkit được xếp vào danh mục này sẽ hoạt động ở cấp độ người dùng trong một hệ điều hành. Như đã nói, rootkit trước đó giúp kẻ tấn công giữ quyền kiểm soát mục tiêu bằng cách cung cấp kênh backdoor, thì User Mode Rootkit có xu hướng thay đổi các ứng dụng quan trọng ở cấp độ người dùng, do đó ẩn chính nó cũng như cung cấp quyền truy cập backdoor cho chế độ người dùng (user mode) cho cả Linux và Windows.

Linux User Mode Rootkit

Hiện tại có một số Rootkit hoạt động dưới chế độ người dùng, cụ thể như sau:

Để có quyền truy cập từ xa vào máy, các dịch vụ (services) đăng nhập như "login, Sshd, và inetd", v.v., tất cả đều được sửa đổi bằng cách bao gồm backdoor password (mật khẩu cửa hậu). Kẻ tấn công chỉ cần truy cập các dịch vụ này và cung cấp mật khẩu cửa hậu để có quyền truy cập root ngay lập tức. Lưu ý rằng, kẻ tấn công đã khai thác hệ thống bằng cách thay đổi các dịch vụ hợp pháp bằng các dịch vụ độc hại và với kỹ thuật này, nó chỉ kết nối lại để có quyền truy cập root.
Một cách khác để đạt đến cấp độ này là thực hiện cuộc tấn công leo thang đặc quyền. Kẻ tấn công sửa đổi các lệnh như "chsh,, su su,.." qua mật khẩu, theo cách mà kẻ tấn công sử dụng các lệnh này với backdoor password, kẻ tấn công sẽ ngay lập tức được nâng lên quyền root.
Nói cách khác, rootkit chế độ người dùng có mục đích là che giấu sự hiện diện của chúng, thuộc bốn loại sau:

Windows User Mode Rootkit

Rootkit loại này liên quan tới kỹ thuật hooking trong Windows, 1 kỹ thuật được thực hiện thông qua quá trình chèn DLL (DLL injection).

Tham khảo: Rootkit-UserMode

 

 

TIN LIÊN QUAN
Federated Learning (FL): Khái niệm Các mô hình ML/DL truyền thống thường yêu cầu dữ liệu gốc của người dùng được gửi lên một server trung tâm để train tập trung, điều này gây ảnh hưởng đến quyền riêng tư (privacy). Do đó, các mô hình hiện nay thường sử...
Chào các bạn yêu thích nghiên cứu và công nghệ thông tin! Sau sự thành công của WannaResearch Episode 06, chúng tôi xin trân trọng thông báo về sự trở lại của chuỗi sự kiện nghiên cứu uy tín với Episode 07: "Audio Deepfake Detection." Buổi seminar này sẽ mang...
💨 SẮP TỚI CNSC CÓ GÌ? 🔥 KHOÁ HỌC LẬP TRÌNH PYTHON đã có mặt tại CNSC !!! 💼 Và đặc biệt hơn những ưu đãi vô cùng hấp dẫn cho “người nhà” các bạn SINH VIÊN UIT, các bạn đã sẵn sàng sắm ngay chứng chỉ này cho mình...