1. Trang chủ
  2. » Luận Văn - Báo Cáo

Công cụ kiểm thử leo thang đặc quyền trên Windows thông qua các giao thức xác thực

82 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Công Cụ Kiểm Thử Leo Thang Đặc Quyền Trên Windows Thông Qua Các Giao Thức Xác Thực
Tác giả Trần Quốc Hoàn
Người hướng dẫn TS. Nguyễn Ngọc Điệp
Trường học Học viện Công nghệ Bưu chính Viễn thông
Chuyên ngành An toàn thông tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 82
Dung lượng 21,69 MB

Nội dung

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyên trên WindowsDANH MỤC KÝ HIỆU, TÊN TIENG ANH VÀ NGHĨA bà Ký hiệu Tên tiếng anh Nghĩa 1 |AD Active Directory pich vụ quan lý thư mục phân 2

Trang 1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

KHOA AN TOÀN THÔNG TIN

ĐỎ ÁN TÓT NGHIỆP

_ CÔNG CỤ KIEM THU LEO THANG ĐẶC QUYEN

TREN WINDOWS THONG QUA CAC GIAO THUC XAC THUC

TRAN QUOC HOAN

Hà Nội, Thang 12 nam 2023

Trang 2

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIÊN THONG

KHOA AN TOÀN THÔNG TIN

ĐỎ ÁN TÓT NGHIỆP

ĐÈ TÀI: CÔNG CỤ KIEM THU LEO THANG ĐẶC QUYEN

TRÊN WINDOWS THÔNG QUA CÁC GIAO THỨC XÁC THỰC

Giảng viên hướng dẫn : TS Nguyễn Ngọc Điệp

Tên sinh viên : Trần Quốc Hoàn

Mã sinh viên : BI9DCAT077

Lớp : DI9CQAT01-B

Khoá : 2019-2024

Hệ : Dai học chính quy

Hà Nội, Tháng 12 năm 2023

Trang 3

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

LỜI CẢM ƠN

Lời đầu tiên, em xin gửi lời biết ơn sâu sắc tới Thầy giáo TS Nguyễn NgọcĐiệp đã tận tình chỉ bảo, hướng dẫn em trong không chi quá trình thực hiện đồ án này,

nhờ sự giúp đỡ và những chia sẻ của Thầy, em đã có những định hướng riêng cho

tương lai của mình.

Em xin chân thành cảm ơn các Thay, Cô trong Khoa An toàn thông tin nói riêng

và toàn thé các cán bộ của Học viện Công nghệ Bưu chính Viễn thông nói chung đã tạo

điều kiện dé em có thé học tập và phát triển bản thân trong một môi trường rất tốt Cảm

ơn các Thầy Cô đã cung cấp cho em không chỉ kiến thức mà còn là kỹ năng sống, đó là

những hành trang hữu ích cho em trên chặng đường dài phía trước của cuộc đời.

Em cũng xin gửi lời cảm ơn đến những người anh, người bạn, người đồngnghiệp trong công ty An ninh mạng Viettel đã cung cấp cho em những kiến thức về lập

trình, hệ điều hành, kiêm thử xâm nhập và tạo điều kiện cho em hoàn thiện đồ án này

Cuối cùng, em xin cảm ơn gia đình, bạn bẻ, những người đã luôn ở cạnh, quantâm, giúp đỡ và ủng hộ đề bản thân em có thể hoàn thành được đồ án này

Em xin chân thành cảm ơn!

Hà Nội, ngày 31 thang 12 năm 2023

Sinh viên thực hiện

Trân Quôc Hoàn

i

Tran Quốc Hoàn - BI9DCAT077

Trang 4

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

LỜI CAM ĐOAN

Em xin cam đoan rằng đồ án tốt nghiệp “Công cụ kiểm thử leo thang đặc

quyền trên Windows thông qua các giao thức xác thực” là công trình nghiên cứu

của bản thân Những phần có sử dụng tài liệu tham khảo có trong đồ án đã được liệt kê

và nêu rõ ra tại phần tài liệu tham khảo Đồng thời những số liệu hay kết quả trình bày

trong đồ án đều mang tính chất trung thực, không sao chép, đạo nhái.

Em cũng xin cam đoan giữ vững và tôn trong van đề đạo đức của người nghiêncứu bảo mật Không phát tán mã khai thác, mã nguồn hay tài liệu hướng dẫn khai thác

dưới mọi hình thức Không để cá nhân, tổ chức khác lợi dụng làm điều xấu ảnh hưởng

tới bat kì cá nhân, tổ chức nào khác

Em xin hoàn toàn chịu trách nhiệm về tính trung thực và pháp lý của đồ án trướchội đồng và pháp luật

Hà Nội, ngày 31 tháng 12 năm 2023

Sinh viên cam kết

Trân Quôc Hoàn

il

Tran Quốc Hoàn - BI9DCAT077

Trang 5

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

NHẬN XÉT DANH GIÁ CHO DIEM

(Của Người hướng dẫn)

Điểm: 0 St rerye (băng chữ: 52 S21 E222 E2 re )Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm tốt nghiệp?

Hà Nội, ngày tháng năm

CÁN BỘ - GIẢNG VIÊN HƯỚNG DẪN

(ky và ghi rõ họ tên)

1H

Trần Quốc Hoàn - BI9DCAT077

Trang 6

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

NHẬN XÉT DANH GIÁ CHO DIEM

(Của Người phản biện)

Điểm: 0 St rerye (băng chữ: 52 S21 E222 E2 re )Đồng ý / Không đồng ý cho sinh viên bảo vệ trước hội đồng chấm tốt nghiệp?

Hà Nội, ngày tháng năm

CÁN BỘ - GIẢNG VIÊN PHẢN BIỆN

(ký và ghi rõ họ tên)

IV

Trần Quốc Hoàn - BI9DCAT077

Trang 7

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

MỤC LỤC

DANH MỤC KÝ HIỆU, TÊN TIENG ANH VÀ NGHĨA -. 2-52 ©ss©csscss vii IJ.9):8\ 1098:7916 43+ Ô ix DANH MỤC HINH VE ccccsssssssssssssssssssessesssssssssessesssssssessessesssssssessesscssssusssscsecssseseesesceeees x

0900062710057 .- ,Ô 1 CHƯƠNG 1 XÁC THỰC VÀ KIEM SOÁT ĐẶC QUYEN TREN WINDOWS 4

1.1 Kiểm soát đặc quyền trên WindOWS - 2 + s22 21122122121221217121212 1111k 4

1.1.1 Mã định danh bảo mậtt - c E2 1111122211 1112211111151 1 111281111111 1 1kg 4

1.1.3 Đặc quyền của tài khoản - ¿52 s2 EEE1211211271 7111211211211 1 1x ye 10

1.2.1 NTIM 5-52 252221 2E22112212211221211271211271121121112111112112111111121112 re 14

1.2.2 Ker€TOS - - c E2 2211112211 1111931111 1531 111 1011111110 1K 1n kg ty 191.3 KẾt chương -.-¿- ¿5+ +scxSE12E121121E712112112112111112112111111112111E111121111211 re 28CHUONG 2 PHƯƠNG PHÁP LỢI DỤNG PHƯƠNG THỨC XÁC THỰC DE

I0299:7.0 1680701900040) 227277 30

2.1 Lỗ hồng trong quá trình xác thực của Kerberos - 2 2 222++x+>++x+z++x+zxszez 30

2.1.1 Mô tả lỗ hồng - 52-5252 SE EE12E1212121121121121211121121121111121111121111 n0 30

2.1.2 Cách thức khai thác lỗ hồng - - 2 S+2SE E9 E9 E2E12E121EE17171E12121 2111 xe 32

2.2 Phương thức tan công RBCD -2- 2 ©5¿+222EE2EE9EEEEEE2E121221212121121211 212.1 xe 39

2.2.2 Luồng thực thi -¿- ¿5+2 2x‡2E22E12112112212711121121121121121111 111012111111 Ea te 41

2.2.3 Biện pháp phát hiện, phòng chống 2-5 +® + EE+E£E£EE£E+EeE£EzEerrrxzed 44

2.3 Phương thức tan công Tgtdeleg - + 2+Ss+SE£EE£2E£2EE2E12E12E1212121211 212.1 xe 44

2.3.2 Luông thực thi -¿- ¿5 +s+Sx9EE2E12EE212712212112121111121121111111 01112112 1x0 452.3.3 Biện pháp phát hiện, phòng chống 2- 2 2+ +SE+E£EE+E#E£EEEE2EeEEEEzEerrxred 462.4 KẾt chương -:- 2 St s EE1211212171211211211111111111111111211 1111211112111 Hye 47

Vv

Trần Quốc Hoàn - BI9DCAT077

Trang 8

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

CHUONG 3 CÔNG CỤ KIEM THU LEO THANG ĐẶC QUYEN LỢI DỤNG

PHƯƠNG THỨC XÁC THỤC - «se +s+++£E+£E+£ExeEEeEveerxerrserserrsrrsersrre 48

3.1 GiGt thidu CONG CU ccc Ả 493.2 Phân tích thiết 6 0 c ccccccccsscssessessessesssssssusssessessesssssessssssesesssesissessssessssesetsesseeeseess 49

3.2.1 Phân tích yêu cầu - 2: 5¿©2¿+S£+EESEE£EE9EE2E12112112712717171121121111 11 E1 re 49

3.2.2 Thiết kế công Cụ 2-5221 EE9EE921121122122127121121121121121111 11112111211 re 49 3.2.3 Sơ đồ hoạt động -2 ¿5c S1 2E 1 212211211211211 2111111111121 0101211 errdey 50

3.3 Cait Gat CONG CU ee 51 3.4 Thử nghiệm và đánh gid ccccccccccsccssesseessesssessesssesssessesssessesssessnsstssessessessessesseseeeecees 523.5 Phương hướng phát triÊn - 2-5: sSE9SE2E22EEEEEEEEE121121212121211111112121 111211 xe 58KET 00.0777 Ả 59

IV.)80/9089:70/84 27.0122 60

VITrần Quốc Hoàn - BI9DCAT077

Trang 9

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyên trên Windows

DANH MỤC KÝ HIỆU, TÊN TIENG ANH VÀ NGHĨA

bà Ký hiệu Tên tiếng anh Nghĩa

1 |AD Active Directory pich vụ quan lý thư mục phân

2 |AP Application Server Máy chủ đáp ứng yêu cầu củaứng dụng

3 | AS Authentication Service Dich vu xac thuc danh tinh

4 |DACL Discretionary Access Control Danh sách điêu khiên truy cập

List

5 |DC Domain Controller May chu quan lý tại neuyen,xac thuc va truy cap

6 | GSS-API Generic Security Service Giao diện lập trình ứng dụng

Application Program Interface cho các dich vu bảo mật

7 |HS Internet Information Services Dic h vụ may chủ web củaMicrosoft

8 |KDC Key Distribution Center Trung tâm phan phối khóa

9 | LDAP Lightweight Directory Access Giao thức truy cập thư mục nhẹ

Protocol

10 |LM Lan Manager Hệ thông quản lý mạng máytính

11 |LSA Local Security Authority Dic h vụ bảo mật tại cap độ hệthông

12 | LSASS Local Security Authority Dich vu con cua LSA

Subsystem Service

13 | MFA Multifactor authentication Xác thực da yếu tố

14 |MITM Man in the middle

viiTran Quốc Hoan - BI9DCAT077

Trang 10

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyên trên Windows

15 | NTLM | New Technology LAN Manager | CÍA9 thức xác thực và quản lýtruy cập mạng

16 |PAC Privilege Attribute Certificate Chứn ° ch : chứa thông tin vequyén/dac quyén

17 | PoC Proof of Concept Bang chứng thực nghiệm

1 Resource-Based Constrained Cap quyén truy cap gidi han

8 |RBCD : A

Delegation cho tai nguyén

19 | RID Relative Identifier Định danh tương đối

Giao thức cho phép các ứng

20 | RPC Remote Procedure Call dung giao tiép và gọi các ham

từ xa

21 | S4U Service for User Dich vu cho phép mey chu `đăng nhập thay mặt người dùng

22 |SAM System Account Manger Quan Ị ý tài khoản người dùngvà nhóm

23 | SCM Service Control Manager Quan lý các dich vụ hệ thống

24 |SID Security Identifiers Ma dinh danh bao mat

Security Support Provider Giao điện hỗ trợ nhà cung cấp

25 |SSPI ar

Interface bao mat

26 | TGS Ticket Granting Ticket Phiêu cập quyền truy cập chomáy chủ

27 | TGT Ticket Granting Service Dich vu cap quyen truy cap chocac dich vu

28 |UAC User Account Control Co che kiêm soát quyền truycập người dùng

villTran Quốc Hoan - BI9DCATO077

Trang 11

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

DANH MỤC BẢNG

Bảng 1.1: Một số SID Thường gặp - 2-52 52 S221 E1 EEEE211211211211 1111211 xe 6

Bang 1.2: Một số đặc quyền mặc định được cấp trên Windows c-c <<<<<<<+ 11

1X

Trần Quốc Hoàn - BI9DCAT077

Trang 12

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

DANH MỤC HÌNH VE

Hình 1.1: Các thông tin trong một SID thực TA 5

Hình 1.2: Quan sát chủ sở hữu của các mô-đun trong thư mục system32 5

Hình 1.3: Quan sát SID đăng nhập thông qua Process ExpÏOTeT ‹+++<s+ s52 7

Hình 1.4: Access TIOK€N - c9 nh TH ng nh TH HH nh TH HH Hàng nh 8

Hình 1.5: Doc Access Token từ một tiến trình bằng công cụ TokenViewer 9

Hình 1.6: Liệt kê đặc quyền thông qua câu lệnh whoaimi 2 25225252: 10

Hình 1.7: Mô hình hoạt động cơ bản của NTƯM - - 52c St *+ sssirsreeerke 14

Hình 1.8: Mô hình hoạt động của NTLM trong quá trình đăng nhập 15

Hình 1.9: Mô hình xác thực NTLM trong truy cập tài nguyên dùng chung (máy chủ

chia sẻ file SMB) L2 111 1112111111 111101111111 11111 111111111111 TH KH kg kg kg 17

Hình 1.10: Mô tả đơn giản về cách tạo Response của NTLM 2- 2-5255: 18

Hình 1.11: Mô hình tông quan về giao thức xác thực kerberos :- 5:5: 21

Hình 1.12: Một số thông tin của AS-REQ bắt được từ Wireshark -5-55- 22

Hình 1.13: Sơ đồ thông điệp AS-REQ 2- 2-52 SE 2E12E12212717121211211 1E ye 23

Hình 1.14: Sơ đồ thông điệp AS-REP - 2 252221 EEEEE2E211212121212121 11x ye 23

Hình 1.15: Sơ đồ thông điệp TGS-R.EQ -2- 5 522222EE2E1EEEEE121212121 2111 te 24

Hình 1.16: Sơ đồ thông điệp TGS-REP 22 2: 22222Et2EE2EE22EE2EE22122EE2E2E cv 25

Hình 1.17: Sơ đồ thông điệp AP-R.EQ 22- 2:52 22E22E222E22212212221 2212221 zxee 26

Hình 2.1: Sơ đồ kiểm tra điều kiện dé áp dụng bộ lọc Token «5+5 ++<s+s5+ 32

Hình 2.2: Lệnh klist đề lay ticket cho dịch vu RPC của máy tính cục bộ 33

Hình 2.3: Công cụ Rubeus dé trích xuất RPC ticket 2-2-5 5s2z+zzvzxzxczxccez 34

Hình 2.4: Công cụ Rubeus dé chuyền lại RPC ticket vào bộ nhớ đệm 35

Hình 2.5: Sử dụng công cụ SCMUACBypass dé leo thang đặc quyên - 38

XTrần Quốc Hoàn - BI9DCAT077

Trang 13

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Hình 2.6: Sơ đồ thực thi trong quá trình thực hiện ủy quyền bị rang buộc (dựa trên tài

0130/9000 5:.£ 39

Hình 3.1: Công cụ kiểm thử WAL/PE + + S2 St2E2EEEEEE12E121217121121121211 121 re 48

Hình 3.2: Sơ đồ hoạt động của CONG CỤ c2 3S 1112 111v TH vn key 50

Hình 3.3: Tải công cụ WALPE từ Github - S111 1 kg ng kh kết 51

Hình 3.4: Kịch ban đánh giá tu động (trong thử nghiỆm)) - ¿- -<+s++++sx++ss+2 52

Hình 3.5: Hướng dẫn băng tiếng việt của automateWALPE .cccccccccccsseseesesseseeseees 53

Hình 3.6: Kết qua thử nghiệm 1 - automateWALPE ccccccscsscsscessessesessessesessesesseees 54

Hình 3.7: Kết qua thử nghiệm 1 - RBCD c.cceccsscsscsssessessessessesssesesscsussesssesscsessssesseees 55

Hình 3.8: Kết qua thử nghiệm 1 - Tgtdeleg +- 2 2 2+E+EE2EEE£EEE2EzEeEEzErrrrees 55

Hình 3.9: Kết qua thử nghiệm 2 - automateWALPE ccccccssessesssessessesessesessessesesseees 56

Hình 3.10: Kết quả thử nghiệm 2 — RBCD 2- ¿©22+2E£EE+EE+EEtEE2EE2EE2EExrrrred 56

XI

Trần Quốc Hoàn - BI9DCAT077

Trang 14

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

LOI MỞ ĐẦU

Ngày nay, máy tính càng trở nên phô biến và trở thành một công cụ không thé

thiếu trong cuộc sông dé làm việc, học tập, giải tri, Tuy nhiên, sự phổ biến của máy

tính ngày nay cũng đặt ra nhiều mối lo ngại về an toàn thông tin An toàn thông tin là

việc bảo vệ các dữ liệu, thông tin cá nhân và tài sản trên máy tính khỏi những mối đe

doa từ bên ngoài Những mối de dọa phô biến trên máy tính có thé là phần mềm độc

hai, tin tặc hay đơn giản là những người tò mò về các dit liệu trên máy tính Thực tế đã

ghi nhận rất nhiều thiệt hại mà các mối đe doạ trên gây ra với những hậu quả nghiêm

trọng như mất dữ liệu, lộ lọt thông tin cá nhân, bị chiếm quyền kiểm soát máy tính

thậm chí là bị tan công hoặc đánh cắp tài sản

Một trong những hệ điều hành phổ biến nhất trên máy tính là Windows Hệđiều hành này cung cấp một giao diện đồ họa thân thiện và nhiều tính năng hỗ trợ

người dùng Windows cũng có hệ thống xác thực riêng để kiểm soát quyền truy cập

của người dùng vảo các tai nguyên của máy tính Xác thực là quá trình xác minh danh

tính của người dùng hoặc thiết bị dựa trên các thông tin như tên người dùng, mật khẩu,

mã PIN hay chứng chỉ số

Năm 1993, Microsoft giới thiệu Windows NT 3.1, bao gồm việc sử dụng mộtphương pháp xác thực an toàn hon được gọi là NTLM (NT LAN Manager) Phương

pháp này sử dụng kết hợp mật khâu của người dùng và khóa mã hóa duy nhất để xác

minh danh tính của họ Không lâu sau đó vào năm 1998, Microsoft giới thiệu NTLMv2

trong phiên bản Windows NT 4.0 Service Pack 4 NTLM là một cải tiến đáng ké so với

hệ thống mật khâu trước đó, nhưng nó vẫn có lỗ hồng và có thé đã được khai thác

thành công từ sớm nhưng đến tận năm 2016 khi một khai thác lỗ hồng trong giao thức

xác thực NTLM mang tên "HotPotato" được công khai[1] Phương thức tấn công này

cho phép leo thang đặc quyền cục bộ trong Windows Trong vài năm tiếp theo,

Microsoft tiếp tục có găng khắc phục sự cô nhưng mỗi lần tìm ra cách giải quyết thì lại

có một phương thức tấn công "Potato" khác xuất hiện: RottenPotato (2016),

1

Tran Quốc Hoàn - BI9DCAT077

Trang 15

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

LonelyPotato (2017), JuicyPotato (2018), GhostPotato(2019), SweetPotato (2020),

RoguePotato (2020), GenericPotato (2021), JuicyPotatoNG (2022), CertPotato (2022),

LocalPotato (2023).

Do đó NTLM không còn được khuyến khích sử dụng trong việc xác thựcWindows trong miền mà thay vào đó là Kerberos Giao thức xác thực Kerberos được

Microsoft giới thiệu vào năm 2000 cùng với phiên bản hệ điều hành Windows 2000

Kerberos là một giao thức xác thực mạng sử dụng mã hóa để xác minh danh tính của

người dùng và đảm bảo giao tiếp an toàn giữa các hệ thống Nó vẫn được sử dụng rộng

rãi trong các hệ điều hành Windows hiện đại và được coi là một trong những hình thức

xác thực an toàn tốt nhất Nhưng liệu Kerberos có thé bị lợi dụng để leo thang đặc

quyền tương tự như NTLM? Thực tế đã có khá nhiều phương pháp tan công vào các hệ

thống sử dụng xác thực bằng Kerberos: Pass The Ticket (PTT)[2], Golden Tieket[3],

Kerberoasting[4], ASREPRoast[5], và có cả những công cụ được công khai cho việc

tấn công leo thang đặc quyền thông qua Kerberos: KrbRelayUp[6],

KRBUACBypass[7], Tuy nhiên tới nay vẫn chưa có một tài liệu tiếng việt nào hay

công cụ chính thống nào phục vụ mục đích kiểm thử khả năng leo thang đặc quyền

thông qua Kerberos này, đặt ra bài toán lớn trong việc tai liệu hoá, đưa ra phương án

phòng chống và nhận diện thích hợp

Nhận thấy đây là một thách thức với ngành bảo mật nói chung cũng như một

kỹ sư an toàn thông tin nói riêng Là một sinh viên ngành an toàn thông tin, em thấy

mình cũng đã được học tập, nghiên cứu về hệ điều hành, mã độc và cách thức hoạt

động của chúng Em quyết định chọn đề tài "Công cụ kiểm thử leo thang đặc quyền

trên Windows thông qua các giao thức xác thực" mong muốn đóng góp một phần

nhỏ bé vào nên an toàn thông tin nước nhà

Trong phạm vi đồ án của mình, em xin trình bày một số thông tin cơ bản vềbảo mật trên hệ điều hành Windows, cơ chế kiểm soát tài khoản người dùng va các cơ

chế vượt qua thường gặp, từ đó phát triển xây dựng công cụ kiểm thử

2

Trần Quốc Hoàn - BI9DCAT077

Trang 16

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Theo đó, đồ án của em sẽ bao gồm 3 chương theo cấu trúc:

- Chương 1: Xác thực và kiểm soát đặc quyền trên Windows: Trình

bày sơ bộ về các phương thức xác thực trên Windows và các thông tin

mà Windows sử dụng để kiểm soát đặc quyền

- Chương 2: Phương pháp lợi dụng phương thức xác thực để leo

thang đặc quyền: Trình bày một số phương pháp được sử dụng trong

quá trình khai thác, từ đó phân tích, làm rõ, mở rộng và chỉ ra nhiều

mục tiêu tấn công khác chưa được khám phá, đưa ra các biện pháp

phòng chống, phát hiện thích hợp

- Chương 3: Công cụ kiểm thử leo thang đặc quyền lợi dụng phương

thức xác thực: Trình bày về quá trình xây dựng công cụ kiêm thử Bắt

đầu từ bước lên ý tưởng, phân tích yêu cầu, thiết kế, phát trién, cho tới

khi hoàn thành và thử nghiệm.

3

Trần Quốc Hoàn - BI9DCAT077

Trang 17

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

CHUONG 1 XÁC THUC VÀ KIEM SOÁT ĐẶC QUYEN TREN

WINDOWS

Xác thực và kiểm soát đặc quyền là một những thành phần của hệ thống Windows để quản lý các hành động của đối tượng trong hệ thống từ đó tăng cường bảo

mật và tính toàn vẹn của hệ thống Trong chương này, đồ án sẽ làm rõ:

- Cac thông tin mà hệ thống sử dung dé kiểm soát đặc quyền của đối tượng

trên hệ thống

- _ Cách thức hoạt động của các phương thức xác thực trên hệ thống

1.1 Kiểm soát đặc quyền trên Windows

1.1.1 Mã định danh bao mật

Để quản lý quyền truy cập và kiểm soát truy cập vào các tài nguyên trong hệ thống Windows các nhà phát triển đã sử dụng một chuỗi số nhận dạng duy nhất cho

mỗi đối tượng, nó được gọi là Mã định danh bảo mật (Security identifiers — SID) Đối

tượng được cấp SID không chỉ là người dùng mà còn là nhóm miền, nhóm cục bộ, máy

tính cục bộ, miền, thành viên miền và dịch vụ Đề phân biệt các đối tượng này SID là

một dãy số có cau trúc rõ ràng với các thành phần chính là:

- Một Revision: Số hiệu phiên ban SID

- Một Identifier Authority: Gia trị định danh tác gia dài 48 bit xác định tac

nhân đã cấp SID, tác nhân này thường là một hệ thống cục bộ Windowshoặc một miền

- Một vài Subauthorities: Là một chuỗi gồm một hay nhiều giá trị quyền

phụ sử dụng đề định danh miền với các đối tượng không phải là một dịch

vụ hệ thống Trong trường hợp là SID của dịch vụ thì đây là giá trị băm

SHA-1 của tên dich vụ được viết hoa.

- Nhiéu nhất là một Relative Identifier — RID: Xác định một tài khoản hoặc

nhóm cu thé có liên quan đến một miễn, nếu là một dịch vụ thì sẽ không

có giá trị nay.

4

Trần Quốc Hoàn - BI9DCAT077

Trang 18

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Vì SID có tập giá trị rất lớn và Windows quan tâm đến việc tạo các giá trị thực

sự ngẫu nhiên trong mỗi SID, nên hầu như Windows không thể phát hành cùng một

SID hai lần trên các máy hoặc miền ở bat kỳ đâu trên thế giới

Khi được hiển thị dưới dạng văn bản, mỗi SID mang một tiền tố S và các thànhphần khác nhau của nó được phân tách băng dau gach ngang nhu sau:

S-1-5-21-3407162097-421674631-3260644744-1103

“—————————

Cho biết giá trị định danh là miền hay là cục bộ

RID

Cho biết giá trị định danh tác giả là 5 (cơ quan bảo mật Windows)

Cho biết mức độ sửa đổi Cho biết chuỗi là SID

Hình 1.1: Các thông tin trong một SID thực tế

Windows cũng định nghĩa một số SID cục bộ và miền được tích hợp sẵn dé đại

diện cho các nhóm mặc định Bang 1.1, được sao chép từ tải liệu Windows App

Development[8] chứa một số SID hay gặp cùng với định nghĩa và cách sử dụng của

chúng Không giống như SID của người dùng, các SID này là các hằng số được xác

định trước và có cùng giá trị trên mọi miền và hệ thống Windows trên thế giới

> ThisPC > Local Disk (C:) » Windows » System32 >

^ Name Date modified Type Size Owner

[ MixedRealityRuntime.json 3/19/2019 11:46 AM JSON File 1KB_ Trustedlnstaller

|_| mlang.dat 3/ 19 11:44 AM DAT File 658 KB Trustedlnstaller

a mlang.dll (2019 11:44 AM Application exten 240KB Trustedlnstaller

= mmc.exe 3/19/2019 11:45 AM Application 1,760 KB Trustedlnstaller

a mmc.exe.config 19 11:49 AM CONFIG File 4KB SYSTEM

a mmcbase.dll 3/19/2019 11:45 AM Application exten 179KB Trustedlnstaller

a mmcndmar.dll /2019 11:45 AM Application exten 2,226 KB TrustedInstaller

|8 mmceshext.dll 19 11:45 AM Application exten 131KB Trustedlnstaller

E MMDevAPI.dll 3/19/2018 11:43 AM Application exten 466KB Trustedlnstaller [2] mmgaclient.dll /2018 11:44 AM Application exten 2,127 KB Trustedlnstaller

a mmgaproxystub.dll 3/19/2019 11:44 AM Application exten 152KB Trustedlnstaller

[=| mmgaserver.exe 3/19/2019 11:44 AM Application 1,517 KB TrustedInstaller

[) mmres.dil 3/19/2019 11:44 AM Application exten 4KB TrustedInstaller

Hình 1.2: Quan sát chu sở hữu cua các mô-ẩun trong thư mục system32

5

Trần Quốc Hoàn - BI9DCAT077

Trang 19

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyên trên Windows

SID Tên mô tả Định nghĩa & chức năng

Một nhóm không có thành viên Giá S-1-0-0 Nobody trị này thường được sử dụng khi

không biết giá tri SID.

Một nhóm bao gồm tat cả người dùng

S-1-1-0 Everyone

ngoại trừ Nobody.

Người dùng đăng nhập vào thiết bị

S-1-2-0 Local đầu cuối được kết nối cục bộ (vật lý)

với hệ thống

; Người dùng uy quyền của hệ điều S-1-5-18 NT Authority\SYSTEM

hanh.

Một nhóm có sẵn Thanh viên duy

nhất của nhóm sau khi cai đặt mới

Windows là tài khoản Administrator.

S-1-5-32-544 | BUILTIN\Administrators

Các tai khoản trong nhóm quan tri

viên của miền cũng nằm trong nhóm

1831038044- mô-đun quan trọng trên hệ điêu hành

1853292631- Windows Hình 1.2 thể hiện điều nay.

2271478464

S-1-5-82- IIS APPPOOLADefaultAppPool | Người dùng mặc định của một

3006700770- Application Pool trên IIS7 hoặc cao

424185619- or ¬ A 4:

hon Application Pool là một dịch vu

1745488364- ; a „ ;

794895919- cua IIS dé cô lập các website hoặc

4004696415 ứng dung web với nhau, giúp giảm

6

Trần Quốc Hoàn - BI9DCAT077

Trang 20

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

rủi ro và tăng hiệu suât.

Bảng 1.1: Một số SID Thường gặpMỗi khi người dùng đăng nhập vào hệ thống, Winlogon tạo một SID đăng nhập

(logon SID) duy nhất cho mỗi phiên đăng nhập tương tác (Interactive logon) Giá trị

SID này sẽ được sử dụng xuyên suốt trong quá trình xác định danh tính và cấp quyền

của phiên đăng nhập đó SID cho một phiên đăng nhập có dạng S-1-5-5-X-Y, trong đó

X và Y được tạo ngẫu nhiên

W explorer.exe:4260 Properties — oO <

Image Performance Performance Graph DistandNetwork GPUGranh Threads TCP/IP Security Environment Strings

F User PRONIKNOVENIYE \pentester

Mandatory LabelxMedium Mandatory Level Integrity

NT AUTHORITY Authenticated Users Mandatory

NT AUTHORITY SLi |_| } Mandatory

NT AUTHORITY This Organization Mandatory PRONIKNOVENIYE\Domain Users Mandatory S-1-5-21-3407162097-421674631-3260644744-526 Mandatory S-1-5-21-3407162097-421674631-3260644744-527 Mandatory

Lœ |] œeHình 1.3: Quan sát SID đăng nhập thông qua Process Explorer

1.1.2 Thẻ truy cập

7

Trần Quốc Hoàn - BI9DCAT077

Trang 21

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Để mô tả phạm vi bảo mật của một tiến trình hoặc luồng trong hệ thốngWindows các nhà phát triển đã sử dụng một đối tượng gọi là thẻ truy cập (Access

Token) Trong AccessToken chứa các thông tin liên quan đến danh tính và đặc quyền

của tài khoản người dùng được liên kết với tiến trình hoặc luồng Khi người dùng đăng

nhập thành công thì thẻ truy cập này được tạo, chỉ tiết quá trình đăng nhập và tạo thẻ

truy cập được nói trong phần 1.2.1.1 của đồ án Mọi tiến trình được khởi chạy bởi

người dùng đều có một bản sao của thẻ truy cập này Các thẻ truy cập có kích thước

khác nhau vì các tài khoản người dùng khác nhau có các bộ đặc quyền và tài khoản

nhóm được liên kết khác nhau Tuy nhiên, tất cả các thẻ truy cập đều chứa các loại

thông tin giống nhau nhất định Nội dung quan trọng nhất của thẻ truy cập được trình

bày trong hình bên dưới.

Primary Group

Default Discretionary ñccess

Control List (DACLI

Source

Type

Impersonation Level

Statistics Restricting SID 1

Restricting SID n

TS Session ID Session Reference SandBox Inert

Trang 22

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Hệ thống sử dụng thẻ truy cập dé xác định người dùng khi một luồng tương tácvới một đối tượng bảo mật hoặc cố gang thực hiện một tác vu hệ thống yêu cầu đặc

quyền Thẻ truy cập chứa tối thiểu các thông tin sau:

9

SID của tài khoản người dùng.

Danh sách SID của các nhóm mà người dùng này thuộc về

Một logon SID xác định phiên đăng nhập hiện tại.

Danh sách các đặc quyền do người dùng hoặc các nhóm của người dùngnăm giữ

SID của chủ sở hữu.

SID của nhóm chính.

DACL mặc định mà hệ thống sử dụng khi người dùng tạo một đối tượngbảo mật mà không chỉ định bộ mô tả bảo mật cụ thê

Nguồn gốc của token

Thông tin xác định token là mạo danh hay token chính.

Một danh sách tùy chọn các SID hạn chế

Mức độ mạo danh (nếu có).

Trần Quốc Hoàn - BI9DCAT077

Trang 23

Đồ án tốt nghiệp

8 =plorer.ere:4260 - User PRONIKNOVENIYE\pentester - Tokenlrl 00000000-00057850 — h x

Main Details Groups Privileges Default Dacl Misc Operations Token Source Security

Set Integrity Level

Hình 1.5: Doc Access Token từ một tiễn trình bằng công cụ TokenViewer

Vì thẻ truy cập là đối tượng nằm trong bộ nhớ nhân của hệ điều hành, do đó cáctrường trong thẻ truy cập là bất biến dé đảm an toàn cho hệ thống Ngoại trừ các trường

được phép sửa đôi thông qua Windows API AdjustTokenPrivileges, dữ liệu như đặc

quyền va SID trong thẻ truy cập không bao giờ có thể được sửa đổi từ chế độ người

Trang 24

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

El walpe_env _ oO x

Microsoft Windows [Version 10.0.18362.30] ^

(c) 2019 Microsoft Corporation All rights reserved.

C:\Users\pentester\Desktop\share>whoami /user /priv

USER INFORMATION

proniknoveniye\pentester S-1-5-21-3407162097-421674631-3260644744-1103

PRIVILEGES INFORMATION

Privilege Name Description State

SeShutdownPrivilege Shut down the system Disabled

SeChangeNotifyPrivilege Bypass traverse checking Enabled

SeUndockPrivilege Remove computer from docking station Disabled

SeIncreaseWorkingSetPrivilege Increase a process working set Disabled

SeTimeZonePrivilege Change the time zone Disabled

Hình 1.6: Liệt kê đặc quyên thông qua câu lệnh whoami

Đặc quyền (Privileges) là những quyền hạn đặc biệt mà một tài khoản hoặc một

nhóm tài khoản có thé sử dụng đề thực hiện các thao tác nhạy cảm trên hệ thống, như

cài đặt phần mềm, thay đổi cấu hình, tạo hoặc xóa tài khoản khác Windows cung cấp

nhiều loại đặc quyền khác nhau, tùy thuộc vào vai trò và mục đích của tài khoản Đặc

quyền khác với quyền truy cập ở hai điểm chính:

- Quyén truy cập kiểm soát việc truy cập vào các đối tượng, trong khi đặc

quyên lại kiểm soát quyền truy cập vào tài nguyên hệ thống và các tác vụliên quan đến hệ thống

- Quản trị viên của hệ thống chỉ định đặc quyền cho tài khoản và nhóm,

trong khi hệ thống cấp hoặc từ chối quyền truy cập vào đối tượng dựa

trên mức độ toàn vẹn và quyền truy cập được cấp trong DACL của đối

Trang 25

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

một thẻ truy cập (access token) chứa danh sách các đặc quyền của người dùng, bao

gồm những đặc quyền được cấp cho người dùng hoặc cho các nhóm mà người dùng

thuộc về Lưu ý rằng các đặc quyền chỉ áp dụng cho máy tính cục bộ; tài khoản miền

có thê có các đặc quyền khác nhau trên các máy tính khác nhau

Khi người dùng cé gang thực hiện một thao tác đặc quyên, hệ thống sẽ kiểm trathẻ truy cập của người dùng để xác định xem người dùng có các đặc quyền cần thiết

hay không, nếu có hệ thống sẽ kiểm tra xem các đặc quyền đó có được bật hay không

Nếu người dùng không đạt các điều kiện này, hệ thống sẽ không thực hiện thao tác đặc

quyền nay

Đặc quyền Mô tả

Cho phép thực hiện yêu cầu hệ điều hành tắt

SeShutdownpPrivilege

máy hoặc khởi động lại

Cho phép một tiến trình nhận được thông báo về

SeChangeNotifyPrivilege các thay đôi trong hệ thống tập tin hoặc hệ

lượng bộ nhớ được câp phát cho nó

Cho phép một tiến trình thay đôi múi giờ hệSeTimeZonePrivilege ,

thông

Bảng 1.2: Một số đặc quyền mặc định được cấp trên Windows

Ngoài ra còn có một số đặc quyền quan trọng, có sự ảnh hưởng lớn với hệthống:

- Gỡ lỗi chương trình (SeDebugPrivilege): Day là đặc quyền bảo mật

được cấp cho các tiến trình cho phép chúng truy cập vào các tiến trìnhkhác dé thực hiện các hoạt động như đọc và ghi bộ nhớ, thay đôi các

12

Trần Quốc Hoàn - BI9DCAT077

Trang 26

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

thông số, hoặc tạm dừng và tiếp tục thực thi Đặc quyền này thường được

sử dụng bởi các công cụ gỡ lỗi, nhưng cũng có thé bị lợi dụng bởi các

phần mềm độc hại để ân, leo thang đặc quyền Đặc quyềnSeDebugPrivilege chỉ nên được cấp cho các tài khoản đáng tin cậy và cónhu cầu thiết yêu dé sử dụng nó

- Tao một đối tượng thẻ truy cập (SeCreateTokenPrivilege): Đặc quyền

cho phép một tiến trình tạo ra một thẻ truy cập mới với các thuộc tính vaquyền riêng của nó Đặc quyền này thường được sử dụng bởi các tiện ích

hệ thống hoặc các ứng dụng có nhu cau điều khiển các tiến trình khác

Tuy nhiên, đặc quyền này cũng có thê bị lợi dụng bởi các phần mềm độchai dé thực hiện các hoạt động xâm nhập hoặc đánh cắp dữ liệu Do đó,việc quản lý và giám sát đặc quyền này là rat cần thiết dé bảo vệ hệ thốngkhỏi các mối đe dọa

- Tai và gỡ trình điều khiến thiết bị (SeLoadDriverPrivilege): Đặc quyền

cho phép người dùng hoặc tiến trình nạp va gỡ bỏ trình điều khiến thiết

bị vào hệ thống Đây là một đặc quyền rất nhạy cảm, vì nó có thé được sử dụng dé thực thi mã độc hoặc thay đôi chức năng của hệ thống Đặc

quyền này chỉ nên được cấp cho những người dùng hoặc tiến trình có nhu cầu chính đáng và được tin tưởng Nếu đặc quyền này bị lạm dụng, nó có

thé gây ra hậu quả nghiêm trọng cho an ninh và 6n định của hệ thống

- Khôi phục tệp và thư mục (SeRestorePrivilege): Đặc quyền cho phép

người dùng khôi phục các tập tin và thư mục từ các bản sao lưu Đặc

quyền này cũng cho phép người dùng ghi đè lên các thuộc tính bảo mật của các đối tượng, như chủ sở hữu, quyên truy cập, và kiểm soát truy cập.

Đặc quyền này chỉ nên được cấp cho những người dùng đáng tin cậy, vì

nó có thé được sử dụng dé thay đổi hoặc xóa các tập tin và thư mục quan

trọng của hệ thống

13

Trần Quốc Hoàn - BI9DCAT077

Trang 27

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

- Lấy quyền sở hữu (SeTakeOwnershipPrivilege): Đặc quyền cho phép

người dùng hoặc tiến trình thay đổi chủ sở hữu của bat kỳ đối tượng nào

trong hệ thống, bao gồm cả các tệp, thư mục, registry key, thiết bị và các

đối tượng khác Đặc quyền nay được sử dung dé khôi phục quyền truy

cập vào các đối tượng bị từ chối hoặc bị hạn chế Đặc quyền này cũng có

thé được sử dụng để thực hiện các hành động xấu như xóa, sửa đôi hoặcsao chép các đối tượng nhạy cảm mà không cần phải tuân theo các quytắc bảo mật Đặc quyền này nên được gán cho những người dùng hoặctiến trình đủ tin tưởng và có nhu cầu chính đáng dé thay đôi chủ sở hữucủa các đối tượng

- Dac quyền chuyển đổi (SeTcbPrivilege): Đặc quyền cho phép một tiến

trình hoặc một tài khoản người dùng thay đổi thông tin đăng nhập của bat

kỳ tài khoản nào khác Đặc quyền này gọi là "đặc quyền chuyên đổi" vì

nó cho phép một tiến trình hoặc một tài khoản người dùng chuyền đổithành bất kỳ tài khoản nào khác mà không cần xác thực Đặc quyền nàychỉ được cấp cho các tài khoản hệ thống và các tiến trình hệ thống, vàkhông nên được cấp cho bất kỳ tài khoản người dùng nào khác, vì nó có

thé gây ra các rủi ro bảo mật nghiêm trọng Nếu một kẻ tan công có thé

chiếm quyền kiểm soát một tiến trình hoặc một tài khoản người dùng cóđặc quyền SeTcbPrivilege, họ có thé sử dụng nó dé dang nhap vao héthống với các quyền cao nhất, và thực hiện các hành động độc hai như

xóa đữ liệu, cài đặt phần mềm độc hại, hoặc chiếm quyền kiểm soát toàn

bộ hệ thống

14

Trần Quốc Hoàn - BI9DCAT077

Trang 28

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

1.2 Các phương thức xác thực trên Windows

Xác thực là một quá trình để xác minh danh tính của một đối tượng, dịch vụ

hoặc người Khi thực hiện xác thực một đối tượng mục tiêu là xác minh rằng đối tượng

đó là thật Khi thực hiện xác thực một dịch vụ hoặc người mục tiêu là xác minh rằng

thông tin đăng nhập được cung cấp là chính xác Trong phan này, đồ án sẽ trình bày về

hai phương thức xác thực trên Windows là NTLM và Kerberos.

1.2.1 NTLM

NTLM là một tập hop các giao thức xác thực được tạo bởi Microsoft Ban đầuđây là một giao thức độc quyền của Microsoft, nhưng sau đó hãng đã công bố công

khai dé sử dụng trên các hệ thống không phải Windows Trình quản lý mạng LAN NT

(NTLM - New Technology LAN Manager) cho phép các máy tính và máy chủ khác

nhau tiến hành xác thực lẫn nhau Hầu hết các mạng sẽ từ chối những người dùng truy

cập trái phép và yêu cầu thực hiện quy trình xác thực

Hình 1.7: Mô hình hoạt động cơ bản của NTLM

Giao thức NTLM xác thực máy tính khi truy cập một tài nguyên trên mạng bằngcách yêu cầu cung cấp tên người dùng và mật khâu tương ứng Do đó máy chủ và máy

khách phải được mở kết nối với nhau qua mạng Khi thông tin đăng nhập của người

15

Trần Quốc Hoàn - BI9DCAT077

Trang 29

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

dùng đã được xác thực, máy chủ sau đó thực hiện kiểm tra quyền truy cập và cho phép

người dùng truy cập.

16

Tran Quốc Hoan - BI9DCATO077

Trang 30

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

1.2.1.1 Mô hình hoạt động

a NTLM trong qua trình đăng nhập

Người dùng nhập thông tin

LSA kiểm tra người dùng

SA sử dụng dịch vụ Netlogon kiểm tra SAM trong miền S Xác thực

WinLogon khởi chạy, người dùng truy cập thành công

Hình 1.8: Mô hình hoạt động của NTLM trong quá trình đăng nhập

17

Trần Quốc Hoàn - BI9DCAT077

Trang 31

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Trên Windows người dùng có thể đăng nhập vào máy tình bằng tài khoản cục

bộ hoặc tài khoản miền (nếu máy tinh này có trong miền), cả hai loại tài khoản này đều

phải thực hiện xác thực Với phương thức NTLM, các bước xác thực người dùng thực

hiện như trong hình phía trên:

- Sau khi gửi thông tin đăng nhập của từ trang đăng nhập, Winlogon sử

dụng GINA để gửi thông tin đăng nhập này đến LSA (Local SecurityAuthority) dé xử lý

+ GINA là một mô-đun DLL bảo mật của Winlogon Winlogon thực

hiện gọi GINA trong quá trình khởi động hệ thống Đường dẫn

mặc định của GINA là %windir%\System32\Msgina.dll (dll này đã

được loại bỏ từ phiên bản Windows Vista và được tích hợp vàoWinlogon), nó có thé được thay thé dé hỗ trợ các phương thức xácthực tuỳ chỉnh khác.

- LSA sử dụng cơ sở dữ liệu SAM (System Account Manager) trên máy

tính cục bộ nếu tài khoản và đối tượng được xác định là máy tính cục bộ

Nếu trong trường hợp là một người dùng của miền Active Directory lúcnày LSA sử dụng dịch vụ netlogon để truy vấn tên miền SAM trên DC(Domain Controller).

+ LSA (%windir%\System32\Isass.exe) là một hệ thống con bảo vệ

bảo mật, nó giúp tạo ra các tương tác an toản cho người dùng trong Windows

+ SAM là hệ thống lưu trữ thông tin về tài khoản người dùng cục bộ

trong bảng đăng ký Windows (Windows Registry) Mật khâutrong SAM được mã hóa bằng gói xác thực NTLM Kết quả của

mã hóa là một mật khẩu đã băm chuyên thành ban mã

- Khi thông tin đăng nhập được xác định là chính xác, và sau đó SAM gửi

thông báo chấp nhận đến LSA có chứa tài khoản người dùng SID và

18

Trần Quốc Hoàn - BI9DCAT077

Trang 32

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

SIDs của tất cả các nhóm được liên kết với tài khoản đó Sử dụng thông

tin này LSA thực hiện tạo thẻ truy cập cho tài khoản.

- Winlogon sau đó khởi động giao diện (ngoại trừ trường hợp tai khoản

được tạo bằng cách sử dung RunAs dé chạy trong tài khoản) người dùng

và đính thẻ truy cập vào tất cả các quy trình hiện tại

b NTLM trong truy cập tài nguyên dùng chun

NTLM sử dụng giao thức trả lời thử thách (challenge-response) đề kiểm tra tínhxác thực của người dùng trong mạng Dé làm như vậy, máy khách và máy chủ trải qua

các bước xác thực như sau:

1 Yêu cầu truy cập tài nguyên

2 Thử thách NTLM

CI

3 Trả lời thử thách NTML Thiết bị Máy chủ

( Điều khiển Miền

Hình 1.9: Mô hình xác thực NTLM trong truy cập tài nguyên dùng chung

(máy chu chia sẻ file SMB)

(1) Người dùng thực hiện truy cập tài nguyên được chia sẻ bằng thông tin đăng

nhập Khi bam đăng nhập tên người dùng được gửi đến máy chủ (trong vi

dụ nay là máy chủ SMB)

19

Trần Quốc Hoàn - BI9DCAT077

Trang 33

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

(2) Máy chủ tạo ra một số ngẫu nhiên 16 bit được gọi là thử thách (Challenge)

và gửi lại cho máy người dùng.

(3) Máy người dùng gửi câu trả lời cho thử thách (Response) là tài khoản và

mật khâu được mã hóa trở lại máy chủ

(4) Máy chủ gửi tên người dùng, thử thách và câu trả lời thử thách từ máy

khách đến máy chủ điều khiển miền - máy chủ DC (Domain controller)

(5) Máy chủ DC so sánh thách thức và phản hồi dé xác thực người dùng Nếu

trùng khớp, bộ điều khiển miền sẽ gửi xác nhận máy chủ rằng người dùng

đã được xác thực(6) Nếu thông tin đăng nhập hợp lệ, máy chủ cấp cho khách hàng quyền truy

cập vào dịch vụ hoặc tài nguyên được yêu cầu; Nếu không thì máy chủ từchối yêu cầu truy cập

1.2.1.2 Ưu nhược điểm

Một ưu điểm là xác thực thông qua NTLM không yêu cầu người dùng gửi mật

khẩu không được bảo vệ qua mạng Việc gửi mật khẩu từ máy khách đến máy chủ chỉ

được thực hiện dưới dạng các giá trị băm.

SC = 8-byte server challenge, random

CC = 8-byte client challenge, random

cc* = (X, time, CC2, domain name) v2-Hash = HMAC-MD5(NT-Hash, user name, domain name) LMv2 = HMAC-MD5(v2-Hash, SC, CC)

Trang 34

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

Tuy nhiên, các giá trị băm có nhược điểm là tương đương với mật khẩu Nếu

việc truyền tải bị chặn (tấn công MITM) thì việc thực hiện tấn công để lay duoc mat

khẩu với giá trị băm là không quá khó khăn nếu như mật khâu không đủ mạnh Hon

nữa mật khẩu trong NTLM được mã hoá khá đơn giản, với phiên bản NTLMVvI là hàm

băm MD4 kết hợp với mã hoá DES sử dụng key là thử thách từ server, với phiên bản

NTLMv2 là kết hợp của hàm băm mật khẩu với MD4 và HMAC-MDS kết hợp với giá

trị thử thách của server.

Một nhược điểm nữa là NTLM không bao gồm xác thực đa yêu tổ (MFA) Nênthực hiện một số cơ chế bảo mật, đặc biệt là khi chia sẻ dữ liệu nhạy cảm Giao thức trả

lời thử thách trong NTLM chỉ cho phép một phương thức xác thực duy nhất: đó là sử

dụng tên người dùng và mật khẩu

1.2.2 Kerberos

Kerberos là một giao thức xác thực, không phải cấp quyền Nói cách khác, nó

cho phép định danh người dùng khi người dùng nhập thông tin thực hiện xác thực,

nhưng nó không phê duyệt tài nguyên hoặc dịch vụ nào mà người dùng này có thê truy

cập Kerberos được sử dụng trong AD (Active Directory), trong nền tảng này Kerberos

cung cấp thông tin về các đặc quyền của mỗi người dùng, nhưng trách nhiệm của mỗi

dịch vụ là xác định xem người dùng có quyền truy cập vào tài nguyên của mình hay

không.

1.2.2.1 Mô hình hoạt động

Một số tác nhân trong giao thức xác thực Kerberos là:

- Máy tính hoặc tài khoản người dùng muốn truy cập vào dich vụ

- May chủ ứng dụng (Application Server - AP) cung cấp dịch vụ mà người

dùng yêu cau

- Trung tâm phân phối khóa (Key Distribution Center - KDC), dịch vụ

chính của Kerberos, chịu trách nhiệm phát hành vé (Ticket), được cài đặt

trên máy chủ DC (Domain Controller) Nó được hỗ trợ bởi dịch vụ xác

thực (Authentication Service - AS), đây là nơi phát hành TGT.

21

Tran Quốc Hoan - BI9DCAT077

Trang 35

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyên trên Windows

- Vé là các thành phần chính được xử lý trong Kerberos Các vé sẽ được

giao cho người dùng dé người dùng thực hiện các thao tác trên hệ thông

Kerberos Vé sẽ có hai loại:

+ Vé cấp phép dich vụ (Ticket Granting Service - TGS) là vé mà

người dùng có thể sử dụng để xác thực đối với một dịch vụ Nó

được mã hóa băng khóa của dịch vụ.

+ Vé cấp phép vé (Ticket Granting Ticket - TGT) là vé xuất trình

cho KDC dé yêu cầu TGS Nó được mã hóa bang khóa của KDC.

- Hau hét trong các vé đêu có câu trúc chứng chỉ thuộc tính đặc quyên

(Privilege Attribute Certificate - PAC), nhưng người dùng cũng có thể

thiết lập dé không dua PAC vào trong vé bang cách chỉ định

KERB-PA-PAC-REQUEST trong yêu cầu tạo vé Chứng chỉ này chứa các quyềncủa người dùng và được ký với khoá của KDC, nhưng trong quá trình cácdịch vụ xác minh PAC với KDC thì các quyền của người dùng lại khôngđược kiểm tra mà chỉ kiểm tra chữ ký của chứng chỉ này

- _ Trong các vé nói riêng hay trong Kerberos nói chung hầu hết thành phan

chứa thông tin quan trong đều được ký hoặc mã hoá để tránh bị giả mạo

Các khoá dé mã hoá/ký số trong kerberos là:

+

+

22

KJ KJ

KJ

KJ

hóa KDC hoặc krbtgt là gia tri bam NTLM cua tài khoản krbtgt.

hóa người dung là giá tri băm NTLM của tai khoản của người

dùng.

hóa dịch vụ là giá trị băm NTLM của tài khoản sở hữu dịch vụ,

có thể là tài khoản người dùng hoặc máy tính.

hóa phiên được thoả thuận giữa người dùng và KDC.

Trần Quốc Hoàn - BI9DCAT077

Trang 36

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

KDC (DC)

_VERIFY_PAC - itt of @ - asuodsa, Ajuan Dvd [4] [ [6] KERB

>me)

Hình 1.11: Mô hình tong quan về giao thức xác thực kerberos

Kerberos sử dụng các loại thông điệp trong quá trình xác thực khác nhau, cụ thể:

- KRB_AS REQ: Yêu cầu KDC gửi TGT

- KRB_ AS REP: KDC cung cấp TGT

- KRB TGS REQ: Sử dung TGT để yêu cầu KDC gửi TGS

- KRB_TGS REP: KDC cung cap TGS

- KRB AP REQ: Người dùng sử dung TGS để xác thực với dich vụ

- KRB AP REP: (Tùy chọn) Dịch vụ sử dụng để định danh đối với người

Trang 37

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

1.2.2.2 Quy trình xác thực

a Yêu câu và phản hôi dịch vụ xác thực

AS-REQ là một thông điệp được gửi đến dịch vụ xác thực (AS) của KDC Tất

cả những gi AS làm là trao đổi thông tin đăng nhập lấy vé Thông tin đăng nhập thường

là mật khâu Nhưng trong AS-REQ chúng ta không thay thông tin mật khẩu Đó là vi

thoả thuận khoá - không tiết lộ khoá

- Dau thời gian được mã hóa với khóa người dùng, dé xác thực người dùng

và ngăn chặn các cuộc tan công phát lai (relay)

- Tén người dùng của người dùng thực hiện xác thực

- Dich vụ SPN (Service Principal Name) liên kết với tài khoản krbtgt

- Mét Nonce được tạo bởi người dùng

24

Trần Quốc Hoàn - BI9DCAT077

Trang 38

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

User nonce

Hình 1.13: Sơ đô thông điệp AS-REO

Lưu ý: dau thời gian được mã hóa chỉ cần thiết nếu người dùng yêu cầu xác thựctrước, nhưng trong các xác thực thông thường thì luôn là như vậy trừ khi cờ

DONT REQ PREAUTH (tài khoản không yêu cầu xác thực kerberos trước khi đăng

nhập) được thiết lập trong tài khoản người dùng

Sau khi nhận được yêu cầu, KDC xác minh danh tính người dùng bằng cách sử

dụng mật khẩu đã biết của người dùng dé giải mã dấu thời gian Với một thông điệp

AS-REQ chính xác, thì KDC sẽ phản hồi bằng một thông điệp KRB_AS_REP:

Trang 39

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

+ Khóa phiên

+ Ngày hết hạn của TGT

+ PAC với đặc quyền người dùng, được ký bởi KDC

- Một khối dé liệu người dùng được mã hóa bằng khóa người dùng, bao

Khối dữ liệu người dùng được mã hoá bằng khoá người dùng để cho thấy rằng

phía phản hồi lại yêu cầu là KDC vì chỉ KDC biết mật khẩu của người dùng và chỉ có

đúng máy người dùng nhận được thì mới giải mã được khối dữ liệu này, điều này ngăn

chặn việc tấn công MITM.

b Yêu cầu và phản hoi dịch vụ cấp vẻ

TGS-REQ giống với AS-REQ về mặt cấu trúc thông điệp Sự khác biệt là dữliệu trước khi xác thực, đó là vé được mã hóa Đối với AS thì vé này là thông tin mật

khẩu còn với TGS là tên của dich vụ được yêu cầu và TGT[9] Cụ thé các thành phan

của TGS-REQ như sau:

26

Trần Quốc Hoàn - BI9DCAT077

Trang 40

Đồ án tốt nghiệp Xác thực và kiêm soát đặc quyền trên Windows

- Di liệu được mã hóa bằng khóa phiên:

+ Tên tài khoản

+ Dấu thời gian

- TGT

- SPN của dịch vụ được yêu cầu

- M6t Nonce được tạo bởi người dùngTGS nhận được thông điệp TGS-REQ thì tra preauth-data và trích xuất TGT từ

đó TGT được mã hóa băng khóa krbtgt (mật khẩu của tài khoản này) dé ngăn chặn tan

công MITM vì chỉ có KDC biết khoá này nên khi gửi AS-REP và nhận TGS-REQ phải

là cùng một giá trị đều có thể giải mã bằng khoá này

KDC tạo một phản hồi và thay vì mã hóa dữ liệu người dùng cho mật khâu của

người dùng nó mã hóa bằng khóa phiên.

27

Trần Quốc Hoàn - BI9DCAT077

Ngày đăng: 08/03/2024, 13:51

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w