Vâng, nó thực hiện với các đặc quyền nâng cao.
Bài kiểm tra đơn giản:
Bạn có thể kiểm tra điều này khá dễ dàng bằng cách mở một dấu nhắc lệnh nâng và không nâng. Chạy lệnh notepad.exe
trong cả hai và thử lưu tệp văn bản trống vào C:\Windows
. Một sẽ lưu, một sẽ ném một lỗi quyền.
Kiểm tra kỹ lưỡng:
Nếu điều đó không đủ để xác nhận điều đó cho bạn (nó không thực sự làm tôi hài lòng), bạn có thể sử dụng AccessChk từ SysIternals. Bạn sẽ cần chạy nó từ một dấu nhắc lệnh nâng cao.
Hãy bắt đầu bằng cách kiểm tra hai quy trình Notepad đang chạy:
Notepad: ( accesschk.exe -v -p notepad
)
[11140] notepad.exe
Medium Mandatory Level [No-Write-Up, No-Read-Up]
RW DOMAIN\Tannerf
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[11004] notepad.exe
High Mandatory Level [No-Write-Up, No-Read-Up]
RW BUILTIN\Administrators
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
Một cái đang chạy dưới tên người dùng tên miền của tôi, cái kia đang chạy trong nhóm tích hợp Quản trị viên. Nó cũng có một mức độ bắt buộc cao . Bạn cũng có thể chạy với -f
cờ để phân tích các đặc quyền và mã thông báo.
Tệp MSIExec và MSI
Tôi nghĩ mọi thứ có thể phức tạp hơn một chút khi chạy msiexec
. Tôi có trình cài đặt độc lập Google Chrome rất tiện để kiểm tra.
msiexec.exe khởi chạy trình cài đặt Chrome từ dấu nhắc nâng cao:
D:\Users\tannerf>accesschk.exe -p msiexec.exe
[10540] msiexec.exe
RW BUILTIN\Administrators
RW NT AUTHORITY\SYSTEM
chrome_installer.exe được sinh ra bởi MSI:
D:\Users\tannerf>accesschk.exe -p chrome_installer.exe
[5552] chrome_installer.exe
NT AUTHORITY\SYSTEM
OWNER RIGHTS
RW NT SERVICE\msiserver
Không cắt và khô nữa! Có vẻ như một chrome_installer.exe
quy trình đã được chạy qua dịch vụ MSIServer.
Điều này khiến tôi tự hỏi những trình cài đặt khác có thể có hành vi gì, vì vậy tôi đã chạy Evernote.msi tôi có ích:
Nâng cao msiexec.exe khởi chạy trình cài đặt Evernote:
[6916] msiexec.exe
High Mandatory Level [No-Write-Up, No-Read-Up]
RW BUILTIN\Administrators
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[4652] msiexec.exe
System Mandatory Level [No-Write-Up, No-Read-Up]
R BUILTIN\Administrators
PROCESS_QUERY_INFORMATION
PROCESS_QUERY_LIMITED_INFORMATION
Hấp dẫn; lần này có một msiexec.exe chạy dưới cấp hệ thống. Tôi đã sử dụng Process Monitor để thấy rằng cửa sổ cài đặt thực sự bật lên xuất phát từ quá trình msiexec ở cấp hệ thống. Giết mức bắt buộc cao cũng giết chết quá trình cấp hệ thống.
Msiexec.exe không nâng cao khởi chạy trình cài đặt Evernote:
[7472] msiexec.exe
Medium Mandatory Level [No-Write-Up, No-Read-Up]
RW DOMAIN\Tannerf
PROCESS_ALL_ACCESS
RW NT AUTHORITY\SYSTEM
PROCESS_ALL_ACCESS
[4404] msiexec.exe
System Mandatory Level [No-Write-Up, No-Read-Up]
R BUILTIN\Administrators
PROCESS_QUERY_INFORMATION
PROCESS_QUERY_LIMITED_INFORMATION
Có vẻ như Evernote sẽ có quyền truy cập cấp hệ thống. Bấm đúp vào trình cài đặt có cùng kết quả.
Phần kết luận:
Tôi nghĩ rằng nó đã chứng minh khá rõ rằng một quy trình sẽ kế thừa các quyền trừ khi có quy định khác. Điều đó không đảm bảo msiexec SomeProgram.msi
sẽ chạy với mức bắt buộc cao trong tất cả các quy trình xử lý; nó có thể chạy dưới cấp hệ thống hoặc dưới MSIServer. Số dặm của bạn có thể thay đổi và tôi sẽ không ngạc nhiên khi thấy nhiều trường hợp các quy tắc này dường như bị "phá vỡ".