.net - marcada - habilitar exportacion clave privada certificado
Cómo exportar una clave privada no exportable de la tienda (6)
Necesito exportar la clave privada desde la tienda de Windows. ¿Qué debo hacer si la clave está marcada como no exportable? Sé que es posible, el programa jailbreak puede exportar esta clave.
Para exportar la clave, utilizo Org.BouncyCastle.Security.DotNetUtilities.GetKeyPair()
que exporta la clave desde (RSACryptoServiceProvider)cryptoProv.ExportParameters(true)
. La clave exportada que uso en Org.BouncyCastle.Cms.CmsSignedDataGenerator
para la firma de CMS.
Necesito una solución para .Net, pero cualquier solución será útil. Gracias.
Desafortunadamente, la herramienta mencionada anteriormente está bloqueada por varios proveedores de antivirus. Si este es el caso para usted, eche un vistazo a lo siguiente.
Abra el certificado no exportable en la tienda de certificados y ubique el valor de Huella digital.
A continuación, abra regedit en la ruta siguiente y busque la clave de registro que coincida con el valor de la huella digital.
Una exportación de la clave de registro contendrá el certificado completo, incluida la clave privada. Una vez exportado, copie la exportación al otro servidor e impórtelo al registro.
El certificado aparecerá en el administrador de certificados con la clave privada incluida.
Machine Store: HKLM / SOFTWARE / Microsoft / SystemCertificates / MY / Certificados Tienda de usuario: HKCU / SOFTWARE / Microsoft / SystemCertificates / MY / Certificates
En un apuro, puede guardar la exportación como una copia de seguridad del certificado.
Esto funcionó para mí en Windows Server 2012: necesitaba exportar un certificado no exportable para configurar otro servidor ADFS y esto funcionó. Recuerde utilizar las instrucciones de jailbreak anteriores, es decir:
crypto :: certificates / export / systemstore: CERT_SYSTEM_STORE_LOCAL_MACHINE
La answer Gentil Kiwi es correcta. Desarrolló esta herramienta mimikatz que es capaz de recuperar claves privadas no exportables.
Sin embargo, sus instrucciones están desactualizadas. Necesitas:
Descargue la última versión de https://github.com/gentilkiwi/mimikatz/releases
Ejecute el cmd con derechos de administrador en la misma máquina donde se solicitó el certificado
Cambie al directorio mimikatz bin (versión Win32 o x64)
Ejecutar
mimikatz
Siga las instrucciones de la wiki y el archivo .pfx (protegido con contraseña mimikatz ) se colocará en la misma carpeta de la bandeja mimikatz
mimikatz # crypto :: capi
Local CryptoAPI parchadomimikatz # privilege :: depuración
Privilege ''20'' OKmimikatz # crypto :: cng
Servicio "KeyIso" parchadomimikatz # crypto :: certificates / systemtore: local_machine / store: my / export
* Almacén del sistema: ''local_machine'' (0x00020000)
* Tienda: ''mi''
- example.domain.local
Contenedor clave: example.domain.local
Proveedor: proveedor de almacenamiento de claves de software de Microsoft
Tipo: Clave de CNG (0xffffffff)
Clave exportable: NO
Tamaño de la llave: 2048
Exportación pública: OK - ''local_machine_my_0_example.domain.local.der''
Exportación privada: OK - ''local_machine_my_0_example.domain.local.pfx''
No hay API de la que tenga conocimiento para exportar claves privadas de Windows marcadas como "no exportables" en su creación. Puede haber varios hacks, pero sus detalles probablemente cambien de una versión del sistema a otra sin previo aviso.
Quería mencionar específicamente Jailbreak ( GitHub ) :
Fuga
Jailbreak es una herramienta para exportar certificados marcados como no exportables desde el almacén de certificados de Windows. Esto puede ser útil cuando necesite extraer certificados para copias de seguridad o pruebas. Debe tener acceso completo a la clave privada en el sistema de archivos para que jailbreak funcione.
Prerrequisitos: Win32
Tiene razón, no hay API en absoluto que sepa que debo exportar la clave privada marcada como no exportable. Pero si aplica parches (en memoria) a las API normales, puede usar la forma normal de exportar :)
Hay una nueva versión de mimikatz que también admite GNC Export (Windows Vista / 7/2008 ...)
- descargar (y ejecutar con privilegios administrativos): http://blog.gentilkiwi.com/mimikatz (versión troncal o última versión)
Ejecútelo e ingrese los siguientes comandos en su mensaje:
-
privilege::debug
(a menos que ya lo tenga o solo apunte a CryptoApi) -
crypto::patchcng
(nt 6) y / ocrypto::patchcapi
(nt 5 y 6) -
crypto::exportCertificates
y / ocrypto::exportCertificates CERT_SYSTEM_STORE_LOCAL_MACHINE
Los archivos .pfx son contraseñas protegidas "mimikatz"