Chọn phiên bản máy chủ Xorg X11 dễ bị tổn thương đối với khai thác nâng cấp đặc quyền, OpenBSD và CentOS bị ảnh hưởng

Bảo vệ / Chọn phiên bản máy chủ Xorg X11 dễ bị tổn thương đối với khai thác nâng cấp đặc quyền, OpenBSD và CentOS bị ảnh hưởng 1 phút đọc

Dự án OpenBSD

Xorg là một hệ thống cửa sổ X rất nổi tiếng được sử dụng trong Linux. Đó là giao diện người dùng đồ họa sử dụng tiêu chuẩn X11, đây là giao thức truyền thông. Xorg được tách ra từ dự án XFree86, hiện không còn được phát triển tích cực nữa.

Khai thác leo thang đặc quyền

Tất cả các phiên bản máy chủ Xorg X11 từ 1.19.0 đến 1.20.3 đều dễ bị lỗi kiểm tra quyền tồn tại đối với các tùy chọn -modulepath và -logfile. Điều này cung cấp cho người dùng không có đặc quyền khả năng khởi động máy chủ, chạy mã tùy ý với các đặc quyền nâng cao.



Các nhà nghiên cứu đã phát hiện ra rằng, việc chạy một tập lệnh CRON với khai thác được tải sẽ khiến SELinux thực thi nó. Tệp sao lưu crontab.old được tạo, về cơ bản được thay thế bởi mô-đun Metasploit bằng một tệp mới với các lệnh và hướng dẫn để trình nền cron thực thi. Khai thác không thành công có thể dẫn đến một crontab bị hỏng. Xorg cũng cần có quyền SUID để khai thác hoạt động, bạn có thể xác minh quyền này từ đoạn mã bên dưới.



# kiểm tra linux
uname = cmd_exec “uname”
nếu uname = ~ / linux / i
vprint_status 'Đang chạy kiểm tra bổ sung cho Linux'
if datastore [‘ConsoleLock’] user = cmd_exec “id -un”
trừ khi tồn tại? “/ Var / run / console / # {user}”
vprint_error “Không có khóa bảng điều khiển cho # {user}”
trả về CheckCode :: An toàn
kết thúc
vprint_good “Khóa bảng điều khiển cho # {user}”
kết thúc
nếu selinux_installed?
nếu selinux_enforcing?
vprint_error 'Selinux đang thực thi'
trả về CheckCode :: An toàn
kết thúc
kết thúc
vprint_good 'Selinux không phải là vấn đề'
kết thúc

# kiểm tra chương trình suid
xorg_path = cmd_exec “lệnh -v Xorg”
trừ khi xorg_path.include? (“Xorg”)
vprint_error “Không thể tìm thấy tệp thực thi Xorg”
trả về CheckCode :: An toàn
kết thúc
vprint_good “Đường dẫn Xorg được tìm thấy tại # {xorg_path}”
trừ khi setuid? xorg_path
vprint_error “Xorg binary # {xorg_path} không phải là SUID”
trả về CheckCode :: An toàn
kết thúc
vprint_good “Xorg binary # {xorg_path} là SUID”

Phương pháp kiểm tra

Khai thác này được thực hiện bởi bốn nhà nghiên cứu -

  • Narendra Shinde - Khám phá và khai thác
  • Raptor-0xdea - Khai thác được sửa đổi cho cron
  • Aaron Ringo - Mô-đun Metasploit
  • Brendan Coles - Mô-đun Metasploit

Điều này đã được thử nghiệm trên OpenBSD 6.3, 6.4 và CentOS 7 (1708). Theo ghi chú trên Packetstorm, CentOS với cài đặt mặc định sẽ cần xác thực bảng điều khiển cho các phiên của người dùng.

Đây là một lỗ hổng nghiêm trọng do quy mô sử dụng của Xorg. Mặc dù khai thác cần một số cài đặt trước để hoạt động, nhưng có thể không xuất hiện trong môi trường chuyên nghiệp.

Thẻ CentOS OpenBSD Xorg