Tải bản đầy đủ (.docx) (109 trang)

Linux Privilege Escalation technique prevention

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.72 MB, 109 trang )

BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ĐỒ ÁN TỐT NGHIỆP

NGHIÊN CỨU MỘT SỐ KỸ THUẬT LEO THANG ĐẶC
QUYỀN TRÊN LINUX VÀ ĐỀ XUẤT GIẢI PHÁP
PHÒNG CHỐNG
Ngành: An tồn thơng tin
Mã số: 7.48.02.02

Sinh viên thực hiện:
Bùi Thị Phương Duyên – MSSV: AT160410

Người hướng dẫn:
ThS. Ngô Văn Nghĩa
Công ty cổ phần công nghệ giáo dục và dịch vụ Brontobyte

Hà Nội, 2023


BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯

ĐỒ ÁN TỐT NGHIỆP

NGHIÊN CỨU MỘT SỐ KỸ THUẬT LEO THANG ĐẶC
QUYỀN TRÊN LINUX VÀ ĐỀ XUẤT GIẢI PHÁP
PHÒNG CHỐNG


Ngành: An tồn thơng tin
Mã số: 7.48.02.02

Sinh viên thực hiện:
Bùi Thị Phương Duyên – MSSV: AT160410

Người hướng dẫn:
ThS. Ngô Văn Nghĩa
Công ty cổ phần công nghệ giáo dục và dịch vụ Brontobyte

Hà Nội, 2023



MỤC LỤC
MỤC LỤC.................................................................................................................i
DANH MỤC KÝ HIỆU VÀ VIẾT TẮT..............................................................iii
DANH MỤC HÌNH VẼ.........................................................................................iv
DANH MỤC BẢNG.............................................................................................viii
LỜI CẢM ƠN.........................................................................................................ix
LỜI NĨI ĐẦU.........................................................................................................x
CHƯƠNG 1: TỔNG QUAN KỸ THUẬT LEO THANG ĐẶC QUYỀN VÀ
LEO THANG ĐẶC QUYỀN TRÊN LINUX........................................................1
1.1. Giới thiệu về leo thang đặc quyền.................................................................1
1.2. Phân loại leo thang đặc quyền.......................................................................3
1.2.1. Leo thang đặc quyền theo chiều ngang.................................................3
1.2.2. Leo thang đặc quyền theo chiều dọc.....................................................4
1.3. Một số vector tấn công leo thang đặc quyền.................................................6
1.3.1. Khai thác thông tin xác thực..................................................................6
1.3.2. Lỗ hổng đặc quyền và khai thác............................................................7

1.3.3. Cấu hình sai...........................................................................................7
1.3.4. Phần mềm độc hại.................................................................................7
1.3.5. Kỹ nghệ xã hội.......................................................................................8
1.4. Leo thang đặc quyền đối với hệ điều hành Linux.........................................9
1.4.1. Cấu trúc và quyền hạn của hệ thống tệp tin trong Linux......................9
1.4.2. Một số nguy cơ dẫn đến leo thang đặc quyền trên Linux....................13
1.4.3. Quá trình leo thang đặc quyền trên Linux...........................................14
1.5. Cơng cụ trong q trình leo thang đặc quyền...............................................18
1.5.1. linPEAS.................................................................................................18
1.5.2. lineum....................................................................................................20
1.5.3. LES (Linux Exploit Suggester)..............................................................21
1.5.4. So sánh các công cụ..............................................................................22
1.6. Kết luận chương 1.......................................................................................23
CHƯƠNG 2: NGHIÊN CỨU CÁC KỸ THUẬT LEO THANG ĐẶC QUYỀN
TRÊN LINUX VÀ ĐỀ XUẤT GIẢI PHÁP PHÒNG CHỐNG.........................24
2.1. Một số kỹ thuật leo thang đặc quyền Linux.................................................24
2.1.1. Khai thác các phần mềm lỗi thời..........................................................24


2.1.2. Khai thác các dịch vụ khơng an tồn....................................................30
2.1.3. Khai thác thông qua quyền truy cập thông tin xác thực.......................37
2.1.4. Khai thác các cấu hình sai phổ biến.....................................................42
2.2. Đề xuất biện pháp phòng chống leo thang đặc quyền Linux.......................68
2.2.1. Các phần mềm lỗi thời..........................................................................68
2.2.2. Các dịch vụ trên hệ thống.....................................................................69
2.2.3. Các tệp gán SUID Binaries...................................................................69
2.2.4. Quyền người dùng Sudo........................................................................69
2.2.5. Tác vụ được lập lịch..............................................................................70
2.2.6. Capability..............................................................................................71
2.3. Kết luận chương 2........................................................................................71

CHƯƠNG 3: TRIỂN KHAI THỰC NGHIỆM CÁC KỸ THUẬT LEO
THANG ĐẶC QUYỀN.........................................................................................72
3.1. Môi trường thực nghiệm..............................................................................72
3.2. Kịch bản thực nghiệm..................................................................................72
3.3. Triển khai thực nghiệm...............................................................................73
3.3.1. Giành quyền truy cập trên máy mục tiêu.............................................73
3.3.2. Thu thập tự động thông tin hệ thống mục tiêu.....................................79
3.3.3. Nghiên cứu cách thức khai thác..........................................................82
3.3.4. Thực hiện khai thác.............................................................................85
3.4. Đánh giá và đưa ra biện pháp phòng thủ sau khi thực nghiệm...................91
3.5. Kết luận chương 3.......................................................................................92
KẾT LUẬN............................................................................................................93
TÀI LIỆU THAM KHẢO....................................................................................94


DANH MỤC KÝ HIỆU VÀ VIẾT TẮT
CPU

Central Processing Unit

CVE

Common Vulnerabilities and Exposures

FTP

File Transfer Protocol

IDS


Intrusion Detection System

IPC

Inter-Process Communication

IPS

Intrusion Prevention System

KASLR

Kernel Address Space Layout Randomization

NFS

Network File System

RBAC

Role-Based Access Control

RCE

Remote Code Execution

RHEL

Red Hat Enterprise Linux


SGID

Set Group ID

SUID

Set User ID

SMAP

Supervisor Mode Access Prevention

SMEP

Supervisor Mode Execution Prevention

SQL

Structured Query Language

UDF

User Defined Function
DANH MỤC HÌNH


Y
Hình 1. 1 Protection Ring..........................................................................................2
Hình 1. 2 Ví dụ về leo thang đặc quyền theo chiều ngang........................................4
Hình 1. 3 Cấp độ quyền và đặc quyền của các tài khoản người dùng.......................5

Hình 1. 4 Ví dụ về leo thang đặc quyền theo chiều dọc............................................5
Hình 1. 5 Quyền truy cập tệp tin...............................................................................9
Hình 1. 6 Quyền sở hữu tệp tin Linux.....................................................................10
Hình 1. 7 Hiển thị quyền truy cập tệp tin của các đối tượng...................................11
Hình 1. 8 Thơng tin phiên bản nhân hệ điều hành..................................................15
Hình 1. 9 Thơng tin về giao diện mạng máy mục tiêu............................................16
Hình 1. 10 Tải xuống linPEAS................................................................................19
Hình 1. 11 Khởi chạy cơng cụ liệt kê tự động linPEAS..........................................20
Hình 1. 12 Kết quả khởi chạy linenum....................................................................21
Hình 1. 13 Tải file thực thi cơng cụ LES................................................................21
Hình 1. 14 Hiển thị kết quả chạy cơng cụ LES
2
Hình 2. 1 Biều đồ mơ tả các khả năng leo thang đặc quyền thông qua việc khai
thác các phần mềm lỗi thời......................................................................................24
Hình 2. 2 Cấu trúc nhân Linux................................................................................25
Hình 2. 3 Liệt kê phiên bản kernel thủ cơng...........................................................26
Hình 2. 4 Liệt kê phiên bản kernel tự động bằng cơng cụ linPEAS........................26
Hình 2. 5 Liệt kê tự động lỗ hổng liên quan đến kernel với LES...........................26
Hình 2. 6 Tìm kiếm các khai thác liên quan đến kernel với searchsploit................27
Hình 2. 7 Tìm kiếm khai thác liên quan đến phiên bản kernel trên google............28
Hình 2. 8 Tìm kiếm module khai thác với metasploit.............................................28
Hình 2. 9 Chọn module khai thác............................................................................29
Hình 2. 10 Tìm module khai thác với mục tiêu có đăng nhập ssh..........................29
Hình 2. 11 Set payload............................................................................................29
Hình 2. 12 Chạy khai tác và giành được shell root.................................................30
Hình 2. 13 Biểu đồ mơ tả các khả năng có thể khai thác leo thang thơng qua các
dịch vụ khơng an tồn.............................................................................................31
Hình 2. 14 Kết quả của tìm kiếm các dịch vụ chạy với quyền root........................32
Hình 2. 15 Kết quả khi tìm kiếm các tiến trình dịch vụ có từ khóa mysql..............33
Hình 2. 16 Kiểm tra thư mục /home/user/tool.........................................................33



Hình 2. 17 Biên dịch tệp raptor_udf2.c...................................................................34
Hình 2. 18 Tệp đã được biên dịch thành một module động .so..............................34
Hình 2. 19 Quá trình tạo một hàm tùy chỉnh do_system.........................................35
Hình 2. 20 Tạo một lệnh hệ thống...........................................................................35
Hình 2. 21 Chạy tệp lệnh để lấy shell root tạm thời................................................36
Hình 2. 22 Đọc tệp /etc/exports...............................................................................36
Hình 2. 23 Biều đồ mơ tả khả năng có thể khai thác thơng qua quyền truy cập
thơng tin xác thực....................................................................................................38
Hình 2. 24 Đăng nhập tài khoản root......................................................................39
Hình 2. 25 Kiểm tra các tệp và thư mục ẩn trên hệ thống mục tiêu........................40
Hình 2. 26 Kiểm tra các tệp trong thư mục .ssh......................................................40
Hình 2. 27 Truy cập ssh với người dùng root và khóa đã có..................................40
Hình 2. 28 Đọc tệp /etc/shadow..............................................................................41
Hình 2. 29 Tạo mật khẩu dạng băm mới tùy ý........................................................41
Hình 2. 30 Nội dung tệp /etc/passwd......................................................................42
Hình 2. 31 Biểu đồ mơ tả các khả năng có thể khai thác leo thang thơng qua các
cấu hình sai phổ biến...............................................................................................43
Hình 2. 32 Quyền SUID..........................................................................................44
Hình 2. 33 Tìm kiếm các file được gán SUID bằng lệnh find................................44
Hình 2. 34 Tìm kiếm các file được gán SUID bằng cơng cụ linPEAS...................45
Hình 2. 35 Biểu đồ mô tả khả năng khai thác leo thang thơng qua SUID Binaries 45
Hình 2. 36 Khai thác SUID với trang GTFOBins...................................................46
Hình 2. 37 Một số tệp đáng chú ý mà linPEAS khơng xác định được....................47
Hình 2. 38 Phân tích lại các tệp với strace..............................................................47
Hình 2. 39 Thử chạy tệp suid-so.............................................................................48
Hình 2. 40 Tìm kiếm các chuỗi với strings.............................................................48
Hình 2. 41 Kiểm tra thư mục /home/user................................................................49
Hình 2. 42 Kiểm tra lại thư mục /home/user xem có file chứa tập lệnh đã tạo chưa

.................................................................................................................................50
Hình 2. 43 Giành được shell root............................................................................50
Hình 2. 44 Ví dụ về đường dẫn được lưu trữ trong biến $PATH...........................50
Hình 2. 45 Thư mục có chứa tệp được gán SUID...................................................51
Hình 2. 46 Đọc các tệp có trong thư mục người dùng............................................51
Hình 2. 47 Thêm đường dẫn thư mục của tập lệnh bash vào $PATH.....................52
Hình 2. 48 Tạo tệp bash và cấp quyền....................................................................52


Hình 2. 49 Thực thi tệp nhận được shell người dùng root......................................52
Hình 2. 50 Tìm kiếm các chương trình chạy với SUDO khơng cần mật khẩu.......54
Hình 2. 51 Mã khai thác sudo trên GTFOBins........................................................55
Hình 2. 52 Khai thác thành cơng leo thang thơng qua sudo....................................55
Hình 2. 53 Vector leo thang thơng qua sudo biến mơi trường................................56
Hình 2. 54 Q trình khai thác thơng qua biến mơi trường LD_PRELOAD..........57
Hình 2. 55 Xem apache2 dùng thư viện dùng chung nào.......................................57
Hình 2. 56 Khai thác thơng qua biến mơi trường LD_LIBRARY_PATH.............57
Hình 2. 57 Tìm kiếm các capability đang được kích hoạt.......................................58
Hình 2. 58 Thành cơng leo thang đặc quyền có được shell root.............................59
Hình 2. 59 Ví dụ về cron job...................................................................................60
Hình 2. 60 Tìm các cron job đang chạy trên hệ thống mục tiêu.............................61
Hình 2. 61 Các tác vụ có khả năng leo thang..........................................................62
Hình 2. 62 Kiểm tra thư mục /home/user................................................................62
Hình 2. 63 Thực hiện netcat trên máy tấn cơng và có được phiên người root........63
Hình 2. 64 Kiểm tra file có khả năng khai thác.......................................................65
Hình 2. 65 Tạo file bash đơn giản...........................................................................65
Hình 2. 66 Lấy được shell root................................................................................66
Hình 2. 67 đường dẫn mặc định của file overwrite.sh............................................66
Hình 2. 68 Tìm vị trí file overwrite.sh....................................................................67
Hình 2. 69 Xác định quyền hạn của file overwrite.sh.............................................67

Hình 2. 70 Nhận được shell root
6
Hình 3.1 Mơ hình thực hiện tấn cơng thực nghiệm.................................................73
Hình 3.2 Dị qt địa chỉ IP của máy mục tiêu........................................................74
Hình 3.3 Dị qt các cổng đang mở trên máy mục tiêu.........................................75
Hình 3.4 Truy cập trang web thơng qua cổng HTTP..............................................75
Hình 3.5 Giao diện trang người dùng......................................................................76
Hình 3.6 Thay đổi password cho người dùng test thành cơng................................76
Hình 3.7 Đổi mật khẩu cho người dùng có ID là 1.................................................77
Hình 3.8 Trang chủ tài khoản admin.......................................................................77
Hình 3.9 Upload file image thành cơng..................................................................78
Hình 3. 10 Burp Suite Repeater...............................................................................78
Hình 3.11 Sửa đổi phần mở rộng tệp tải lên............................................................78
Hình 3.12 Tạo reverse shell.....................................................................................79


Hình 3.13 Quét thư mục ẩn trên máy mục tiêu.......................................................79
Hình 3.14 Truy cập đường dẫn lưu trữ file tải lên..................................................80
Hình 3.15 Giành được quyền truy cập trên máy mục tiêu......................................80
Hình 3.16 Tạo máy chủ web đơn giản....................................................................81
Hình 3.17 Tải và khởi chạy linpeas.sh....................................................................81
Hình 3.18 CVE có thể khai thác..............................................................................82
Hình 3.19 Cron job có thể khai thác........................................................................82
Hình 3.20 Các SUID binary có thể khai thác..........................................................82
Hình 3.21 Capabilities có thể khai thác...................................................................83
Hình 3.22 Tệp .sh có thể khai thác..........................................................................83
Hình 3.23 Quyền truy cập tệp nhạy cảm có thể khai thác.......................................83
Hình 3.24 Khả năng leo quyền sang người dùng John............................................84
Hình 3.25 Khả năng leo thang từ john lên root thơng qua biến PATH...................85
Hình 3. 26 Nơi lưu trữ pkexec của Polkit................................................................86

Hình 3.27 Đi đến thư mục chứa mã khai thác vừa tải.............................................86
Hình 3.28 Biên dịch và khởi chạy mã khai thác giành quyền root.........................87
Hình 3.29 Tìm kiếm thủ cơng các chương trình được gán SUID...........................87
Hình 3.30 Khai thác SUID đã biết trên GTFOBins................................................88
Hình 3.31 Khởi chạy lệnh để nâng quyền root........................................................88
Hình 3.32 Tệp /etc/passwd có thể ghi.....................................................................88
Hình 3.33 Đăng nhập với người dùng test..............................................................89
Hình 3.34 Khai thác leo thang thơng qua biến PATH.............................................89
Hình 3.35 Khai thác quyền sudo.............................................................................90
Hình 3.36 Tìm kiếm thủ cơng các capability có thể khai thác................................90
Hình 3. 37 Tìm thấy khai thác capability trên GTFOBins......................................91
Hình 3.38 Khai thác capability dựa vào các khai thác đã biết................................91
Hình 3.39 Có thể ghi vào tệp được nằm trong tác vụ lập lịch.................................92
Hình 3.40 Lắng nghe kết nối để có shell root.........................................................92

DANH MỤC B


Y
Bảng 1.1 Các ký hiệu trong quản lý quyền bằng chế độ tượng trưng.....................11
Bảng 1.2 Mô tả cách biểu diễn quyền và các quyền tương ứng..............................12
Bảng 1. 3 So sánh các công cụ liệt kê tự động phổ biến.........................................22


LỜI CẢM ƠN
Trong quá trình thực hiện đồ án tốt nghiệp này, tơi đã nhận được sự giúp đỡ
tận tình của các bạn bè cùng thầy cô trong khoa.
Lời đầu tiên tôi xin gửi lời cảm ơn vô cùng sâu sắc đến cán bộ hướng dẫn
của tôi là ThS. Ngô Văn Nghĩa, đã luôn đưa ra những hướng dẫn cụ thể và tận tình.
Cảm ơn TS. Lại Minh Tuấn – Khoa ATTT luôn giành những lời khuyên và sự

quan tâm để giúp tơi hồn thành được đồ án một cách chỉn chu nhất.
Sau đó tơi xin cảm ơn chân thành đến các thầy cơ khác trực thuộc khoa An
tồn thơng tin đã chỉ bảo dạy dỗ tôi trong xuốt quãng thời gian ngồi trên giảng
đường, những sự bảo ban dạy dỗ đó giúp tơi có được một nền tảng kiến thức đầy
đủ để thực hiện đồ án này.
Cuối cùng tôi đã nhận được rất nhiều sự quan tâm và động viên từ bạn bè
người thân. Tại đây thôi cũng vô cùng cảm ơn sự quan tâm và động viên đó, điều
đấy giúp cho tơi có động lực để hồn thành nhiệm vụ.
Xin cảm ơn tất cả mọi người đã tạo những điều kiện tốt nhất để tơi hồn
thành đồ án tốt nghiệp này!
SINH VIÊN THỰC HIỆN ĐỒ ÁN

Bùi Thị Phương Duyên


LỜI NÓI ĐẦU
Hệ điều hành Linux đã trở thành một trong những hệ điều hành phổ biến và
được sử dụng rộng rãi trên nhiều hệ thống và thiết bị khác nhau. Với sự phát triển
không ngừng của thời đại công nghệ số, Linux đã trở thành một trong các mục tiêu
của những cuộc tấn cơng và xâm nhập từ phía những tin tặc, những người muốn
xâm phạm tính bảo mật dữ liệu và lợi dụng các lỗ hổng của hệ thống để thực hiện
hành vi đó. Một trong những mối lo ngại lớn nhất đó là việc tấn cơng leo thang đặc
quyền (privilege escalation), kẻ tấn công lợi dụng các lỗ hổng để tăng cấp đặc
quyền và có quyền truy cập điều khiển toàn bộ hệ thống.
Với những hậu quả tiềm ẩn của việc leo thang đặc quyền, bảo vệ được dữ
liệu, các thông tin nhạy cảm trên hệ thống Linux trở nên cấp thiết hơn bao giờ hết.
Nguy cơ mất dữ liệu, mất quyền kiểm soát hệ thống và tiềm năng cho những hành
động xấu đã đòi hỏi những người làm bảo mật phải hiểu rõ về các kỹ thuật leo
thang đặc quyền hiện có và phải xác định các giải pháp phòng chống hiệu quả để
ngăn chặn những cuộc tấn cơng này.

Chính những lý do trên đã tạo tiền đề cho đồ án “Nghiên cứu các kỹ thuật
leo thang đặc quyền trên Linux và đề xuất biện pháp phịng chống” được thực hiện.
Đồ án đưa ra góc nhìn tổng quan về khái niệm leo thang đặc quyền nói chung và
leo thang trên Linux nói riêng, đề cập đến những kỹ thuật leo thang phổ biến
thường được sủ dụng trên hệ thống Linux và đề xuất một số biện pháp phịng thủ
để đảm bảo an tồn hơn cho hệ thống. Từ đấy giúp các bạn sinh viên hoặc những
đọc giả có hứng thú đến an tồn thơng tin có cái nhìn bao quát và cụ thể hơn về
một số thông tin xoay quanh leo thang đặc quyền trên Linux.
Các mục tiêu ban đầu đề ra của đồ án gồm có:
1. Nghiên cứu tổng quan về leo thang đặc quyền, các vector leo thang đặc
quyền nói chung và nghiên cứu về vấn đề leo thang đặc quyền trên Linux
nói riêng.
2. Trình bày một số vector leo thang đặc quyền trên Linux và những kỹ
thuật phổ biến dùng để leo thang đặc quyền.


3. Đề xuất một số biện pháp giúp phòng thủ tốt và hiệu quả cho hệ thống
Linux.
4. Thực nghiệm mô phỏng các kỹ thuật leo thang đặc quyền trên Linux.
Để giải quyết các nhiệm vụ đặt ra, đồ án này được chia bố cục thành 3
chương riêng biệt, mỗi chương có vai trị giải quyết từng nhiệm vụ cụ thể:
Chương 1. Tổng quan về leo thang đặc quyền và leo thang đặc quyền trên
Linux: Trình bày khái quát về leo thang đặc quyền nói chung và leo thang trên
Linux nói riêng.
Chương 2. Nghiên cứu các kỹ thuật leo thang đặc quyền trên Linux và đề
xuất giải pháp phòng chống: Chương 2 này sẽ cụ thể hơn những kỹ thuật leo thang
phổ biến trong Linux. Một số công cụ hỗ trợ cho q trình đó và đề xuất biện pháp
phịng thủ.
Chương 3. Triển khai thực nghiệm các kỹ thuật leo thang đặc quyền trên
Linux: Dựa vào những gì đã trình bày ở chương 2, chương 3 sẽ trình bày quá trình

áp dụng các kỹ thuật và cơng cụ đó để mơ phỏng khai thác tấn công đặc quyền trên
hệ thống Linux.
Sau thời gian thực hiện đồ án, các mục tiêu ban đầu đặt ra về cơ bản đã đạt
được. Tuy nhiên, vấn đề leo thang đặc quyền trên Linux cũng phụ thuộc vào các
yếu tố phát triển từ nhà phân phối, tùy vào mỗi hệ thống thực tế. Trong khoảng
thời gian thực hiện đồ án tương đối ngắn, đồ án có thể khơng tránh khỏi một số
thiếu sót. Chính vì lí do đó, tơi rất mong được sự góp ý của các thầy cô, cũng như
các bạn học viên để đồ án này được hoàn thiện hơn.
SINH VIÊN THỰC HIỆN ĐỒ ÁN

Bùi Thị Phương Duyên


CHƯƠNG 1: TỔNG QUAN KỸ THUẬT LEO THANG
ĐẶC QUYỀN VÀ LEO THANG ĐẶC QUYỀN TRÊN LINUX
1.1.

Giới thiệu về leo thang đặc quyền
Leo thang đặc quyền được tiếp tục thực hiện sau khi kẻ tấn công đạt được
quyền truy cập (gaining access) vào một hệ thống mục tiêu cụ thể. Chính là quá
trình khai thác các lỗ hổng hoặc do cấu hình sai sót có trong hệ thống để mở rộng
quyền hạn từ người dùng này sang người dùng khác, thường là nâng cao quyền hạn
từ người dùng có quyền thấp lên người dùng có quyền quản trị hoặc quyền root
trên hệ thống. Khi tăng quyền thành công, kẻ tấn công có thể tăng sự kiểm sốt của
mình đối với một hệ thống hoặc nhóm hệ thống thuộc về một miền (domain), từ đó
chúng có thể thực hiện các thay đổi quản trị, lấy dữ liệu bí mật, sửa đổi hoặc gây
hại cho hệ điều hành theo nhiều mục đích.
Từ góc nhìn của một kiểm tra viên thâm nhập (penetration tester), tăng
quyền cũng là bước tiếp theo sau khi khai thác thành công một hệ thống và thường
được thực hiện bằng cách bypass hoặc khai thác các hệ thống xác thực và ủy

quyền. Một phương pháp thông thường là sử dụng quyền truy cập ban đầu để truy
cập vào tài nguyên và chức năng vượt ra ngồi những gì mà quyền hạn tài khoản
người dùng hiện tại có. Q trình này thường được gọi là đạt quyền root trên hệ
thống.
Để hiểu rõ hơn về cách nâng cao đặc quyền, cần hiểu về cách mà hệ điều
hành được thiết kế liên quan đến tài khoản người dùng và đặc quyền. Phân quyền
của hệ điều hành được thiết kế để xử lý nhiều người dùng với nhiều vai trò và
quyền hạn khác nhau. Việc trừu tượng hóa các vai trị và quyền hạn của người
dùng trên hệ thống được thiết lập và thực hiện bởi một hệ thống gọi là vòng bảo vệ
(protection ring). Hệ thống này quy định, giới hạn và thực thi chức năng của người
dùng trên hệ thống cùng với quyền truy cập tương ứng vào tài nguyên.
Như tên gọi của nó, vịng bảo vệ là một cơ chế bảo vệ và phân tách theo cấp
bậc được sử dụng để cung cấp các mức truy cập khác nhau đối với chức năng và
tài nguyên trên hệ thống. Cụ thể, vòng bảo vệ thường được triển khai dưới dạng
các vòng (ring) có thứ tự số từ 0 đến n, trong đó n là giá trị tối đa mà hệ thống hỗ
trợ (số vòng thường khác nhau tùy thuộc vào kiến trúc hệ điều hành). Mỗi vòng đại
diện cho một mức độ quyền hạn khác nhau, với vòng số 0 là vòng có quyền đặc
1


quyền cao nhất và vịng số n là vịng có quyền đặc quyền thấp nhất, như được minh
họa trong ảnh sau:

Hình 1. 1 Protection Ring
Sự phân chia này giữa các đặc quyền trên hệ thống dẫn đến sự thực hiện hai
vai trị chính như sau:
 Quyền truy cập đặc quyền:
Thường được đại diện hoặc gán cho tài khoản root hoặc quản trị viên, cung
cấp quyền truy cập hoàn chỉnh vào tất cả các lệnh và tài nguyên của hệ thống. Tài
khoản root hoặc quản trị viên thường có quyền truy cập vào các chức năng sau:

- Có khả năng cài đặt (install), gỡ cài đặt (uninstall) và sửa đổi (modify)
phần mềm hệ thống hoặc tệp binary.
- Có khả năng thêm (add), sửa đổi (modify) hoặc gỡ bỏ (remove) người
dùng và nhóm người dùng.
- Có khả năng tạo (create), truy cập (access), sửa đổi (modify) và xóa
(delete) bất kỳ dữ liệu hệ thống hoặc người dùng nào.
- Có khả năng truy cập chức năng mạng và tiện ích mạng, kiểm sốt tất cả
phần cứng hệ thống.
- Có khả năng tạo, quản lý và kết thúc các tiến trình hệ thống và người
dùng.
 Quyền truy cập không đặc quyền
Thường được đại diện hoặc gán cho các tài khoản người dùng thông thường,
tài khoản không phải là root và bị giới hạn trong một tập hợp cụ thể các đặc
quyền được thiết kế, điều chỉnh cho truy cập người dùng thông thường trên hệ
thống. Các tài khoản khơng phải là root thường có các chức năng sau:
2


- Có khả năng khởi động (start) và dừng (stop) các tiến trình và chương
trình của người dùng.
- Có khả năng tạo (create), sửa đổi (modify) và xóa (delete) dữ liệu của
người dùng.
- Có khả năng truy cập (access) các chức năng mạng.
Sự phân chia này là một điều rất quan trọng trong quá trình leo thang đặc
quyền đối với người kiểm tra thâm nhập hoặc kẻ tấn cơng, vì nó cung cấp quyền
kiểm sốt tồn diện và khơng thể so sánh trên hệ thống, có thể là một nhóm hệ
thống nếu họ đạt được quyền truy cập "root" hoặc quyền quản trị trên hệ thống.
Theo như tính chất của các cuộc tấn công leo thang đặc quyền liên quan đến các tài
khoản người dùng và quyền hạn, có hai phương pháp chính để thực hiện leo thang
đặc quyền mà kẻ tấn cơng có thể sử dùng tùy vào mục đích và mục tiêu như sau:

- Leo thang đặc quyền theo chiều ngang (Horizontal Privilege Escalation)
- Leo thang đặc quyền theo chiều dọc (Vertical Privilege Escalation)
1.2.

Phân loại leo thang đặc quyền

1.2.1. Leo thang đặc quyền theo chiều ngang
Leo thang đặc quyền theo chiều ngang (Horizontal Privilege Escalation) là
quá trình mà kẻ tấn công cố gắng tăng cường, mở rộng quyền hạn của mình bằng
cách chiếm quyền đặc quyền của một người dùng có quyền hạn tương tự. Khơng
phải là việc truy cập vào tài khoản có quyền quản trị hoặc là quyền root, nó chủ
yếu liên quan đến việc truy cập chức năng trên hệ thống bằng cách sử dụng các tài
khoản có cùng cấp độ quyền hạn.
Kẻ tấn cơng hoặc kiểm tra viên thâm nhập thường sẽ sử dụng phương pháp
leo thang theo chiều ngang này nếu họ quan tâm đến việc truy cập dữ liệu của tài
khoản người dùng khơng có đặc quyền, thu thập thơng tin chứng thực hoặc mật
khẩu băm của các tài khoản người dùng, để giả mạo tài khoản người dùng, truy cập
các tài khoản trực tuyến hoặc thực hiện các hành động sai trái khác.
Hình 1.2 minh họa một cấu hình tài khoản điển hình trên máy tính, có hai tài
khoản người dùng khơng có quyền đặc quyền là John và Mike cùng một tài khoản
người dùng có quyền đặc quyền admin là Collin.

3


Hình 1. 2 Ví dụ về leo thang đặc quyền theo chiều ngang
John đang cố gắng thực hiện một cuộc tấn công leo thang đặc quyền theo
chiều ngang thông thường bằng cách nâng cao quyền hạn của tài khoản của mình
lên quyền hạn của tài khoản Mike, lúc này John và Mike là hai tài khoản có cùng
một cấp độ quyền hạn như nhau. Rõ ràng rằng mục tiêu duy nhất của leo thang đặc

quyền theo chiều ngang là nâng cao quyền hạn lên các tài khoản người dùng nằm ở
cùng một cấp độ đặc quyền ngang với tài khoản người dùng thực hiện cuộc tấn
công.
1.2.2. Leo thang đặc quyền theo chiều dọc
Leo thang đặc quyền theo chiều dọc là q trình kẻ tấn cơng sử dụng các lỗ
hổng trong hệ điều hành để đạt được quyền đặc quyền cao nhất, như quyền root
hoặc quản trị trên một hệ thống. Phương pháp này cho phép họ có tồn quyền truy
cập và kiểm sốt hệ thống.
Hình 1.3 dưới đây cho thấy cấp độ quyền và đặc quyền của các tài khoản
người dùng, với tài khoản ở trên cùng có quyền cao nhất, ít bị truy cập nhất và
thường được sử dụng bởi quản trị viên hệ thống. Các tài khoản ở dưới cùng được
sử dụng bởi người dùng thông thường và các dịch vụ không yêu cầu quyền quản
trị. Dưới đây mô tả cách tiếp cận theo chiều dọc để nâng cao quyền hạn dựa trên
tài khoản người dùng và quyền truy cập cho cả hệ thống Windows và Linux, mục
tiêu là di chuyển theo chiều dọc lên đến tài khoản có quyền hạn cao nhất, từ đó
cung cấp quyền truy cập hoàn toàn vào hệ thống.

4


Hình 1. 3 Cấp độ quyền và đặc quyền của các tài khoản người dùng
Quay trở lại với ví dụ minh họa khác, hình 1.4 biểu thị một cấu hình tài
khoản điển hình trên máy tính, với hai tài khoản người dùng khơng có quyền đặc
quyền John, Mike và một tài khoản người dùng có quyền đặc quyền là Collin:

Hình 1. 4 Ví dụ về leo thang đặc quyền theo chiều dọc
Đối với tình huống này, hình 1.4 mơ phỏng một phương pháp leo thang đặc
quyền theo chiều dọc truyền thống, trong đó người dùng John cố gắng nâng cao
quyền hạn lên tài khoản quản trị viên admin là tài khoản Collin. Nếu thành cơng,
John sẽ có quyền hạn quản trị và có thể truy cập vào tất cả các tài khoản người

dùng và tệp tin, từ đó cho phép anh ta có quyền truy cập và kiểm sốt tồn bộ hệ
thống.
1.3.

Một số vector tấn công leo thang đặc quyền
5


Một tài khoản người dùng tiêu chuẩn thường hiếm khi có quyền đối với cơ
sở dữ liệu, tệp nhạy cảm hay bất cứ thơng tin gì có giá trị khác. Vì thế để một tác
nhân đe dọa và điều hướng một môi trường, giành quyền quản trị viên hay quyền
root tiếp tục khai thác như một vector tấn cơng thì thường dựa vào năm kỹ thuật

chính trình bày sau đây:
1.3.1. Khai thác thông tin xác thực
Khai thác thông tin xác thực (Credential Exploitation) là một phương pháp
tấn công leo thang đặc quyền dựa trên việc khai thác thông tin xác thực hợp lệ,
chẳng hạn như tên người dùng và mật khẩu, để đạt được quyền truy cập đặc quyền
trên hệ thống hoặc ứng dụng. Đây là một phương pháp phổ biến và hiệu quả vì nó
sử dụng thơng tin xác thực hợp lệ của người dùng để đăng nhập vào hệ thống.
Một số cách phổ biến để kẻ tấn công có thể có được thơng tin đăng nhập vào
hệ thống là:
- Tấn công vét cạn mật khẩu (Brute Force Password Attack)
Kẻ tấn cơng sử dụng chương trình hoặc cơng cụ tự động để thử nghiệm hàng
loạt các mật khẩu khác nhau cho một tài khoản cụ thể. Trong tấn công vét cạn mật
khẩu thường bao gồm cả một số tấn công như tấn công từ điển (Dictionary Attack),
tấn công sử dụng bảng cầu vồng (Ranbow Table Attack).
- Tấn công phun mật khẩu (Password Spraying)
Tấn công này tương tự như brute force attacks, nhưng thay vì thử nghiệm
hàng loạt mật khẩu cho một tài khoản cụ thể, kẻ tấn công thử mật khẩu giống nhau

cho nhiều tài khoản khác nhau. Điều này giúp tránh bị khóa tài khoản sau một số
lần đăng nhập sai như trong tấn công brute force.
- Tấn công lừa đảo (Phishing Attacks)
Kẻ tấn công gửi email hay tin nhắn giả mạo, mạo danh một tổ chức đáng tin
cậy như ngân hàng hoặc dịch vụ trực tuyến, yêu cầu người dùng cung cấp thông tin
xác thực, chẳng hạn như tên người dùng và mật khẩu, thông qua một trang đăng
nhập giả mạo. Nếu người dùng cung cấp thông tin, kẻ tấn công sẽ lấy được thông
tin đăng nhập hợp lệ.
Ngồi ra cịn một số cách thức khác để tin tặc có thể có được thơng tin đăng
nhập hợp lệ: thông qua keylogger trên thiết bị người dùng, thay đổi và đặt lại mật
khẩu…

6



×