最近,我正在从死的(bricked PSU)Windows XP机器上恢复数据,其中包括一些安装到IE 6中的客户端证书。我插入了一个临时PSU,试图导出证书,只是被告知“这些证书被标记作为不可导出的,因此私钥不能被导出“。
我已经在intertubes上进行了一些search,但是我能find的唯一build议与预安装场景有关(例如,显然有一个选项可以在安装过程中检查以避免这种情况)。
我的问题是:
在已标记为不可导出的证书上导出私钥? 呃, 一个叫Jailbreak的工具怎么样?
“不可CryptExportKey() ”意味着CryptExportKey()无法访问CryptExportKey() 。 在内存中修补CryptoAPI可能是可能的,但我还没有find任何引用。
还有一种方法可以在另一个系统中加载registry“configuration单元”,并复制证书或编辑“不可移植”的位…但是,在googlenet上再也没有这样的事情。
更新:
有一个新版本的mimikatz也支持CNG导出(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”
旧post:
也许你可以尝试另一个工具与其他私钥函数:“mimikatz”,它导出其他不能导出其他密钥(不可导出,中等保护,孤儿,等等)。“位”不更改系统文件上,只有程序上下文被改变:)例如,用户(而不是pipe理员)可以导出他自己的受保护的/不可导出的密钥而没有特殊的权限。