Câu hỏi Cách xuất khóa riêng tư không thể xuất từ ​​cửa hàng


Tôi cần phải xuất khóa riêng từ cửa hàng Windows. Tôi nên làm gì nếu khóa được đánh dấu là không thể xuất? Tôi biết rằng có thể, chương trình jailbreak có thể xuất khóa này.

Để xuất khóa tôi sử dụng Org.BouncyCastle.Security.DotNetUtilities.GetKeyPair() xuất khóa từ (RSACryptoServiceProvider)cryptoProv.ExportParameters(true). Đã xuất khóa mà tôi sử dụng Org.BouncyCastle.Cms.CmsSignedDataGenerator cho chữ ký CMS.

Tôi cần giải pháp cho. Net, nhưng bất kỳ giải pháp sẽ hữu ích. Cảm ơn bạn.


36
2017-10-12 12:54


gốc


FindPrivateKey.exe util (tương tự với CspKeyContainerInfo.UniqueKeyContainerName) có thể lấy tên tệp khóa riêng trong thư mục "Microsoft \ Crypto \ RSA \". Các tệp đó có chứa khóa riêng tư không và cách tôi có thể giải mã khóa từ tệp này? - Gorf


Các câu trả lời:


Bạn nói đúng, không có API ở tất cả những gì tôi biết để xuất PrivateKey được đánh dấu là không thể xuất. Nhưng nếu bạn vá các API bình thường (trong bộ nhớ), bạn có thể sử dụng cách xuất thông thường :)

Có một phiên bản mới của mimikatz cũng hỗ trợ xuất CNG (Windows Vista / 7/2008 ...)

  1. tải xuống (và khởi chạy với các đặc quyền quản trị): http://blog.gentilkiwi.com/mimikatz (phiên bản trunk hoặc phiên bản cuối cùng)

Chạy nó và nhập các lệnh sau vào dấu nhắc của nó:

  1. privilege::debug (trừ khi bạn đã có hoặc chỉ nhắm mục tiêu CryptoApi)
  2. crypto::patchcng (nt 6) và / hoặc crypto::patchcapi (nt 5 & 6)
  3. crypto::exportCertificates và / hoặc crypto::exportCertificates CERT_SYSTEM_STORE_LOCAL_MACHINE

Tệp .pfx được bảo vệ bằng mật khẩu "mimikatz"


37
2017-10-19 23:30



Cảm ơn bạn. Theo tôi hiểu, tiện ích này chỉ xuất tất cả các khóa từ cửa hàng, nếu cửa hàng chứa quá nhiều chứng chỉ phải mất rất nhiều thời gian. Có lẽ tôi đã không tìm ra, nhưng bạn có thể xuất giấy chứng nhận pfx cụ thể với util này? Và làm thế nào tôi có thể giải mã tập tin * .pvk trong chương trình của tôi? Tôi đã giải quyết vấn đề của mình bằng cách tích hợp RSACryptoServiceProvider vào CmsSignedDataGenerator. - Gorf
Công cụ này xuất tất cả khóa và chứng chỉ PFX riêng lẻ của từng chứng chỉ. Có lẽ tôi có thể điều chỉnh mã để chỉ chọn một chứng chỉ cụ thể (nó là một công cụ pháp y không phải là một tiện ích;)) Đối với định dạng PVK, OpenSSL 1.x chuyển đổi nó mà không có bất kỳ vấn đề nào :) openssl rsa -inform pvk -in fichier.pvk -outform pem -out fichier.pem - Gentil Kiwi
Không hoạt động trên máy chủ 2012 - Sawan
Các lệnh trong mô-đun mã hóa đã thay đổi: crypto::cng hoặc là crypto::capi hoặc là crypto::keys /export - hewigovens
Sử dụng crypto::certificates /export /systemstore:CERT_SYSTEM_STORE_LOCAL_MACHINE cho Cửa hàng máy tính (github.com/gentilkiwi/mimikatz/blob/master/README.md#crypto) - Matej


tôi muốn đề cập đến Jailbreak đặc biệt (GitHub):

Jailbreak

Jailbreak là công cụ để xuất chứng chỉ được đánh dấu là   không thể xuất từ ​​cửa hàng chứng chỉ Windows. Điều này có thể hữu ích khi   bạn cần trích xuất chứng chỉ để sao lưu hoặc thử nghiệm. Bạn phải có   toàn quyền truy cập vào khóa riêng trên hệ thống tệp để   jailbreak để làm việc.

Điều kiện tiên quyết: Win32


13
2017-08-16 14:45



Tôi chỉ muốn chỉ ra rằng Jailbreak không hoạt động trên các hệ thống 64 bit, vì vậy bạn không thể sử dụng nó cho Vista / 7/2008 64-bit hoặc 2008 R2 +. Tuy nhiên, Mimikatz hoạt động trên nền 64 bit. - Joshua
Tệp DLL trong tệp zip từ liên kết tải xuống kích hoạt trình quét vi-rút của tôi ... - NFC guy
Tất nhiên, nếu nó có nghĩa là để cướp gốc của bạn! - FlavorScape
Không hoạt động trên máy chủ 2012 - Sawan
Làm việc cho tôi, Windows 10 Pro 1703. - RedShift


Gentil Kiwi câu trả lời đúng. Ông đã phát triển công cụ mimikatz này có thể truy xuất các khóa riêng không thể xuất.

Tuy nhiên, hướng dẫn của anh ta đã lỗi thời. Bạn cần:

  1. Tải xuống bản phát hành mới nhất từ https://github.com/gentilkiwi/mimikatz/releases

  2. Chạy cmd với quyền quản trị trong cùng một máy nơi chứng chỉ được yêu cầu

  3. Thay đổi thư mục bin mimikatz (phiên bản Win32 hoặc x64)

  4. Chạy mimikatz

  5. Theo hướng dẫn wiki và tệp .pfx (được bảo vệ bằng mật khẩu mimikatz) sẽ được đặt trong cùng một thư mục của thùng mimikatz

mimikatz # crypto :: capi
  Đã vá bản vá CryptoAPI cục bộ

mimikatz # privilege :: debug
  Privilege '20' OK

mimikatz # crypto :: cng
  Dịch vụ "KeyIso" được vá

mimikatz # crypto :: chứng chỉ / hệ thống cửa hàng: local_machine / store: my   /xuất khẩu
   * Cửa hàng hệ thống: 'local_machine' (0x00020000)
   * Lưu trữ: 'my'

  1. example.domain.local
      Vùng chứa khóa: example.domain.local
      Nhà cung cấp: Microsoft Software Key Storage Provider
      Loại: Khóa CNG (0xffffffff)
      Phím có thể xuất: NO
      Kích thước khóa: 2048
      Xuất công khai: OK - 'local_machine_my_0_example.domain.local.der'
      Xuất riêng tư: OK - 'local_machine_my_0_example.domain.local.pfx'

11
2018-03-22 15:42



tất cả vị trí cửa hàng đều thấy msdn.microsoft.com/en-us/library/windows/desktop/aa388136.aspxvà ngoài ra, vui lòng đề cập mật khẩu cho tất cả các pfx đã xuất là "mimikatz" - Bernhard
@Bernhard, tôi đã chỉnh sửa để thêm thông tin về mật khẩu. Cảm ơn bạn. - Zanon
Điều này chắc chắn nên được upvoted. Nó chỉ lưu lại mặt sau của tôi khi tôi yêu cầu một chứng chỉ và khi tạo yêu cầu trong Windows không đánh dấu được khóa là có thể xuất khẩu ...: | - Shaamaan
Được xác định là mối đe dọa và quyền truy cập bị từ chối bởi TrendMicro: trendmicro.com/vinfo/us/threat-encyclopedia/search/… - Kashyap


Thật không may, công cụ được đề cập ở trên bị chặn bởi một số nhà cung cấp chống vi-rút. Nếu đây là trường hợp của bạn thì hãy xem xét những điều sau đây.

Mở chứng chỉ không xuất được trong cửa hàng cert và định vị giá trị Thumbprint.

Tiếp theo, mở regedit vào đường dẫn bên dưới và tìm khóa đăng ký khớp với giá trị vân tay.

Việc xuất khóa đăng ký sẽ chứa chứng chỉ hoàn chỉnh bao gồm cả khóa cá nhân. Sau khi xuất, sao chép xuất sang máy chủ khác và nhập nó vào sổ đăng ký.

Chứng chỉ sẽ xuất hiện trong trình quản lý chứng chỉ bằng khóa riêng tư được bao gồm.

Cửa hàng máy: HKLM \ SOFTWARE \ Microsoft \ SystemCertificates \ MY \ Chứng chỉ Cửa hàng người dùng: HKCU \ SOFTWARE \ Microsoft \ SystemCertificates \ MY \ Certificates

Trong một nhúm, bạn có thể lưu xuất dưới dạng bản sao lưu của chứng chỉ.


2
2018-03-13 22:27



Chỉ cần kiểm tra nó, và khóa riêng là không có - chỉ cần trỏ đến một số SID, có lẽ tập tin trên đĩa (đó là mã hóa). Vì vậy, tôi không nghĩ rằng cách tiếp cận này sẽ làm việc. - StanTastic


Điều này đã làm việc cho tôi trên Windows Server 2012 - tôi cần xuất một chứng chỉ không thể xuất ra để thiết lập một máy chủ ADFS khác và điều này đã làm được điều này. Hãy nhớ sử dụng các hướng dẫn jailbreak trên đây:

crypto :: chứng chỉ / xuất / hệ thống: CERT_SYSTEM_STORE_LOCAL_MACHINE


0
2018-03-15 14:47





Không có API nào mà tôi biết để xuất các khóa riêng tư của Windows đã được đánh dấu là "không thể xuất khẩu" khi tạo ra chúng. Có thể có nhiều hack khác nhau, nhưng chi tiết của chúng có thể sẽ thay đổi từ phiên bản này sang phiên bản khác mà không cần cảnh báo.


-1
2017-10-12 14:57