Group Policy
Last updated
Last updated
Group policy có thể biểu diễn các thiết lập chính sách cục bộ trong hệ thốn tệp hoặc trong Active Directory Domain Services. Trong AD, Group Policy settings được chứa trong Group Policy Object (GPO). GPO là một tập hợp ảo các thiết lập chính sách, quyền bảo mật và phạm vi quản lý (SOM) mà bạn có thể áp dụng cho người dùng và máy tính trong AD. Mỗi GPO có một tên duy nhất, chẳng hạn như GUID. Clients áp dụng GPO settings theo tính chất phân cấp của AD (thừa kế).
Policy settings được chia thành policy settings ảnh hưởng đến máy tính (hành vi hệ thống, thiết lập ứng dụng, thiết lập bảo mật, ứng dụng được chỉ định và tập lệnh khởi động và tắt máy tính) và policy setting ảnh hưởng đến người dùng (hành vi hệ thống, thiết lập ứng dụng, thiết lập bảo mật, ứng dụng được chỉ định và công bố, tập lệnh đăng nhập và đăng xuất của người dùng và chuyển hướng thư mục). Thiết lập máy tính ghi đè lên thiết lập liên quan đến người dùng.
Để tạo Group Policy, admin có thể sử dụng Local Group Policy Editor (gpedit.msc
) - công cụ độc lập và các cài đặt được lưu trữ cục bộ. Local Group Policy Editor cho phép liên kết GPO với sites, domains, và organizational units (OUs) mà Active Directory đã chọn. Việc liên kết áp dụng các policy settings trong GPO cho người dùng và máy tính trong các đối tượng AD đó. GPO được lưu trữ trong cả Active Directory và trong thư mục SYSVOL trên mỗi DC
–Các đối tượng này nằm ở Console và được quản trị viên sử dụng để tạo, sửa đổi và liên kết Group Policy với Organizational Units (OU) cụ thể.
Group Policy Templates (GPT)- Các tệp XML nằm trong SYSVOL, chứa các tùy chọn khác nhau cho group policy objects cũng như các GPO đã sữa đổi
Client-side Extensions (CSE)- Group policy “pull paradigm” trong đó client tiếp cận DC và kéo GPO áp dụng cho chúng. CSEs là Dynamic Link Libraries (DLL) triển khai các thay đổi cục bộ cụ thể dựa trên GPO được áp dụng.
Đổi với máy tính, Group Policy áp dụng khi máy tính khởi động.
Với người dùng, Group Policy áp dụng khi đăng nhập.
GPO cục bộ được áp dụng đầu tiên.
Sau đó, các GPO liên kết với các site, domain, và organizational units (OU) được áp dụng theo thứ tự.
Đối với các OU lồng nhau, GPO của OU cha được áp dụng trước khi GPO của OU con được áp dụng.
Group Policy bắt đầu từ container Active Directory cha cao nhất. Container gần nhất với máy tính hoặc người dùng sẽ ghi đè group policy đặt ở container Active Directory cao hơn.
Tính năng thừa kế có thể bị bỏ qua nếu tùy chọn enforced được đặt cho liên kết GPO đó hoặc nếu thiết lập block inheritance được áp dụng.
Chế Độ Đồng Bộ: Máy tính không hoàn tất quá trình khởi động cho đến khi chính sách nhóm được áp dụng xong. Quá trình đăng nhập của người dùng cũng không hoàn tất cho đến khi chính sách người dùng được áp dụng thành công.
Chế Độ Không Đồng Bộ: Nếu không có thay đổi chính sách yêu cầu áp dụng ngay lập tức, máy tính có thể hoàn tất quá trình khởi động trước khi chính sách máy tính được áp dụng xong. Người dùng có thể truy cập vào màn hình chính trước khi chính sách người dùng được áp dụng. Sau đó, hệ thống sẽ làm mới (cập nhật) chính sách nhóm định kỳ trong nền.
Enforced GPOs: Đảm bảo rằng các thiết lập chính sách cấp cao luôn được áp dụng bằng cách ngăn chặn GPOs ở các container Active Directory thấp hơn ghi đè chúng. Nếu nhiều GPO có tùy chọn enforced, GPO nào có mức độ ưu tiên cao hơn sẽ được áp dụng trước.
Block Inheritance: Dùng để ngăn chặn việc thừa kế chính sách từ các cấp cha mẹ như local, site, domain, và các OU cao hơn. Tùy chọn này dừng ảnh hưởng của các chính sách từ các container cha mẹ đối với các máy tính hoặc người dùng trong OU. Tuy nhiên, nó không thể ngăn chặn các thiết lập trong GPO có enforced. Enforced có mức độ ưu tiên cao hơn Block Inheritance.
Các cách khác để vô hiệu hóa chính sách trên GPO:
Vô hiệu hóa toàn bộ GPO.
Vô hiệu hóa các thiết lập liên quan đến máy tính.
Vô hiệu hóa các thiết lập liên quan đến người dùng.
Vô hiệu hóa tất cả các thiết lập trong GPO.
Security filtering: Quy định những người dùng hoặc máy tính nào sẽ nhận và áp dụng các thiết lập chính sách trong GPO. Không thể áp dụng chọn lọc cho các thiết lập khác nhau trong một GPO.
VMI filtering: Sử dụng câu lệnh WMI để lọc việc áp dụng chính sách nhóm dựa trên điều kiện cụ thể. Mỗi GPO có thể được liên kết với một bộ lọc WMI; tuy nhiên, cùng một bộ lọc WMI có thể được liên kết với nhiều GPO. GPO chỉ được áp dụng nếu điều kiện của truy vấn WMI là đúng.
Chế độ xử lý vòng lặp áp dụng các thiết lập cấu hình người dùng của Group Policy Objects (GPO) được gán cho máy tính, bất kể ai đăng nhập. Chế độ này hữu ích trong các môi trường được quản lý chặt chẽ, như lớp học, ki-ốt công cộng, và khu vực tiếp tân. Chế độ xử lý vòng lặp cho phép bạn cấu hình các thiết lập người dùng dựa trên máy tính họ sử dụng.
Các tuỳ chọn trong chế độ xử lý vòng lặp:
Chế độ Hợp Nhất (Merge Mode):
Thu thập danh sách các GPO cho người dùng trong quá trình đăng nhập, sau đó thu thập danh sách GPO cho máy tính. Danh sách GPO của máy tính sẽ được thêm vào cuối danh sách GPO của người dùng, do đó, các GPO của máy tính có quyền ưu tiên cao hơn. Nếu có xung đột thiết lập chính sách, các thiết lập trong GPO của máy tính sẽ được áp dụng thay vì thiết lập chính sách bình thường của người dùng.
Chế độ Thay Thế (Replace Mode):
Chỉ sử dụng danh sách GPO dựa trên đối tượng máy tính, không thu thập danh sách GPO cho người dùng. Các thiết lập cấu hình người dùng từ danh sách này sẽ được áp dụng cho người dùng.
Cấu hình chế độ xử lý vòng lặp:
Sử dụng Group Policy Management Console để chỉnh sửa GPO và kích hoạt thiết lập "Configure user Group Policy loopback processing mode" dưới "Computer Configuration\Policies\Administrative Templates\System\Group Policy". Khi kích hoạt chế độ này, cần đảm bảo rằng cả hai thiết lập Computer Configuration và User Configuration trong GPO đều được kích hoạt. Các thiết lập này sẽ được áp dụng bất kể người dùng nào đăng nhập.
Cơ chế chính để làm mới Group Policy là khi khởi động máy và khi đăng nhập. Group Policy cũng được làm mới theo các khoảng thời gian khác nhau. Khoảng thời gian làm mới chính sách ảnh hưởng đến tốc độ áp dụng các thay đổi trong Group Policy Objects (GPO). Mặc định, các máy khách và máy chủ kiểm tra thay đổi trong GPO mỗi 90 phút với một thời gian ngẫu nhiên cộng thêm tối đa 30 phút. Các thay đổi trong thiết lập Group Policy có thể không ngay lập tức xuất hiện trên máy tính người dùng vì phải được sao chép đến domain controller thích hợp trước.
Các domain controller kiểm tra thay đổi chính sách máy tính mỗi 5 phút. Tần suất kiểm tra này có thể thay đổi bằng cách sử dụng các thiết lập chính sách như Group Policy Refresh Interval for Computers, Group Policy Refresh Interval for Domain Controllers, hoặc Group Policy Refresh Interval for Users. Không nên rút ngắn khoảng thời gian giữa các lần làm mới do có thể tăng lưu lượng mạng và tải lên domain controller.
Các thành phần của GPO được lưu trữ trong cả Active Directory và thư mục SYSVOL của các domain controller. Việc sao chép GPO sang các domain controller khác diễn ra qua hai cơ chế độc lập:
Hệ thống sao chép tích hợp của Active Directory kiểm soát việc sao chép Active Directory. Mặc định, sao chép giữa các domain controller trong cùng một site thường mất chưa đến một phút. Quá trình này có thể chậm hơn nếu mạng của bạn chậm hơn một LAN.
Distributed File System Replication (DFSR) kiểm soát việc sao chép thư mục SYSVOL. Trong các site, sao chép diễn ra mỗi 15 phút. Nếu các domain controller ở các site khác nhau, quá trình sao chép diễn ra theo các khoảng thời gian đã định dựa trên topology và lịch trình site, với khoảng thời gian thấp nhất là 15 phút.
Kích hoạt làm mới Group Policy thủ công:
Từ máy tính cục bộ, nhập gpupdate.exe
từ dòng lệnh. Chạy gpupdate.exe
sẽ kích hoạt làm mới chính sách cho máy tính mà lệnh này được chạy.
Sử dụng lệnh cmdlet Invoke-GPUpdate trong PowerShell. Bạn có thể sử dụng lệnh này để kích hoạt làm mới máy tính cục bộ hoặc một máy tính từ xa.
Sử dụng Group Policy Management Console để kích hoạt làm mới chính sách ở cấp OU bằng cách nhấp chuột phải vào OU và chọn Group Policy Update.
Kẻ thù có thể thu thập thông tin về các thiết lập Group Policy để:
Xác định đường dẫn cho privilege escalation
Xác định các biện pháp bảo mật được áp dụng trong một domain
Khám phá các mẫu trong domain objects có thể bị thao tún hoặc sử dụng để trà trộn vào môi trường.
Các đối tượng chính sách nhóm (GPO) là container cho các thiết lập Group Policy được tạo thành từ các tệp được lưu trữ trong một đường dẫn mạng có thể dự đoán được \<DOMAIN>\SYSVOL\<DOMAIN>\Policies\
.
Kẻ tấn công có thể lợi dụng các lỗ hổng trong cấu hình Group Policy thông qua năm sai sót phổ biến:
Quyền GPO: Người dùng không phải là quản trị viên nhưng có quyền sở hữu, ghi, hoặc sửa đổi đối với một GPO có thể chỉnh sửa đối tượng này. Kẻ tấn công có thể lợi dụng quyền này để chỉnh sửa GPO với mục đích xấu nếu xâm phạm được một trong những tài khoản này
Quyền GPT: Người dùng không phải là quản trị viên nhưng có quyền sở hữu, ghi, hoặc sửa đổi đối với một tệp GPT XML có thể chỉnh sửa tệp này và thay đổi hành vi của GPO. Nếu kẻ tấn công có thể xâm phạm một trong những tài khoản này, chúng sẽ sửa đổi XML vì mục đích xấu.
Quyền SYSVOL/NETLOGON: Mọi đối tượng trong Active Directory có quyền chỉ đọc đối với SYSVOL và NETLOGON. Nếu người dùng không phải quản trị viên có quyền như sở hữu, ghi, hoặc sửa đổi đối với một trong hai chia sẻ này, họ có thể thay đổi các tệp lưu trữ tại đó. Nếu kẻ tấn công xâm phạm một trong những tài khoản này, chúng có thể sửa đổi một tập lệnh được GPO sử dụng để thực thi mã độc hại.
Quyền OU: Người dùng không phải quản trị viên có khả năng tạo hoặc chỉnh sửa đối tượng trong một OU có thể tạo ra các đối tượng sẽ kế thừa GPO liên kết với OU. Nếu kẻ tấn công xâm phạm một trong những tài khoản này, chúng có thể tạo các đối tượng với mục đích áp dụng một GPO cụ thể, chẳng hạn như GPO thay đổi local administrators.
Group Policy Preferences: Group Policy Preferences có thể được sử dụng để tạo tên người dùng và mật khẩu trên một máy mục tiêu. Trong tệp XML liên kết với GPO, tên người dùng được ghi rõ ràng và mật khẩu (gọi là cPassword) được mã hóa bằng AES. Vấn đề là khóa AES được sử dụng để mã hóa mật khẩu đã được công khai trên MSDN, do đó kẻ tấn công có thể giải mã mật khẩu sau khi đọc tệp XML. Do vậy, việc sử dụng Group Policy Preferences để đặt thông tin xác thực không còn được coi là phương pháp bảo mật an toàn.
Các mục tiêu chính mà kẻ thù đạt được bằng cách lạm dụng Chính sách nhóm:
Tránh bị phát hiện
Di chuyển từ thiết bị hoặc hệ thống này sang thiết bị hoặc hệ thống khác
Tăng quyền truy cập của họ
Triển khai phần mềm độc hại
Group Policy cho phép cấu hình và quản lý một số cài đặt của Microsoft Defender Antivirus => Có thể loại trừ một số tệp hoặc thư mục khỏi quá tình quét của Defender để cài đặt mã độc hại hoặc tệp khác vào hệ thống
Trong cuộc tấn công Mango Sandstorm: Nhóm này đã sử dụng Group Policy để làm suy yếu phần mềm diệt vi-rút của tổ chức nạn nhân để họ có thể tránh bị phát hiện trong khi cài và thực thi phần mềm tống tiền.
Tạo scheduled task để triển khai malware
Lợi dụng Windows Task Scheduler để tạo tác vụ theo lịch trình để thực thi phần mềm độc hại như đã xảy ra với sự cố Mango Sandstorm và UNC3810
Hơn nữa, kẻ thù còn có thể tạo một tác vụ ngay lập tức và chạy nó dưới một tài khoản người dùng AD: Tác vụ sẽ chạy ngay khi người dùng đăng nhập, khởi chạy bất kỳ tệp thực thi nào mà tài khoản có quyền chạy, sau đó sẽ tự xóa chính nó. Kỹ thuật này cho phép di chuyển ngang và leo thang đặc quyền, vd, kẻ thù có thể thực hiện một bản dump thông tin xác thực để xâm phạm các tài khoản bổ sung. Kẻ thù cũng có thể chạy các tác vụ dưới dạng SYSTEM thay vì một người cụ thể, nếu điều đó thuận tiện hơn cho các mục tiêu hiện tại của chúng. Hoạt động này hầu như vô hình vì nó chạy như một người dùng hợp pháp, kể cả người dùng có tài khoản bị lạm dụng cũng không biết rằng nó đã xảy ra
Thực hiện một tập lệnh khởi động như SYSTEM
Kẻ tấn công có thể đóng gói một tập lệnh với GPO và thiết lập để thực thi khởi động hoặc tắt máy. Nói cách khác, tập lệnh được lưu trữ trong GPO, cung cấp cho kẻ tấn công một lựa chọn hoàn toàn khép kín.
Nhược điểm là tập lệnh chỉ có thể chạy khi khởi đông
Giám sát các truy vấn LDAP bất thường bằng bộ lọc groupPolicyContainer
và khối lượng lớn lưu lượng LDAP đến bộ điều khiển miền. Windows Event ID 4661 cũng có thể được sử dụng để phát hiện khi dịch vụ thư mục đã được truy cập.
Giám sát và phân tích các mô hình lưu lượng và kiểm tra các gói tin để phát hiện các giao thức không đúng chuẩn hoặc luồng lưu lượng bất thường. Điều này bao gồm việc nhận diện các gói tin dư thừa, mô hình lưu lượng bất thường, cú pháp hoặc cấu trúc không theo chuẩn.Xem xét việc kết hợp dữ liệu lưu lượng với giám sát quy trình và phân tích dòng lệnh để phát hiện các quy trình và đối số dòng lệnh bất thường liên quan đến các mô hình lưu lượng.Tìm kiếm các bất thường trong việc sử dụng tệp tin, đặc biệt là các tệp không thường khởi tạo kết nối mạng cho các giao thức tương ứng.
Giám sát các tiến trình mới thực thi có thể thu thập thông tin về cài đặt Group Policy
Giám sát mọi nỗ lực kích hoạt script đáng ngờ chạy trên hệ thống (script không thường được sử dụng/ script chạy ngoài chu kỳ thông thường, như cập nhật hoặc các chức năng quản trị./các chức năng quản trị viên khác). Nên thu thập các script từ hệ thống tệp nếu có thể để phân tích hành động và ý định của chúng.
Quản lý Quyền Truy cập: Đảm bảo rằng không có người dùng nào có quyền sở hữu, ghi, hoặc sửa đổi GPO hoặc GPT nếu họ không phải là thành viên của nhóm quản trị viên.
Liên kết GPOs Đúng Cách: Đảm bảo rằng các GPO được liên kết với OU thích hợp và thực hiện kiểm tra các GPO liên kết với gốc domain và OU của các bộ điều khiển domain.
Sử dụng Privileged Access Workstations (PAWs): Khuyến khích sử dụng PAWs khi thực hiện bất kỳ tác vụ quản trị nào trong Active Directory.
Giám sát Liên tục: Group Policy và toàn bộ Active Directory cần được giám sát liên tục và thường xuyên. Thực hiện các Đánh giá Bảo mật và sử dụng sản phẩm bảo mật Active Directory là vô cùng hữu ích.
Kẻ thù có thể sử dụng các lệnh như gpresult
hoặc nhiều hàm PowerShell có sẵn công khai khác nhau, chẳng hạn như Get-DomainGPO
và Get-DomainGPOLocalGroup
, để thu thập thông tin về cài đặt Group Policy. Kẻ thù có thể sử dụng thông tin này để định hình các hành vi tiếp theo, bao gồm xác định các đường dẫn tấn công tiềm ẩn trong mạng mục tiêu cũng như các cơ hội để thao túng cài đặt Group Policy (i.e. ) vì lợi ích của chúng