Nâng cao đặc quyền người dùng trong Windows. Những cách quan trọng để tăng quyền người dùng cho quản trị viên trong Windows Yêu cầu nâng cao quyền truy cập

Hmm, sự khác biệt giữa cái này và cái kia chỉ nằm ở cách thiết lập các tham số tương thích, trong trường hợp đầu tiên - theo cách thủ công, trong trường hợp thứ hai - điều tương tự, chỉ thông qua trình hướng dẫn. Nhưng dù sao cũng cảm ơn vì câu trả lời chi tiết))

Cảm ơn tôi biết rồi))))))))))))))))))

Ok, tôi là quản trị viên (có thể hơi mù chữ, nhưng tôi hy vọng sẽ theo kịp...) Làm cách nào tôi có thể được phép chạy ứng dụng này (và chỉ ứng dụng này)? Đồng thời, để không phải liên tục chạy vào máy của mình (để nhập mật khẩu quản trị viên cục bộ mà anh ta không nên biết) khi cần khởi chạy ứng dụng này.

Tôi rất biết ơn bạn đã nhắc nhở tôi một phần của bài giảng về chủ đề “Hệ điều hành”. Hãy để tôi cho bạn một ví dụ khác, cổ điển:

Đôi khi người dùng cần thay đổi mật khẩu đăng nhập của họ. Bản thân người dùng không có quyền truy cập vào cơ sở dữ liệu mật khẩu. Tuy nhiên, chương trình anh ta sử dụng để thay đổi mật khẩu chạy với quyền nâng cao. Điều này cho phép anh ta cuối cùng thay đổi mật khẩu của mình.

Vì vậy, trường hợp của tôi cũng tương tự. Làm cách nào để "nói" với hệ thống rằng chương trình sẽ chạy với quyền nâng cao? Trong trường hợp này, nó sẽ được khởi chạy bởi một người dùng từ nhóm “người dùng”/“người dùng thành thạo”.

Điều này thực sự có thể được thực hiện bằng cách chạy chương trình như một "tác vụ đã lên lịch" với tư cách một người dùng khác. Mọi thứ sẽ ổn - thậm chí nó còn khởi động, nhưng giao diện đồ họa (cửa sổ chương trình) không được hiển thị trên màn hình của người dùng...

Khái niệm mâu thuẫn??? Tôi đã đưa ra một ví dụ ở trên - nhiệm vụ này khá chuẩn đối với bất kỳ HĐH nào. Tôi chỉ không muốn giải quyết nó bằng các công cụ của bên thứ ba (không có trong Windows Vista). Tôi đã tắt UAC - trong mọi trường hợp, ứng dụng chỉ hoạt động chính xác với quyền quản trị viên, nó là như vậy - cụ thể.... Có vẻ như không thể đưa người dùng này vào nhóm "Quản trị viên" cục bộ vì lý do bảo mật .

Về kịch bản - cho chạy như có một lá cờ cho phép bạn nhớ mật khẩu, nhưng trong trường hợp này người dùng sẽ có thể chạy bất kì chương trình với quyền quản trị viên.

Điều này có nghĩa là tôi không muốn tung ra phần mềm có mã nguồn không ai biết, không biết gì về nhà cung cấp và trang web của nó “nằm trong tay mọi người”. Còn người dùng thì sao - ừ, nếu thế là đủ thì cuộc thảo luận này đã không xuất hiện trên diễn đàn..... =(

Tôi muốn tin rằng không phải mọi thứ đều tệ như vậy.

Nâng cao đặc quyền có lẽ là một trong những điểm chính mà kịch bản thâm nhập hoặc tấn công tiếp theo phụ thuộc vào. Rất thường xuyên, mọi thứ kết thúc ở giai đoạn này nếu không thể “mở rộng sức mạnh của mình”. Vì vậy, hôm nay chúng ta sẽ nói một chút về những cách cho phép người dùng tăng đặc quyền của họ không chỉ đối với quản trị viên mà còn đối với hệ thống.

Giới thiệu

Việc leo thang đặc quyền hơi khác một chút trong Windows và Linux. Mặc dù cả hai hệ điều hành đều có số lượng lỗ hổng thông thường nhưng các nhà nghiên cứu lưu ý rằng máy chủ Windows được vá đầy đủ phổ biến hơn nhiều so với máy chủ Linux đã được cập nhật lên trạng thái mới nhất. Ngoài ra, thời gian phát hành các bản vá Windows thường ngắn hơn khiến việc tăng đặc quyền trên Windows trở thành một nhiệm vụ khá thú vị và đầy tham vọng. Chúng ta sẽ cống hiến câu chuyện của mình cho cô ấy.

Tùy chọn

Vậy chúng ta có cơ hội gì để vươn lên trong thế giới Windows? Trước hết, gần đây người ta đã tìm thấy đủ lỗ hổng liên quan đến phân tích phông chữ trong nhân hệ điều hành, điều này khiến quá trình leo thang đặc quyền trở nên khá đơn giản nếu bạn có sẵn một cách khai thác phù hợp. Nếu bạn sử dụng Metasploit thì chỉ cần một lệnh là đủ để lấy shell hệ thống. Tuy nhiên, tất cả điều này chỉ có thể hoạt động thành công nếu hệ thống chưa được vá hoàn toàn. Nếu tất cả các bản cập nhật được cài đặt trên máy, thì không giống như Linux, sẽ không thể tìm thấy các tệp nhị phân SUID và các biến môi trường thường không được chuyển đến các dịch vụ hoặc quy trình có đặc quyền cao hơn. Kết quả là chúng ta còn lại gì?

Từ admin đến hệ thống, hay những gì ai cũng biết

Thông thường, khi bạn nghĩ đến việc nâng cấp đặc quyền, phương pháp bạn nghĩ ngay đến là sử dụng bộ lập lịch tác vụ. Trong Windows, bạn có thể thêm tác vụ bằng hai tiện ích: at và schtasks. Nhiệm vụ thứ hai sẽ thay mặt người dùng đã thêm nhiệm vụ, trong khi nhiệm vụ đầu tiên sẽ thay mặt hệ thống. Một thủ thuật tiêu chuẩn mà bạn có thể đã từng nghe đến cho phép bạn chạy bảng điều khiển với quyền hệ thống:

Vào lúc 13:01 /cmd tương tác

Điều thứ hai bạn nghĩ đến là thêm một dịch vụ sẽ khởi chạy tệp được yêu cầu/thực thi lệnh:

@echo off @break off title root Cls echo Tạo dịch vụ. sc create evil binpath= "cmd.exe /K start" type= own type= tương tác > nul 2>&1 echo Bắt đầu dịch vụ. sc start evil > nul 2>&1 echo Đang chờ... ping 127.0.0.1 -n 4 > nul 2>&1 echo Đang xóa dịch vụ. tiếng vang. sc xóa ác > nul 2>&1

Phương pháp thứ ba là thay thế tiện ích hệ thống C:\windows\system32\sethc.exe bằng cmd, chẳng hạn. Nếu bạn đăng xuất sau đó và nhấn phím Shift nhiều lần, bảng điều khiển có quyền hệ thống sẽ xuất hiện.

Đối với các phương pháp tự động, Metasploit và hệ thống get của nó ngay lập tức xuất hiện trong tâm trí bạn. Một tùy chọn thay thế là PsExec từ Sysinternals (psexec -i -s -d cmd.exe).

Chúng ta sẽ đi một con đường khác

Tất cả các phương pháp này đều có một nhược điểm chung: cần có quyền quản trị viên. Điều này có nghĩa là chúng tôi đang tăng đặc quyền từ một tài khoản đặc quyền. Trong hầu hết các trường hợp, khi bạn đã nhận được quyền quản trị viên, bạn có rất nhiều lựa chọn về cách thăng tiến cao hơn nữa. Vì vậy, đây không phải là một nhiệm vụ quá khó khăn. Hôm nay chúng ta sẽ nói về các phương pháp leo thang đặc quyền không sử dụng bất kỳ lỗ hổng 0day nào, giả sử rằng chúng ta có một hệ thống bình thường và tài khoản của một người dùng bình thường không có đặc quyền.

Săn lùng thông tin xác thực

Một trong những cách đáng tin cậy và ổn định để tăng đặc quyền và có chỗ đứng trong hệ thống là lấy mật khẩu của quản trị viên hoặc người dùng có đặc quyền cao hơn. Và bây giờ là lúc bạn nên nhớ về việc cài đặt phần mềm tự động. Nếu bạn quản lý một miền bao gồm một nhóm máy lớn, bạn chắc chắn không muốn cài đặt phần mềm trên từng máy một cách thủ công. Và sẽ mất rất nhiều thời gian đến mức không còn đủ thời gian cho bất kỳ nhiệm vụ nào khác. Do đó, cài đặt Không giám sát được sử dụng để tạo các tệp chứa mật khẩu quản trị viên ở dạng thuần túy nhất. Đó đơn giản là một kho báu cho cả những người pentester và những kẻ tấn công.

Cài đặt không cần giám sát

Trong trường hợp cài đặt tự động, tệp Unattends.xml, khá thú vị đối với chúng tôi, vẫn còn trên máy khách, thường nằm trong %WINDIR%\Panther\Unattend\ hoặc trong %WINDIR%\Panther\ và có thể lưu trữ mật khẩu quản trị viên ở dạng văn bản rõ ràng. Mặt khác, để lấy tệp này từ máy chủ, bạn thậm chí không cần bất kỳ xác thực nào. Bạn chỉ cần tìm máy chủ “Dịch vụ triển khai Windows”. Để thực hiện việc này, bạn có thể sử dụng tập lệnh phụ trợ/máy quét/dcerpc/windows_deployment _services từ Metasploit. Mặc dù Windows Deployment Services không phải là cách duy nhất để thực hiện cài đặt tự động, nhưng tệp Unattends.xml được coi là tiêu chuẩn nên việc phát hiện ra nó có thể coi là thành công.

GPP

Các tệp XML Tùy chọn Chính sách Nhóm thường chứa một tập hợp thông tin xác thực được mã hóa có thể được sử dụng để thêm người dùng mới, tạo lượt chia sẻ, v.v. May mắn thay, phương pháp mã hóa đã được ghi lại nên bạn có thể dễ dàng lấy được mật khẩu ở dạng thuần túy. Hơn nữa, nhóm Metasploit đã làm mọi thứ cho bạn - chỉ cần sử dụng mô-đun /post/windows/gather/credentials/gpp.rb. Nếu bạn quan tâm đến chi tiết, thì tất cả thông tin cần thiết đều có tại liên kết này.

Quyền của người sử dụng

Rất thường xuyên, việc leo thang đặc quyền là hậu quả của việc cấu hình quyền người dùng không chính xác. Ví dụ: khi người dùng miền là quản trị viên cục bộ (hoặc Người dùng cấp cao) trên máy chủ. Hoặc khi người dùng miền (hoặc thành viên của nhóm miền) là quản trị viên cục bộ trên tất cả các máy chủ. Trong trường hợp này, bạn thực sự sẽ không phải làm gì cả. Nhưng những lựa chọn như vậy không xuất hiện thường xuyên.

Luôn cài đặtNâng cao

Đôi khi quản trị viên cho phép người dùng thông thường tự cài đặt chương trình, thường thông qua các khóa đăng ký sau:

HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer\AlwaysInstallElevated

HKCU\SOFTWARE\Policies\Microsoft\Window s\Installer\AlwaysInstallElevated

Họ thông báo với hệ thống rằng bất kỳ tệp MSI nào cũng phải được cài đặt với các đặc quyền nâng cao (NT AUTHORITY\SYSTEM). Theo đó, bằng cách sử dụng một tệp được tạo đặc biệt, bạn có thể thực hiện lại các hành động thay mặt hệ thống và nâng cấp các đặc quyền của mình.

Metasploit bao gồm một mô-đun khai thác/windows/local/always_install_elevated đặc biệt, tạo ra một tệp MSI với một tệp thực thi đặc biệt được nhúng trong đó, được trình cài đặt trích xuất và thực thi với các đặc quyền hệ thống. Sau khi được thực thi, tệp MSI sẽ hủy bỏ quá trình cài đặt (bằng cách gọi một VBS không hợp lệ được chế tạo đặc biệt) để ngăn hành động được ghi vào hệ thống. Ngoài ra, nếu bạn bắt đầu cài đặt bằng khóa chuyển /quiet, người dùng thậm chí sẽ không thấy lỗi.

Thiếu tự động khởi động

Điều thường xảy ra là hệ thống lưu giữ một bản ghi của một tệp cần được khởi chạy tự động, ngay cả sau khi bản thân tệp đó đã chìm vào quên lãng. Có thể một số dịch vụ đã bị xóa không chính xác - không có tệp thực thi, nhưng mục đăng ký vẫn còn và mỗi khi bạn khởi động hệ thống không thành công, hãy cố gắng khởi động nó, điền vào nhật ký sự kiện các thông báo về lỗi. Tình huống này cũng có thể được sử dụng để mở rộng sức mạnh của bạn. Bước đầu tiên là tìm tất cả các bản ghi mồ côi như vậy. Ví dụ: sử dụng tiện ích autorunsc từ Sysinternals.

Autorunsc.exe -a | seekstr /n /R "Tệp\không\tìm thấy"

Sau đó, như bạn đã đoán, tất cả những gì còn lại là bằng cách nào đó đưa ứng viên của bạn vào vị trí của hồ sơ bị thiếu.

Sự kỳ diệu của dấu ngoặc kép

Có, vâng, dấu ngoặc kép không chỉ có thể đóng vai một trò đùa độc ác trong các truy vấn SQL, cho phép chèn mà còn giúp nâng cao đặc quyền. Vấn đề khá cũ và đã được biết đến từ thời NT. Vấn đề là các đường dẫn đến tệp thực thi của một số dịch vụ không được bao quanh bởi dấu ngoặc kép (ví dụ: ImagePath=C:\Program Files\Common Files\Network Associates\McShield\McShield.exe) và có các ký tự khoảng trắng trong con đường. Trong trường hợp này, nếu kẻ tấn công tạo một tệp sẽ thêm quản trị viên mới vào hệ thống hoặc thực hiện một số hành động khác và gọi nó là C:\Program Files\common.exe thì khi dịch vụ được khởi động lần sau, nó sẽ phổ biến. exe sẽ được khởi chạy và phần còn lại của đường dẫn sẽ được lấy làm (các) đối số. Rõ ràng là người dùng không có đặc quyền sẽ không thể đặt bất cứ thứ gì vào Tệp chương trình, nhưng tệp thực thi của dịch vụ có thể nằm trong một thư mục khác, tức là người dùng sẽ có cơ hội đưa vào tệp của chính mình.

Để sử dụng kỹ thuật này, bạn cần tìm một dịch vụ dễ bị tấn công (sẽ không sử dụng dấu ngoặc kép trong đường dẫn đến tệp nhị phân của nó). Điều này được thực hiện như sau:

Dịch vụ Wmic lấy tên,tên hiển thị,tên đường dẫn, mã khởi động |findstr /i "auto" |findstr /i /v "c: \windows\\" |findstr /i /v """

Đúng, trên XP, điều này sẽ yêu cầu đặc quyền của quản trị viên, vì vậy tốt hơn nên sử dụng phương pháp sau: lấy danh sách các dịch vụ - sc query , sau đó xem thông tin cho từng dịch vụ - sc qc servicename .

Tất cả đều theo kế hoạch

Một cơ chế khác có thể giúp nâng cao quyền và thường bị lãng quên là bộ lập lịch tác vụ. Tiện ích schtasks cho phép bạn phân công nhiệm vụ cho các sự kiện cụ thể. Điều thú vị nhất đối với chúng tôi là ONIDLE, ONLOGON và ONStart. Đúng như tên gọi, ONIDLE sẽ được thực thi mỗi khi máy tính không hoạt động, ONLOGON và ONStart - tương ứng khi người dùng đăng nhập và khi hệ thống khởi động. Vì vậy, một nhiệm vụ riêng biệt có thể được giao cho mỗi sự kiện. Ví dụ: khi hệ thống khởi động, hãy sao chép tệp nhị phân/keylogger/… độc hại ở đâu đó và chạy nó. Khi người dùng đăng nhập, hãy chạy công cụ kết xuất thẻ tín dụng. Nói tóm lại, mọi thứ chỉ bị giới hạn bởi trí tưởng tượng của bạn và nhiệm vụ trước mắt.

Thủ thuật với quyền

Quyền đối với tệp thường là biện pháp bảo vệ đầu tiên ngăn chúng tôi nâng cao đặc quyền của mình. Sẽ rất hấp dẫn nếu bạn chỉ cần ghi đè lên một số tệp hệ thống (ví dụ: cùng một sethc.exe đã đề cập ở đầu bài viết) và ngay lập tức nhận được các đặc quyền hệ thống. Nhưng tất cả những điều này chỉ là giấc mơ; trên thực tế, chúng ta chỉ có quyền đọc nó, điều này hoàn toàn không mang lại cho chúng ta điều gì. Tuy nhiên, bạn không nên chú ý, vì với giấy phép, không phải mọi thứ đều suôn sẻ như vậy - ở đây cũng như những nơi khác, đều có những cạm bẫy, kiến ​​​​thức về chúng cho phép bạn biến điều không thể thành có thể.

Một trong những thư mục hệ thống được bảo vệ bởi cơ chế này đặc biệt thú vị từ quan điểm leo thang đặc quyền - Tệp chương trình. Người dùng không có đặc quyền bị từ chối truy cập vào đó. Tuy nhiên, đôi khi xảy ra trường hợp trong quá trình cài đặt, trình cài đặt đặt quyền truy cập tệp không chính xác, dẫn đến tất cả người dùng đều được cấp toàn quyền truy cập vào các tệp thực thi. Điều gì tiếp theo sau đây - bạn đã đoán được rồi.

Một hạn chế khác là người bình thường không được phép ghi vào thư mục gốc của đĩa hệ thống. Tuy nhiên, ví dụ: trên XP, khi tạo một thư mục mới ở gốc đĩa, nhóm BUILTIN\Users sẽ nhận được các quyền FILE_APPEND_DATA và FILE_WRITE_DATA (ngay cả khi chủ sở hữu thư mục là quản trị viên):

BUILTIN\Users:(OI)(CI)R BUILTIN\Users:(CI)(quyền truy cập đặc biệt:) FILE_APPEND_DATA BUILTIN\Users:(CI)(quyền truy cập đặc biệt:) FILE_WRITE_DATA

Vào ngày “bảy”, điều gần như tương tự cũng xảy ra, chỉ nhóm NGƯỜI DÙNG ĐƯỢC XÁC THỰC mới nhận được sự cho phép. Làm thế nào hành vi này có thể trở thành một vấn đề? Chỉ là một số ứng dụng tự cài đặt bên ngoài các thư mục được bảo vệ, điều này giúp dễ dàng thay thế các tệp thực thi của chúng. Ví dụ: sự cố như vậy đã xảy ra với Metasploit Framework trong trường hợp cài đặt nhiều người dùng. Lỗi này đã được sửa trong phiên bản 3.5.2 và tiện ích đã được chuyển sang Tệp chương trình.


Cách tìm kiếm các thư mục/tập tin như vậy

Tìm một thư mục có quyền không chính xác đã là một nửa trận chiến. Tuy nhiên, trước tiên bạn phải tìm thấy nó. Để thực hiện việc này, bạn có thể sử dụng hai công cụ sau: AccessChk và Cacls/ICacls. Để tìm các thư mục “yếu” bằng AccessChk, bạn sẽ cần các lệnh sau:

Accesschk.exe -uwdqs người dùng c:\ accesschk.exe -uwdqs “Người dùng được xác thực” c:\

Để tìm kiếm các tệp có quyền "yếu", hãy sử dụng cách sau:

Accesschk.exe -uwqs người dùng c:\*.* accesschk.exe -uwqs “Người dùng được xác thực” c:\*.*

Điều tương tự có thể được thực hiện bằng Cacls/ICacls:

Cacls "c:\Program Files" /T | Người dùng Findstr

Thủ thuật với dịch vụ

Một lựa chọn khác để thăng tiến trong hệ thống là tận dụng các cấu hình sai và lỗi dịch vụ. Như thực tế cho thấy, không chỉ các tệp và thư mục mà cả các dịch vụ đang chạy trong hệ thống cũng có thể có quyền không chính xác. Để phát hiện những điều này, bạn có thể sử dụng tiện ích AccessChk của Mark Russinovich nổi tiếng:

Accesschk.exe –uwcqv *

Sẽ là điều đáng khích lệ nhất khi thấy quyền SERVICE_ALL_ACCESS dành cho người dùng được xác thực hoặc người dùng có quyền lực. Nhưng những điều sau đây cũng có thể được coi là thành công lớn:

  • SERVICE_CHANGE_CONFIG - chúng tôi có thể thay đổi tệp thực thi dịch vụ;
  • WRITE_DAC - quyền có thể được thay đổi, dẫn đến việc nhận được quyền SERVICE_CHANGE_CONFIG;
  • WRITE_OWNER - bạn có thể trở thành chủ sở hữu và thay đổi quyền;
  • GENERIC_WRITE - kế thừa quyền SERVICE_CHANGE_CONFIG;
  • GENERIC_ALL - kế thừa quyền SERVICE_CHANGE_CONFIG.

Nếu bạn nhận thấy rằng một (hoặc nhiều) quyền trong số này được đặt cho người dùng không có đặc quyền thì cơ hội nâng cao đặc quyền của bạn sẽ tăng lên đáng kể.

Làm thế nào để tăng?

Giả sử bạn đã tìm thấy một dịch vụ phù hợp, đã đến lúc bắt tay vào thực hiện nó. Tiện ích console sc sẽ trợ giúp việc này. Đầu tiên, chúng tôi nhận được thông tin đầy đủ về dịch vụ mà chúng tôi quan tâm, giả sử đó là dịch vụ upnhost:

Sc qc upphost

Hãy cấu hình nó bằng cách sử dụng cùng một tiện ích:

Sc config vulnsrv binpath= "net user john hello /add && net localgroup Quản trị viên john /add" type= tương tác sc config upnphost obj= “.\LocalSystem” mật khẩu=“”

Như bạn có thể thấy, lần tiếp theo khi dịch vụ khởi động, thay vì tệp thực thi của nó, lệnh net user john hello /add && net localgroup Administrators john /add sẽ được thực thi, thêm một người dùng mới john với mật khẩu hello vào hệ thống. Tất cả những gì còn lại là khởi động lại dịch vụ theo cách thủ công:

Dừng mạng upnphost khởi động mạng upnphost

Đó là tất cả sự kỳ diệu.

Kết quả là gì?

Ngày xửa ngày xưa, tôi đọc một bài báo trên tạp chí nêu ra các kỹ thuật cơ bản để leo thang đặc quyền trong Windows. Khi đó tôi không coi trọng nó lắm, nhưng lý thuyết đó cứ lởn vởn trong đầu tôi và đã từng giúp tôi rất nhiều. Vì vậy, tôi hy vọng bạn sẽ tìm thấy điều gì đó mới mẻ cho mình trong bài viết này và một ngày nào đó sẽ giúp bạn vượt qua một rào cản khác.

UAC(Kiểm soát tài khoản người dùng) là công nghệ kiểm soát tài khoản xuất hiện lần đầu tiên vào năm Windows Vista và lớn hơn. Công nghệ này ngăn các chương trình thực hiện các hành động yêu cầu quyền quản trị viên. Khi chương trình thực hiện các hành động như vậy, công việc của nó sẽ bị tạm dừng và người dùng sẽ thấy một cửa sổ yêu cầu trên màn hình được bảo vệ (do đó không thể lập trình nhấn nút OK). Ví dụ: nếu chương trình của bạn cần thay đổi khóa đăng ký HKEY_LOCAL_MACHINE, thì cô ấy sẽ cần quyền quản trị viên.
Để giải quyết vấn đề này, bạn có thể sử dụng việc triển khai tệp kê khai trong dự án mà hệ điều hành sẽ đọc và tự động xác định các tham số cần thiết để khởi chạy.
Hãy xem xét việc đưa một tệp kê khai vào ứng dụng " Biểu mẫu Windows" Để thực hiện việc này, hãy mở Visual Studio (phiên bản 2012 được sử dụng trong ví dụ này) và tạo một dự án " Biểu mẫu Windows" Mở " Người khám phá giải pháp(Solution Explorer), cung cấp chế độ xem có tổ chức về các dự án và tệp của chúng, hãy chuyển đến menu Xem» - « Người khám phá giải pháp" Nhấp chuột phải vào " Người khám phá giải pháp" theo tên dự án và chọn từ menu ngữ cảnh," Thêm vào» - « Tạo phần tử...».

Một cửa sổ mới sẽ mở ra " Thêm một phần tử mới -..." tìm phần tử Visual C# có tên " Tệp kê khai ứng dụng", chọn nó và nhấp vào" Thêm vào».

TRONG " Người khám phá giải pháp"Bạn sẽ có một mục mới có tên của tệp kê khai. Nó cũng sẽ được tự động mở trong trình soạn thảo mã.

Để định cấu hình các quyền cần thiết để chạy ứng dụng, bạn cần xác định mức độ bảo mật và mô tả phần tử “ được yêu cầuCấp thực thi" Phần tử này không có phần tử con và có các thuộc tính sau:
1) Mức độ- Yêu cầu. Đặt mức độ bảo mật mà ứng dụng yêu cầu. Các giá trị sau có sẵn cho thuộc tính này:
  • asInvoker- ứng dụng bắt đầu với các quyền của tiến trình gốc. Điều này có nghĩa là nếu bạn chạy một chương trình từ một ứng dụng đang chạy với quyền quản trị viên thì chương trình đó sẽ tự động có các quyền tương tự. Chế độ này được Microsoft khuyên dùng trong hầu hết các trường hợp. Những thứ kia. Đây là những chương trình không yêu cầu quyền quản trị viên;
  • cao nhất có sẵn— ứng dụng được khởi chạy với các quyền cao hơn người dùng hiện tại có. Regedit.exe, Mmc.exe được ra mắt với các quyền này;
  • yêu cầuQuản trị viên- yêu cầu đầy đủ quyền quản trị viên. Những thứ kia. cần thiết cho các ứng dụng không thể chạy nếu không có quyền quản trị viên.

Cài đặt ứng dụng" Nhấp một lần" chỉ có thể thực hiện được với giá trị "asInvoker". Bất kỳ giá trị nào khác sẽ không cho phép cài đặt.

2) uiTruy cập- Không bắt buộc. Cho biết liệu ứng dụng có yêu cầu quyền truy cập vào các thành phần giao diện người dùng được bảo vệ để triển khai các tính năng trợ năng hay không. Giá trị có sẵn " ĐÚNG VẬY" Và " SAI", giá trị mặc định là" SAI". Nghĩa " ĐÚNG VẬY" chỉ được phép có các ứng dụng đã được ký và được khởi chạy từ thư mục "\Program Files\" và "\windows\system32\". Thông thường, điều này là không cần thiết.
Để chương trình yêu cầu nâng quyền lên cấp Quản trị viên khi khởi động, hãy thay thế thuộc tính “ Mức độ" giá trị mặc định " asInvoker" TRÊN " yêu cầuQuản trị viên».

Xây dựng giải pháp bằng cách nhấn nút " F6" Nếu bạn đã làm mọi thứ chính xác, thì trong hệ điều hành Windows Vista trở lên, biểu tượng cái khiên sẽ xuất hiện trên biểu tượng tệp thực thi của chương trình, cho biết rằng chương trình này yêu cầu nâng cao quyền.

Để kiểm tra quyền của ứng dụng, bạn có thể sử dụng danh sách bên dưới.
chuỗi s = new WindowsPrincipal(WindowsIdentity.GetCurrent()).IsInRole(WindowsBuiltInRole.Administrator) ? "Quản trị viên" : "Người dùng thông thường"; Nếu bạn có ứng dụng console thì nguyên tắc hoạt động cũng giống như vậy.

Nhiều chương trình yêu cầu nâng cao quyền khi khởi động (biểu tượng cái khiên bên cạnh biểu tượng), nhưng trên thực tế, chúng không yêu cầu quyền quản trị viên để hoạt động bình thường (ví dụ: bạn đã cấp thủ công các quyền cần thiết cho người dùng đối với thư mục chương trình trong ProgramFiles và các nhánh đăng ký được chương trình sử dụng). Theo đó, khi chạy một chương trình như vậy với tư cách người dùng đơn giản, nếu bật Kiểm soát tài khoản người dùng trên máy tính, lời nhắc UAC sẽ xuất hiện và người dùng sẽ được yêu cầu nhập mật khẩu quản trị viên. Để bỏ qua cơ chế này, nhiều người chỉ cần vô hiệu hóa UAC hoặc cấp cho người dùng quyền quản trị viên trên máy tính bằng cách thêm người đó vào nhóm quản trị viên cục bộ. Đương nhiên, cả hai phương pháp này đều không an toàn.

Tại sao một ứng dụng thông thường có thể cần quyền quản trị viên

Chương trình có thể cần quyền quản trị viên để sửa đổi một số tệp nhất định (nhật ký, cấu hình, v.v.) trong thư mục riêng của nó trong C:\Program Files (x86)\SomeApp). Theo mặc định, người dùng không có quyền chỉnh sửa thư mục này; do đó, để chương trình đó hoạt động bình thường, cần có quyền quản trị viên. Để giải quyết vấn đề này, bạn cần gán quyền thay đổi/ghi theo cách thủ công cho người dùng (hoặc nhóm Người dùng) vào thư mục chương trình với tư cách quản trị viên ở cấp độ NTFS.

Ghi chú. Trên thực tế, cách lưu trữ dữ liệu ứng dụng đang thay đổi trong thư mục riêng của nó trong C:\Program Files là không chính xác. Sẽ đúng hơn nếu lưu trữ dữ liệu ứng dụng trong hồ sơ người dùng. Nhưng đây là vấn đề về sự lười biếng và kém cỏi của các nhà phát triển.

Chạy chương trình yêu cầu quyền quản trị viên từ người dùng chuẩn

Trước đây chúng tôi đã mô tả cách bạn có thể sử dụng tham số RunAsInvoker. Tuy nhiên, phương pháp này không đủ linh hoạt. Bạn cũng có thể sử dụng nó với việc lưu mật khẩu quản trị viên /SAVECRED (cũng không an toàn). Hãy xem xét một cách đơn giản hơn để buộc bất kỳ chương trình nào khởi chạy mà không có quyền quản trị viên (và không cần nhập mật khẩu quản trị viên) khi bật UAC (4.3 hoặc cấp 2).

Ví dụ: hãy sử dụng tiện ích chỉnh sửa sổ đăng ký - regedit.exe(nó nằm trong thư mục C:\windows\system32). Khi bạn chạy regedit.exe, một cửa sổ UAC sẽ xuất hiện và trừ khi bạn xác nhận mức nâng đặc quyền, Trình soạn thảo Sổ đăng ký sẽ không khởi động.

Hãy tạo một tập tin trên máy tính để bàn chạy-as-non-admin.bat với văn bản sau:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

Bây giờ, để buộc ứng dụng chạy mà không có quyền quản trị viên và chặn lời nhắc UAC, chỉ cần kéo tệp exe mong muốn vào tệp bat này trên màn hình nền.

Sau đó, Trình chỉnh sửa Sổ đăng ký sẽ khởi động mà không xuất hiện lời nhắc UAC. Mở trình quản lý quy trình và thêm một cột Cao(Với mức quyền cao hơn), bạn sẽ thấy hệ thống có tiến trình regedit.exe với trạng thái không cấp cao (chạy với quyền người dùng).

Hãy thử chỉnh sửa bất kỳ tham số nào trong nhánh HKLM. Như bạn có thể thấy, quyền truy cập để chỉnh sửa sổ đăng ký trong nhánh này bị từ chối (người dùng này không có quyền ghi vào các nhánh đăng ký hệ thống). Nhưng bạn có thể thêm và chỉnh sửa khóa trong nhánh đăng ký của chính người dùng - HKCU.

Theo cách tương tự, bạn có thể khởi chạy một ứng dụng cụ thể thông qua tệp bat, chỉ cần chỉ định đường dẫn đến tệp thực thi.

run-app-as-non-admin.bat

Đặt ApplicationPath="C:\Program Files\MyApp\testapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

Bạn cũng có thể thêm menu ngữ cảnh để bổ sung khả năng khởi chạy tất cả các ứng dụng mà không cần nâng lên. Để thực hiện việc này, hãy tạo tệp reg sau và nhập nó vào sổ đăng ký.

Trình chỉnh sửa Sổ đăng ký Windows Phiên bản 5.00


@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && bắt đầu \"\" \"%1\"\""

Sau đó, để khởi chạy bất kỳ ứng dụng nào không có quyền quản trị viên, chỉ cần chọn mục “” trong menu ngữ cảnh.

Biến môi trường __COMPAT_LAYER và tham số RunAsInvoker

Biến môi trường __COMPAT_LAYER cho phép bạn đặt các mức tương thích khác nhau cho các ứng dụng (tab Khả năng tương thích trong thuộc tính của tệp exe). Sử dụng biến này, bạn có thể chỉ định cài đặt tương thích mà chương trình sẽ chạy. Ví dụ: để chạy ứng dụng ở chế độ tương thích Windows 7 và độ phân giải 640x480, hãy đặt:

đặt __COMPAT_LAYER=Win7RTM 640x480

Trong số các tùy chọn của biến __COMPAT_LAYER mà chúng tôi quan tâm, chúng tôi nêu bật các tham số sau:

  • RunAsInvoker- khởi chạy một ứng dụng với các đặc quyền của tiến trình gốc mà không cần yêu cầu UAC.
  • Chạy Như Cao Nhất- khởi chạy ứng dụng với quyền tối đa dành cho người dùng (yêu cầu UAC xuất hiện nếu người dùng có quyền quản trị viên).
  • RunAsAdmin- khởi chạy ứng dụng với quyền quản trị viên (dấu nhắc AUC luôn xuất hiện).

Những thứ kia. Tham số RunAsInvoker không cung cấp quyền quản trị viên mà chỉ chặn sự xuất hiện của cửa sổ UAC.

Phần bài viết mô tả chi tiết nguyên lý hoạt động của User Account Control. Trong phần này chúng ta sẽ nói về việc thiết lập UAC trong trường hợp máy tính của bạn hoạt động độc lập, tức là nó không phải là một phần của miền Active Directory. Để định cấu hình Kiểm soát tài khoản người dùng, hãy sử dụng tính năng Chính sách bảo mật cục bộ, có thể tìm thấy trong Trình chỉnh sửa đối tượng chính sách nhóm cục bộ.

Có 10 cài đặt Chính sách nhóm chịu trách nhiệm định cấu hình Kiểm soát tài khoản người dùng. Để thay đổi cài đặt chính sách, bạn cần mở phần đính vào "Trình chỉnh sửa chính sách nhóm cục bộ" nút Cấu hình máy tính\Cấu hình Windows\Cài đặt bảo mật\Chính sách cục bộ\Cài đặt bảo mật. Bài viết này cũng sẽ chỉ cho bạn cách định cấu hình từng cài đặt chính sách bằng sổ đăng ký hệ thống. Bảng sau hiển thị các giá trị mặc định cho từng cài đặt chính sách.

Cài đặt chính sách nhóm Kiểm soát tài khoản người dùng mặc định:

Cài đặt chính sách nhómGiá trị mặc định
Kiểm soát tài khoản người dùng: Bật Chế độ phê duyệt của quản trị viênBao gồm
Kiểm soát tài khoản người dùng: Phát hiện cài đặt ứng dụng và lời nhắc nâng caoBao gồm
Kiểm soát tài khoản người dùng: Chuyển sang máy tính để bàn an toàn khi được nhắc nâng caoBao gồm
Kiểm soát tài khoản người dùng: Hành vi nhắc nhở về độ cao dành cho quản trị viên ở chế độ phê duyệt của quản trị viênNhắc sự đồng ý đối với dữ liệu nhị phân không phải của Windows
Kiểm soát tài khoản người dùng: Hành vi nhắc nhở nâng cao dành cho người dùng chuẩnYêu cầu thông tin xác thực
Kiểm soát tài khoản người dùng: Chỉ nâng cao đặc quyền cho các ứng dụng UIAccess được cài đặt ở một vị trí an toànBao gồm
Kiểm soát tài khoản người dùng: Chỉ nâng cao đặc quyền cho các tệp thực thi đã được ký và xác minhTàn tật
Kiểm soát tài khoản người dùng: nếu việc ghi vào tệp hoặc sổ đăng ký không thành công, hãy ảo hóa vị trí của người dùngBao gồm
Kiểm soát tài khoản người dùng: Cho phép ứng dụng UIAccess yêu cầu độ cao mà không cần sử dụng máy tính để bàn an toànTàn tật
Kiểm soát tài khoản người dùng: Sử dụng Chế độ phê duyệt của quản trị viên cho tài khoản quản trị viên tích hợpTàn tật

Cài đặt Chính sách nhóm liên quan đến Kiểm soát tài khoản người dùng (UAC) được thảo luận chi tiết bên dưới:

Tất cả quản trị viên làm việc ở chế độ phê duyệt của quản trị viên

Cài đặt chính sách này xác định đặc điểm của tất cả các chính sách Kiểm soát tài khoản người dùng cho máy tính. Cài đặt này xác định xem tài khoản quản trị viên có chạy ở “chế độ được quản trị viên phê duyệt hay không”, nghĩa là liệu các hộp thoại có hiển thị yêu cầu nâng cao đặc quyền hay không. Nói một cách đại khái, việc tắt cài đặt này sẽ vô hiệu hóa hoàn toàn chức năng Kiểm soát tài khoản người dùng. Nếu bạn thay đổi cài đặt chính sách này, bạn phải khởi động lại máy tính. Giá trị mặc định được kích hoạt.

Các giá trị tham số có thể có:

  • Bao gồm. Chế độ phê duyệt của quản trị viên được bật để cho phép tài khoản quản trị viên tích hợp và tất cả người dùng khác là thành viên của nhóm "Quản trị viên", làm việc ở chế độ phê duyệt của quản trị viên.
  • Tàn tật. Chế độ phê duyệt của quản trị viên và tất cả cài đặt chính sách Kiểm soát tài khoản người dùng được liên kết sẽ bị tắt.

;Tắt "EnableLUA"=dword:00000000

Phát hiện cài đặt ứng dụng và nhắc nhở nâng cao

Cài đặt này xác định các đặc điểm phát hiện cài đặt ứng dụng cho máy tính bằng cách kiểm tra xem các chương trình được sử dụng để triển khai ứng dụng có được ký hay không. Theo mặc định, nếu người dùng là thành viên của nhóm làm việc thì nó sẽ được bật.

Các giá trị tham số có thể có:

  • Đã bật (mặc định cho trang chủ). Nếu trình cài đặt ứng dụng phát hiện thấy cần có đặc quyền nâng cao, người dùng sẽ được nhắc nhập tên người dùng và mật khẩu cho tài khoản quản trị viên. Nếu người dùng nhập thông tin xác thực chính xác, hoạt động sẽ tiếp tục với các quyền thích hợp. Loại yêu cầu phụ thuộc vào nhóm người dùng thuộc về.
  • Đã tắt (mặc định của tổ chức). Khi bạn chọn cài đặt này, việc phát hiện trình cài đặt ứng dụng sẽ không nhắc bạn nâng cao. Cài đặt này thường được sử dụng trong các tổ chức có máy tính và người dùng là một phần của miền và sử dụng công nghệ Cài đặt phần mềm chính sách nhóm (GPSI) để triển khai ứng dụng. Theo đó, không cần phải phát hiện trình cài đặt.

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Tắt "EnableInstallerDetection"=dword:00000000

Chuyển sang màn hình an toàn khi được nhắc nâng cao

Cài đặt chính sách này xác định xem lời nhắc về độ cao được hiển thị trên màn hình tương tác của người dùng hay trên màn hình an toàn khi bắt đầu lời nhắc UAC. Giá trị mặc định được kích hoạt. Nếu bạn thay đổi cài đặt chính sách này, bạn phải khởi động lại máy tính.

Các giá trị tham số có thể có:

  • Bao gồm. Tất cả các yêu cầu nâng cao đều được hiển thị trên màn hình an toàn, bất kể cài đặt chính sách hành vi nhanh chóng dành cho quản trị viên và người dùng chuẩn.
  • Tàn tật. Tất cả các yêu cầu nâng cao quyền được hiển thị trên màn hình tương tác của người dùng.

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Tắt "PromptOnSecureDesktop"=dword:00000000

Hành vi của lời nhắc nâng cao dành cho quản trị viên trong chế độ phê duyệt của quản trị viên

Cài đặt hiện tại cho phép bạn xác định hành động của người dùng là thành viên của nhóm "Quản trị viên" khi thực hiện một thao tác yêu cầu nâng cao quyền. Giá trị mặc định được đặt "Yêu cầu sự đồng ý cho các tệp nhị phân của bên thứ ba (Không phải Windows)".

Các giá trị tham số có thể có:

  • Khuyến mãi không cần yêu cầu. Cho phép các tài khoản đặc quyền thực hiện thao tác yêu cầu nâng cao mà không cần có sự đồng ý hoặc nhập thông tin xác thực. Bạn chỉ nên sử dụng tùy chọn này trong những môi trường có hạn chế tối đa về người dùng. Khi bạn chọn cài đặt này, quyền của người dùng sẽ giống với tài khoản quản trị viên tích hợp.
  • . Đối với bất kỳ thao tác nào yêu cầu độ cao, màn hình bảo mật sẽ nhắc bạn nhập tên người dùng và mật khẩu gốc. Nếu thông tin đăng nhập chính xác được nhập, hoạt động sẽ tiếp tục với quyền người dùng tối đa hiện có.
  • Yêu cầu sự đồng ý trên máy tính để bàn an toàn. Đối với bất kỳ thao tác nào yêu cầu độ cao, màn hình an toàn sẽ nhắc bạn chọn: "Cho phép" hoặc "Cấm". Khi chọn tùy chọn "Cho phép", hoạt động sẽ tiếp tục với các quyền tối đa của người dùng hiện có.
  • Yêu cầu thông tin xác thực. Đối với bất kỳ thao tác nào yêu cầu độ cao, bạn sẽ được nhắc nhập tên người dùng và mật khẩu cho tài khoản quản trị viên. Nếu bạn nhập thông tin xác thực chính xác, thao tác sẽ tiếp tục với các đặc quyền nâng cao.
  • Yêu cầu sự đồng ý. Khi chọn tùy chọn này, đối với bất kỳ thao tác nào yêu cầu nâng cao quyền, người dùng sẽ được nhắc chọn một nút: "Cho phép" hoặc "Cấm". Khi bạn nhấn nút "Cho phép"
  • Yêu cầu sự đồng ý cho các tệp nhị phân của bên thứ ba (Không phải Windows). Khi bạn chọn tùy chọn này, lời nhắc lựa chọn sẽ được hiển thị trên màn hình bảo mật: "Cho phép" hoặc "Cấm", trong trường hợp hoạt động của ứng dụng bên thứ ba (không phải của Microsoft) yêu cầu nâng cao quyền. Chỉ với một cú nhấp chuột "Cho phép", hoạt động sẽ tiếp tục với các đặc quyền tối đa hiện có của người dùng.

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Quảng cáo mà không có lời nhắc "ConsentPromptBehaviorAdmin"=dword:00000000 ;Nhắc về thông tin xác thực trên màn hình bảo mật; "ConsentPromptBehaviorAdmin"=dword:00000001 ;Nhắc xin sự đồng ý trên màn hình bảo mật;"ConsentPromptBehaviorAdmin"=dword:00000002 ;Nhắc thông tin xác thực;"ConsentPro mptBehaviorAdmin" =dword:00000003 ;Yêu cầu đồng ý;"ConsentPromptBehaviorAdmin"=dword:00000004 ;Yêu cầu đồng ý đối với dữ liệu nhị phân không phải của Windows ;"ConsentPromptBehaviorAdmin"=dword:00000005

Hành vi nhắc nhở độ cao cho người dùng chuẩn

Cài đặt chính sách này xác định các hành động được thực hiện khi người dùng chuẩn tương tác với các ứng dụng yêu cầu đặc quyền nâng cao. Giá trị mặc định - "Nhắc thông tin xác thực trên máy tính để bàn an toàn".

Các giá trị tham số có thể có:

  • Yêu cầu thông tin xác thực. Sử dụng tùy chọn này, người dùng chuẩn sẽ được nhắc chọn tài khoản quản trị viên và nhập mật khẩu để thực hiện các hành động tiếp theo. Hoạt động sẽ chỉ tiếp tục nếu thông tin đăng nhập được nhập chính xác.
  • Tự động từ chối yêu cầu độ cao. Nếu bạn chọn tùy chọn này, người dùng chuẩn sẽ thấy thông báo lỗi từ chối truy cập khi thực hiện thao tác yêu cầu đặc quyền nâng cao. Các tổ chức có máy tính để bàn được người dùng thông thường sử dụng có thể chọn cài đặt chính sách này để giảm số lượng cuộc gọi hỗ trợ.
  • Nhắc nhập thông tin xác thực trên máy tính để bàn an toàn. Bằng cách chọn tùy chọn này, người dùng chuẩn sẽ được nhắc chọn tài khoản quản trị viên và nhập mật khẩu để chỉ thực hiện các hành động tiếp theo trên màn hình bảo mật. Hoạt động sẽ chỉ tiếp tục nếu thông tin đăng nhập được nhập chính xác.

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Tự động từ chối yêu cầu độ cao "ConsentPromptBehaviorUser"=dword:00000000 ;Nhắc thông tin xác thực trên màn hình an toàn "ConsentPromptBehaviorUser"=dword:00000001 ; Nhắc nhập thông tin xác thực "ConsentPromptBehaviorUser"=dword:00000003

Chỉ nâng cao quyền cho các ứng dụng UIAccess khi được cài đặt ở những vị trí an toàn

Cài đặt chính sách hiện tại cho phép bạn kiểm soát quyền vị trí của các ứng dụng yêu cầu thực thi ở mức toàn vẹn được xác định bởi thuộc tính Giao diện người dùng truy cập (UIAccess) trong một vị trí hệ thống tệp an toàn. Theo mặc định, cài đặt này được bật và đối với các ứng dụng có thể truy cập, thuộc tính UIAccess trong tệp kê khai được đặt thành True để kiểm soát cửa sổ yêu cầu leo ​​thang đặc quyền. Nếu ứng dụng được đặt thành false, nghĩa là nếu thuộc tính bị bỏ qua hoặc không có bảng kê khai nào cho hợp ngữ, ứng dụng sẽ không thể truy cập vào giao diện người dùng được bảo vệ. Chỉ các thư mục sau được coi là an toàn:

…\Program Files\, bao gồm các thư mục con

…\Windows\system32\

...\Program Files (x86)\, bao gồm các thư mục con cho phiên bản Windows 64-bit

Các giá trị tham số có thể có:

  • Bao gồm. Ứng dụng sẽ chỉ chạy với mức toàn vẹn UIAccess nếu nó nằm trong thư mục bảo mật trên hệ thống tệp.
  • Tàn tật. Ứng dụng sẽ chạy với mức toàn vẹn UIAccess ngay cả khi nó không nằm trong thư mục hệ thống tệp bảo mật.

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Tắt "EnableSecureUIAPaths"=dword:00000000

Nâng cao đặc quyền chỉ dành cho các tệp thực thi đã được ký và xác minh

Cài đặt Chính sách nhóm kiểm soát tài khoản người dùng này cho phép bạn xác định xem có xác thực chữ ký của các ứng dụng Cơ sở hạ tầng khóa công khai (PKI) tương tác yêu cầu nâng cao đặc quyền hay không. Mục đích của PKI là xác định chính sách cấp chứng chỉ số, cấp và thu hồi chúng cũng như lưu trữ thông tin cần thiết cho việc xác minh tính chính xác của chứng chỉ sau này. Các ứng dụng hỗ trợ PKI bao gồm: email bảo mật, giao thức thanh toán, séc điện tử, trao đổi thông tin điện tử, bảo mật dữ liệu qua mạng IP, biểu mẫu điện tử và tài liệu được ký điện tử. Nếu tính năng kiểm tra này được bật, các chương trình sẽ bắt đầu xác minh đường dẫn chứng chỉ. Giá trị mặc định của cài đặt này là Tắt.

Các giá trị tham số có thể có:

  • Bao gồm. Việc kiểm tra đường dẫn cho chứng chỉ PKI bị bắt buộc trước khi tệp được thực thi. Cài đặt này chủ yếu được sử dụng trong các tổ chức có miền nếu quản trị viên đã đặt chứng chỉ PKI vào cửa hàng của nhà xuất bản đáng tin cậy.
  • Tàn tật. Khi tùy chọn này được đặt, Kiểm soát tài khoản người dùng sẽ không bắt đầu kiểm tra chuỗi xác minh chứng chỉ PKI trước khi cho phép thực thi một tệp thực thi nhất định.

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Vô hiệu hóa "Xác thựcAdminCodeSignatures"=dword:00000000

Nếu việc ghi vào tệp hoặc sổ đăng ký không thành công, hãy ảo hóa vị trí của người dùng

Cài đặt này kiểm soát xem lỗi ghi ứng dụng có được chuyển hướng đến các vị trí cụ thể trong hệ thống tệp và sổ đăng ký hay không. Khi cài đặt này được bật, đối với các ứng dụng cũ cố đọc hoặc ghi thông tin bằng cách sử dụng các vùng được bảo vệ của hệ thống, Kiểm soát Tài khoản Người dùng sẽ ảo hóa hệ thống tệp và sổ đăng ký. Nhờ cài đặt này, UAC cho phép bạn giảm thiểu mối nguy hiểm khi các ứng dụng cũ chạy với tư cách quản trị viên và ghi dữ liệu vào thư mục %ProgramFiles%, %Windir% trong khi thực thi; %Windir%\system32 hoặc vào khóa đăng ký hệ thống HKLM\Software\. Giá trị mặc định được kích hoạt.

Các giá trị tham số có thể có:

  • Bao gồm. Lỗi ghi ứng dụng được chuyển hướng trong thời gian chạy đến các vị trí do người dùng xác định trong hệ thống tệp và sổ đăng ký.
  • Tàn tật. Các ứng dụng ghi dữ liệu vào các vị trí an toàn sẽ bị lỗi và không thực thi được.

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Tắt "Bật ảo hóa"=dword:00000000

Cho phép ứng dụng UIAccess yêu cầu độ cao mà không cần sử dụng màn hình bảo mật

Cài đặt chính sách mới này, được giới thiệu trong Windows 7 và Windows Server 2008 R2, kiểm soát xem các ứng dụng UIAccess có thể tự động vô hiệu hóa màn hình an toàn cho các yêu cầu nâng cao được người dùng chuẩn sử dụng hay không. Giá trị mặc định bị vô hiệu hóa.

Các giá trị tham số có thể có:

  • Bao gồm. Khi bạn chọn cài đặt này, các chương trình UIAccess, bao gồm Hỗ trợ từ xa của Windows, sẽ tự động tắt Màn hình an toàn cho các yêu cầu nâng cao. Nếu cài đặt chính sách "Kiểm soát tài khoản người dùng: Chuyển sang màn hình an toàn khi được nhắc nâng cao" được bật, lời nhắc sẽ xuất hiện trên màn hình tương tác của người dùng thay vì trên màn hình an toàn.
  • Tàn tật. Khi tùy chọn này được chọn, chỉ người dùng màn hình tương tác mới có thể tắt màn hình bảo mật hoặc bằng cách tắt cài đặt chính sách "Kiểm soát tài khoản người dùng: Chuyển sang màn hình an toàn khi được nhắc nâng cao".

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Tắt "EnableUIADesktopToggle"=dword:00000000

Chế độ phê duyệt của quản trị viên cho tài khoản quản trị viên tích hợp

Cài đặt này xác định xem Kiểm soát tài khoản người dùng có áp dụng chế độ phê duyệt của quản trị viên cho tài khoản tích hợp hay không "Người quản lý". Tài khoản tích hợp mặc định này cho phép người dùng đăng nhập vào chế độ tương thích với Windows XP, cho phép họ chạy bất kỳ ứng dụng nào với đầy đủ quyền quản trị viên. Theo mặc định, cài đặt chính sách này bị tắt.

Các giá trị tham số có thể có:

  • Bao gồm. Khi bạn chọn tùy chọn này, tài khoản quản trị viên tích hợp sẽ sử dụng chế độ phê duyệt của quản trị viên. Trong trường hợp này, bất kỳ hoạt động nào yêu cầu nâng cao quyền sẽ kèm theo yêu cầu xác nhận hoạt động.
  • Tàn tật. Tài khoản quản trị viên tích hợp chạy tất cả các ứng dụng có đầy đủ quyền quản trị viên.

Cài đặt chính sách hiện tại bằng sổ đăng ký:

;Tắt "FilterAdministratorToken"=dword:00000000

Phần kết luận

Bài viết này giải thích tất cả các cài đặt Kiểm soát tài khoản người dùng có thể có. Tất cả mười cài đặt chính sách bảo mật đều được xem xét, chịu trách nhiệm cho tất cả các hành động có thể có liên quan đến UAC. Ngoài việc thiết lập Kiểm soát tài khoản người dùng bằng Chính sách nhóm, các chỉnh sửa sổ đăng ký tương đương cũng được thảo luận.