Gor*_*orf 46 .net encryption bouncycastle rsacryptoserviceprovider
我需要从Windows商店导出私钥.如果密钥被标记为不可导出,我该怎么办?我知道有可能,程序越狱可以导出这个密钥.
要导出密钥,我使用Org.BouncyCastle.Security.DotNetUtilities.GetKeyPair()该导出密钥(RSACryptoServiceProvider)cryptoProv.ExportParameters(true).导出的密钥我Org.BouncyCastle.Cms.CmsSignedDataGenerator用于CMS签名.
我需要.Net的解决方案,但任何解决方案都会很有用.谢谢.
Gen*_*iwi 45
你是对的,根本没有API,我知道要导出标记为不可导出的PrivateKey.但是如果你修补(在内存中)正常的API,你可以使用正常的方式导出:)
有一个新版本的mimikatz也支持CNG Export(Windows Vista/7/2008 ......)
运行它并在其提示符中输入以下命令:
privilege::debug (除非您已经拥有它或仅针对CryptoApi)crypto::patchcng(nt 6)和/或crypto::patchcapi(nt 5&6)crypto::exportCertificates 和/或 crypto::exportCertificates CERT_SYSTEM_STORE_LOCAL_MACHINE.pfx文件受密码保护"mimikatz"
Zan*_*non 17
Gentil Kiwi的回答是正确的.他开发了这种能够检索不可导出的私钥的mimikatz工具.
但是,他的指示已经过时了.你需要:
在请求证书的同一台计算机上运行具有管理员权限的cmd
切换到mimikatz bin目录(Win32或x64版本)
跑 mimikatz
按照wiki说明操作,.pfx文件(使用密码mimikatz保护)将放在mimikatz bin的同一文件夹中
mimikatz #crypto :: capi
本地CryptoAPI修补mimikatz#privilege :: debug
Privilege'20'好的mimikatz #crypto :: cng
"KeyIso"服务修补mimikatz #crypto :: certificates/systemstore:local_machine/store:my/export
*系统存储:'local_machine'(0x00020000)
*存储:'my'
- example.domain.local
密钥容器:example.domain.local
商:微软软件密钥存储提供
类型:CNG密钥(为0xffffffff)
可导出密钥:NO
主要尺寸:2048
公共出口:OK - "local_machine_my_0_example.domain.local.der"
私人export:OK - 'local_machine_my_0_example.domain.local.pfx'
Coc*_*lla 15
此处提供了可用于控制台应用程序的代码和二进制文件,该应用程序可以导出标记为不可导出的私钥,并且不会像 mimikatz那样触发防病毒应用程序。
该代码基于NCC Group的一篇论文。将需要使用本地系统帐户运行该工具,因为它通过直接写入 Windowslsass进程使用的内存来工作,以便临时将密钥标记为可导出。这是可以做到用PsExecSysinternals公司的PsTools:
PsExec64.exe -s -i cmd
导出程序
| 归档时间: |
|
| 查看次数: |
102085 次 |
| 最近记录: |