Ngăn các ứng dụng cụ thể không được chạy với tư cách quản trị viên


13

Lý lịch

Hầu hết các bộ công cụ cài đặt có khả năng khởi chạy, tự động hoặc nếu không, các chương trình bên ngoài sau khi cài đặt. Điều này thường xuất hiện trong trình cài đặt thông qua các tùy chọn như "Hiển thị readme" hoặc "Chương trình bắt đầu".

Vấn đề

Vấn đề là, nhiều trình cài đặt này được mã hóa kém và không bỏ quyền thích hợp. Ví dụ: tự động khởi động ứng dụng hoặc mở trang chủ của ứng dụng trong trình duyệt, thường dẫn đến việc khởi chạy ứng dụng hoặc trình duyệt với các đặc quyền Quản trị của trình cài đặt hoặc mức toàn vẹn UAC "Cao"!

Điều này có khả năng mở ra các vi phạm bảo mật, bằng cách mở ứng dụng đã cài đặt hoặc trang web (và có thể là các tiện ích bổ sung cho trình duyệt), hiện đang chạy với quyền nâng cao.

(Đây là lý do tôi thực sự khuyên bạn không bao giờ chọn tùy chọn tự động khởi chạy khi cài đặt phần mềm.)

Câu hỏi

Có cách nào để ngăn chặn các ứng dụng nhất định (chẳng hạn như một trình duyệt web) từ bao giờ được đưa ra với quyền hành chính, tức là, một thả đặc ân tự động dựa trên tên quá trình?

windows  uac 

2
Tôi thực sự thích câu hỏi này. Có nhiều sản phẩm để tăng quyền cho các quy trình dựa trên con đường, băm, vv Tôi rất muốn nhìn thấy một cái gì đó mà giọt quyền tự động cho, nói, iexplore.exe, firefox.exe, chrome.exe vv
Patrick Seymour

1
Nếu chương trình sinh sản có quyền quản trị, bạn không thể hoàn tác bất cứ điều gì bạn nghĩ ra và chạy nó chứ? :)
cʜιᴇ007

1
Tôi đoán nó có thể, nhưng tôi sẽ ngạc nhiên nếu một trình cài đặt giống như, "Này, bạn sẽ duyệt trang chủ của chúng tôi với tư cách quản trị viên, anh bạn!" và liên tục thực thi các quyền đó. Tôi không nghĩ rằng tôi sẽ mua phần mềm từ một công ty như vậy, miễn là tôi có thể tìm hiểu về nó.
Patrick Seymour

Câu trả lời:


2

Về nguyên tắc, tôi đồng ý với câu trả lời "CHẠY".

Dường như với tôi rằng những gì bạn muốn là cho các trường hợp quy trình phụ được tự động giới hạn nếu chúng đang chạy với tư cách quản trị viên.

Có một vài cách tiếp cận. Tuy nhiên, chúng là / có thể quyết liệt và không dành cho quản trị viên rụt rè vì chi phí quá cao. Họ sẽ làm công việc, mặc dù.

Chỉ hiển thị Cách tiếp cận trừ khi được yêu cầu nhiều hơn :

Đối với mỗi ứng dụng bạn muốn hạn chế:

right click the executable and go to **PROPERTIES**
go to the **SECURITY** tab
click **ADVANCED** at the bottom
click **ADD** at the bottom
type **ADMINISTRATORS** for the name. if you have a domain then adjust appropriately
press **OK** to get the custom settings for the administrator's group
check the **DENY** checkbox next to "TRAVERSE FOLDER/ EXECUTE FILE" permission (2nd on the list)
hit OK and so-on until you've closed the properties entry for that file.

Bây giờ, các thành viên của nhóm quản trị viên không thể thực thi tệp đó. Họ có thể quay lại và thay đổi quyền để bỏ kiểm tra để họ có thể chạy nó, nhưng họ phải cố ý làm điều đó.

Ngoài ra, vì bạn lo lắng về điều này xảy ra trong quá trình cài đặt, bạn sẽ muốn thực hiện quy trình tương tự cho "người dùng" HỆ THỐNG , cũng hoạt động như một quản trị viên, bởi vì tài khoản này có thể được sử dụng trong một số cài đặt ( một thông tin tài khoản "ADMIN" của Windows có thể được sử dụng để có được mã thông báo thông tin HỆ THỐNG ... nhưng đây là cách vượt xa những gì câu hỏi này đang nhắm mục tiêu).

Dưới đây là một số hình ảnh về việc này trên windows 7:

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây


1

Bạn sẽ có thể đạt được cấp quyền thấp hơn với dropmyrights hoặc psexec.

Phần khó khăn dường như là làm cho nó xảy ra tự động khi trình cài đặt sinh ra một phiên bản mới của ứng dụng.

Vì vậy, tôi nghi ngờ rằng ít nhất bạn sẽ cần phải điều chỉnh các liên kết tệp cho tất cả các loại tệp có liên quan và cả URL, chuẩn bị lệnh hiện có của bạn bằng lệnh psexec chẳng hạn.

Điều đó sẽ hoạt động miễn là trình cài đặt cố gắng mở tệp / url bằng ứng dụng được liên kết thay vì chỉ định thực thi để chạy. Nếu đường dẫn thực thi được chỉ định rõ ràng, tôi đoán bạn sẽ cần phải thay thế tệp thực thi tiêu chuẩn bằng một tệp thực thi shim chạy lệnh bạn muốn.


1

Một điều đang bị bỏ lỡ ở đây là Internet Explorer và Windows Explorer CANNOT có quyền nâng cao (trừ khi bạn thực hiện hack registry). Tôi không biết về Firefox, Chrome, v.v. nhưng nếu bạn cố chạy Internet Explorer với tư cách quản trị viên, nó sẽ vui vẻ chấp nhận thông tin đăng nhập của bạn nhưng thực tế sẽ không nâng cao quyền. Đây là một tính năng bảo mật của Windows Vista trở lên. Và bên cạnh đó, cách duy nhất UAC không có hiệu lực (trừ khi bạn tắt nó đi) là nếu bạn đã đăng nhập vào tài khoản quản trị viên tích hợp. Chỉ vì một cái gì đó đã được cài đặt với quyền nâng cao, điều đó không có nghĩa là trình cài đặt có thể cấp cho chương trình quyền nâng cao đó. Quyền được xác định bởi tài khoản mà chương trình được chạy. Cách duy nhất để một chương trình có thể chạy với các quyền nâng cao mà bạn không biết đó là nếu,


1
RUNAS /trustlevel:<TrustLevel> program

/trustlevel       <Level> should be one of levels enumerated
                  in /showtrustlevels.
/showtrustlevels  displays the trust levels that can be used
                  as arguments to /trustlevel.

This requires an elevated command prompt.

Giải thích / Từng bước

  1. Mở menu bắt đầu và nhập cmd trên thanh tìm kiếm
  2. Nhấp chuột phải vào dấu nhắc lệnh và chọn chạy với tư cách quản trị viên Loại:

    RUNAS /showtrustlevels
    
  3. Chọn mức độ tin cậy phù hợp để ứng dụng của bạn chạy vào, Xmức độ tin cậy bạn muốn sử dụng và nhập vào đâu:

    RUNAS /trustlevel:X "Application target"
    

Tôi không nghĩ rằng điều này sẽ làm việc. Để sử dụng RunAs để cửa sổ trình duyệt kết quả chạy với quyền thấp, bạn sẽ phải chạy trình cài đặt (thông qua RunAs) với quyền thấp. Làm như vậy có thể sẽ khiến trình cài đặt không hoạt động.
Patrick Seymour

tốt, nếu bạn muốn làm theo cách đó, bạn sẽ thay đổi biến môi trường cho trình duyệt của mình để bao gồm lệnh RUNAS / trustlevel thì trình duyệt sẽ luôn khởi chạy ở mức độ tin cậy đã chọn, không chắc bạn sẽ cần phải chạy trình duyệt trong một trình duyệt tình huống nâng cao ... đáng suy nghĩ
David McGowan

Thay đổi biến môi trường là một chút nhiệm vụ, nó sẽ yêu cầu tạo một exe đơn giản để thay thế bản gốc có chứa một cuộc gọi đơn giản đến thực thi thực sự với lệnh RUNAS đi kèm. như tôi đã nói, một chút nhiệm vụ bạn chỉ có thể sao chép địa chỉ mà cửa sổ trình duyệt khởi chạy và sau đó đóng và khởi chạy lại trình duyệt và nhập địa chỉ vào
David McGowan

0

Tôi đã xem xét các giải pháp khác nhau và tôi có thể nói với bạn rằng các bảng kê khai ứng dụng hoặc cờ appcompat sẽ không hoạt động (vâng đó không phải là câu trả lời thực sự nhưng tôi vẫn muốn chia sẻ điều này;))

cái có thể gần với thứ bạn đang tìm kiếm là cái gọi là mức toàn vẹn , nó có thể được đặt trong hệ thống tệp (ACL) và có ảnh hưởng đến mã thông báo mà quá trình đang giữ

này bài viết giải thích cách bạn thực hiện một exe luôn chạy ở "mức toàn vẹn thấp"

một aproach khác sẽ là một công cụ của bên thứ ba, như một quy trình theo dõi thời gian thực mà trình quét virus hoặc tường lửa ứng dụng sẽ sử dụng, nhưng tôi không biết bất kỳ công cụ nào có thể được cấu hình theo cách đó.


2
bạn có thể bỏ qua câu trả lời của tôi, tôi chỉ thử phương pháp đó và nó không hoạt động :(
weberik

0

Bạn có thể sử dụng AppLocker.

Tôi tin rằng điều này có sẵn trong Windows 7 Enterprise, Ultimate và Server 2K8 trở lên. Không chắc chắn về Windows 8 nhưng sẽ cho rằng nó giống nhau (Enterprise và Ultimate).

Bạn có thể thiết lập AppLocker bằng cách đi vào chính sách nhóm:

Cấu hình máy tính -> Cài đặt Windows -> Cài đặt bảo mật -> Chính sách kiểm soát ứng dụng -> AppLocker -> Quy tắc thực thi.

Nhấp chuột phải và "Tạo quy tắc mới ..."

Tại đây, bạn có thể chặn các tệp thực thi cụ thể khỏi bị chạy bởi những người dùng hoặc nhóm được chọn. Trong ví dụ của bạn, bạn có thể chọn từ chối thực thi Internet Explorer bởi nhóm Quản trị viên.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.