Tin Tức

Sự Tăng Quyền với SUID trong Linux

You are interested in Sự Tăng Quyền với SUID trong Linux right? So let's go together natuts.com look forward to seeing this article right here!

May 03, 2023 / Bởi Securium Solutions

Linux là hệ điều hành mà có hai loại tài khoản người dùng chính:

Hai Loại Tài Khoản Người Dùng Trong Linux:

Trong hệ điều hành Linux, có hai loại tài khoản người dùng chính:

1. Tài khoản root – Tài khoản siêu người dùng có các đặc quyền cao nhất và có quyền truy cập và kiểm soát không giới hạn đối với hệ thống.

2. Tài khoản người dùng – Người dùng bình thường có đặc quyền giới hạn do người dùng root xác định.

Khi một shell được lấy được, có thể là của một người dùng hoặc một dịch vụ có đặc quyền giới hạn. Để kiểm soát đầy đủ hệ thống hoặc truy cập vào bất kỳ tệp nào, cần phải có đặc quyền root. Shell của người dùng root có thể được lấy được bằng cách tăng quyền thông qua SUID (Set owner User ID up on execution) và GUID (Set owner Group ID up on execution).

SUID và GUID là gì?

SUID (Set owner User ID up on execution) và GUID (Set owner Group ID up on execution) là quyền được đặt cho một thực thi nhị phân. Khi một thực thi với bit SUID hoặc GUID được thi hành, nó sẽ thi hành với các đặc quyền của người sở hữu người dùng hoặc nhóm. Điều này có thể bị khai thác để lấy shell của người dùng khác, ưu tiên là root.

Làm thế nào để Phát hiện SUID và GUID cho Việc Tăng Quyền:

  • SUID – Ký tự “s” trong ký tự thứ tư chỉ ra bit SUID được thiết lập. Thực thi này sẽ chạy như người dùng root, người sở hữu của thực thi.
  • GUID – Ký tự “s” trong ký tự thứ bảy chỉ ra bit GUID đã được thiết lập. Thực thi này sẽ chạy như nhóm root, nhóm sở hữu của thực thi.

Làm thế nào để tìm các thực thi với SUID và GUID được thiết lập?

Command tìm kiếm tất cả các thực thi với bit SUID:

find / -perm -4000 -type f -ls 2>/dev/null

Ở đây, chúng ta sử dụng lệnh find để tìm kiếm tệp tin (“-type f”) với bit SUID được thiết lập (“-perm -4000”) trong thư mục gốc (“/”) và loại bỏ các lỗi do các thư mục không thể truy cập vào /dev/null. “-ls” sẽ xuất kết quả dưới dạng danh sách với quyền hiển thị.

Tương tự cho GUID, nên sử dụng “-perm -2000”.

Privilege Escalation with SUID in Linux

Làm thế nào để khai thác các thực thi SUID để tăng quyền:

Có một số thực thi mà sẽ được thiết lập bit SUID trong tất cả các hệ thống Linux như su, sudo, passwd và gpasswd. Đây là những thực thi hệ thống và hầu như chắc chắn là an toàn. Thay vào đó, khả năng tìm thấy lỗ hổng trong các thực thi không phải là hệ thống khác.

Phương pháp khai thác cụ thể khác nhau cho từng thực thi khác nhau. Kiểm tra xem có phương pháp khai thác nào trong GTFObins là một bước khởi đầu tốt.

Một số Ví dụ Khai thác Thực tế

Tăng quyền bằng cách sử dụng chức năng của các thực thi SUID (với Python):

Nếu Python có bit SUID được thiết lập, lệnh sau có thể được sử dụng để tạo shell root.

python -c 'import os; os.execl("/bin/sh", "sh", "-p")'

Privilege Escalation with SUID in Linux

Tăng quyền bằng cách khai thác lỗ hổng đã biết (với exim):

Sau khi tìm kiếm nhanh chóng, ta có thể tìm thấy lỗ hổng cho CVE-2016-1531 trong exim-4.84-3. Sử dụng lỗ hổng này dẫn đến tăng quyền.

Privilege Escalation with SUID in Linux

Tăng quyền bằng cách khai thác Đường dẫn Tương đối trong Cuộc gọi Thực thi SUID:

suid-env có bit SUID và GUID được thiết lập và có thể được thực thi bởi bất kỳ ai.

Privilege Escalation with SUID in Linux

Thực thi dịch vụ được gọi để khởi động apache2 nhưng không sử dụng đường dẫn tuyệt đối. Điều này có thể bị khai thác bằng cách biên dịch một thực thi mới với mã ngôn ngữ C sau:

int main() {
  setuid(0);
  system("/bin/bash -p");
}

Tên thực thi đã biên dịch phải giống như “service”.

Thư mục hiện tại (thư mục chứa thực thi C đã biên dịch) được thêm vào biến PATH sau đó suid-env được thực thi. Khi nó được thi hành, hệ điều hành trước tiên kiểm tra mục nhập đã được thêm vào biến PATH của chúng ta và thi hành thực thi độc hại “service” của chúng ta.

Tác giả
Karan Sachdeva
Thực tập Sinh An ninh Mạng

Conclusion: So above is the Sự Tăng Quyền với SUID trong Linux article. Hopefully with this article you can help you in life, always follow and read our good articles on the website: natuts.com

Related Articles

Back to top button