Điểm:1

Làm cách nào để đặt quyền trên kho lưu trữ chứng chỉ dịch vụ?

lá cờ cz

Tôi có một dịch vụ yêu cầu quyền truy cập vào kho chứng chỉ của chính dịch vụ đó nhưng bị từ chối quyền truy cập.

Tôi đã kiểm tra với mmc và snapin Chứng chỉ cho dịch vụ và cửa hàng tồn tại và chứa các chứng chỉ. Tuy nhiên, trong snapin, tôi không thể xem hoặc đặt quyền.

Tôi đã thử kết xuất các chứng chỉ (để kiểm tra, sau đó thay đổi quyền) bằng cách sử dụng certutil nhưng tôi vẫn nhận được LỖI với "Tham số không chính xác". Cú pháp tôi sử dụng là

certutil -service -store tên dịch vụ\my

Tên dịch vụ là tên dịch vụ của tôi và "của tôi" được xác định chính xác là tên của cửa hàng "Cá nhân" của dịch vụ bởi certutil. Tôi biết cửa hàng tồn tại kể từ khi mmc hiển thị nó.

Tôi đang làm gì sai với certutil?

Điểm:2
lá cờ cn

Tôi không nghĩ rằng bạn có thể nhập chứng chỉ vào cửa hàng cá nhân của người dùng khác. Tôi khuyên bạn nên thêm nó vào cửa hàng của máy và cấp cho người dùng dịch vụ quyền truy cập vào chứng chỉ/khóa ở đó. Bạn cũng có thể thử đăng nhập/runas người dùng dịch vụ và thêm nó theo cách đó nhưng tôi chưa bao giờ thử điều đó.

Chỉnh sửa: Tôi đã xác nhận điều này sau khi thử nghiệm, mặc dù tôi không chắc liệu đây có phải là hành vi dự kiến ​​hay không do tài liệu kém về certutil. certutil.exe -store -service (Tên cửa hàng) dường như là cú pháp thích hợp để truy cập các chứng chỉ trong một cửa hàng dịch vụ. Cửa hàng dịch vụ được đặt tại HKLM\SOFTWARE\Microsoft\Cryptography\Services\(ServiceName)\ trong sổ đăng ký, nhưng certutil chèn SID của người dùng hiện tại thay vì tên dịch vụ khi tìm kiếm như sau: HKLM\Software\Microsoft\Cryptography\Services\(SID)\SystemCertificates\, làm cho việc tìm kiếm thất bại. Bạn có thể ghi đè SID bằng -sid nhưng có vẻ như nó không hoạt động nếu bạn cung cấp tên dịch vụ. Nếu bạn tra cứu SID dịch vụ với sc.exe showsid (Tên dịch vụ) và cắm nó vào thì nó báo "Tên người dùng hoặc mật khẩu không chính xác." Có vẻ như certutil chỉ hỗ trợ một vài SID nổi tiếng (tôi thậm chí đã thử chuyển đổi SID dịch vụ sang dạng số của nó). Nếu bạn muốn sao chép công việc của tôi, bạn sẽ cần phải phá hủy Procmon.

Vì vậy, khi nhận thấy điều đó, tôi sẽ cho rằng bạn chỉ có thể nhập chứng chỉ nếu bạn chạy certutil trong ngữ cảnh của dịch vụ. Có vẻ như cách dễ nhất để giải quyết vấn đề của bạn là

  1. chỉnh sửa sổ đăng ký theo cách thủ công
  2. lưu trữ các chứng chỉ trong cửa hàng máy và cấp quyền dịch vụ cho chúng
  3. lưu trữ chứng chỉ trong kho lưu trữ người dùng của người dùng mà dịch vụ chạy dưới dạng
flashbang avatar
lá cờ cn
Có khả năng liên quan - https://serverfault.com/questions/450831/remove-a-certificate-from-the-windows-network-service-certificate-store?rq=1
lá cờ cz
Không, không phải vậy. Tôi không muốn nhập chứng chỉ vào cửa hàng cá nhân của người dùng khác. (Trên thực tế, việc nhập cũng như cửa hàng của người dùng khác đều không được đề cập trong câu hỏi.) Đây là về các cửa hàng dịch vụ (không phải cửa hàng của người dùng dịch vụ) mà mmc có thể xem nhưng certutil dường như không thể xem.
flashbang avatar
lá cờ cn
Xin chào @AndrewJ.Brhm - Tôi đã cập nhật câu trả lời của mình bằng một số nghiên cứu mà tôi tin rằng xác nhận lý thuyết ban đầu của mình.
lá cờ cz
Những quan sát thú vị. Nhưng làm cách nào tôi có thể chạy trong ngữ cảnh của dịch vụ trái ngược với ngữ cảnh của tài khoản dịch vụ?
flashbang avatar
lá cờ cn
Câu hỏi hay, một cách tôi có thể nghĩ ra là sử dụng psexec. Có vẻ như nó hỗ trợ cờ `-r` cho phép bạn tương tác với một dịch vụ, nhưng điều đó có thể không hoạt động vì tôi nghĩ rằng psexec chạy như một dịch vụ của chính nó. Bạn cũng có thể thử một cái gì đó trong PowerShell như thế này: `New-PSDrive MySvcCert -PSProvider Certificate -Root '(ServiceName)\My'` rồi `cd MySvcCert:` nhưng tôi chưa bao giờ làm điều đó.
SamErde avatar
lá cờ gg
Bạn đã thử sử dụng "SID nổi tiếng" của nhóm Quản trị viên cục bộ hoặc HỆ THỐNG ĐỊA PHƯƠNG chưa?
flashbang avatar
lá cờ cn
@SturdyErde Tôi đã thử một trong những SID nổi tiếng mà nó hỗ trợ (Dịch vụ mạng - 24) và nó đã chèn SID `S-1-5-20` đầy đủ. Không muốn kiểm tra những cái khác, nhưng tôi cho rằng nó sẽ tương tự. Hai cái còn lại mà nó tuyên bố sẽ hỗ trợ là 22 và 23 cho Hệ thống cục bộ/Dịch vụ cục bộ.
lá cờ cz
Đó vẫn là sid cho các tài khoản.Ở đây tôi cần quyền truy cập vào cửa hàng chứng chỉ của dịch vụ, không phải của một tài khoản cụ thể (và cũng không phải của tài khoản dịch vụ).

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.