Comment exporter la clé privée non exportable du magasin

je dois exporter la clé privée de Windows store. Que dois-je faire si la clé est marquée comme non-exportable? Je sais que c'est possible, le programme jailbreak peut exporter cette clé.

Pour exporter la clé j'utilise Org.BouncyCastle.Security.DotNetUtilities.GetKeyPair() qui exporte la clé de (RSACryptoServiceProvider)cryptoProv.ExportParameters(true). Clé exportée j'utilise Org.BouncyCastle.Cms.CmsSignedDataGenerator CMS pour la signature.

j'ai besoin d'une solution pour .Net, mais n'importe quelle solution sera utile. Remercier.

36
demandé sur xav 2010-10-12 16:54:09

7 réponses

vous avez raison, pas D'API du tout que je sache pour exporter PrivateKey marqué comme non exportable. Mais si vous patch (en mémoire) les API normales, vous pouvez utiliser la manière normale pour exporter :)

il existe une nouvelle version de mimikatz qui supporte également CNG Export (Windows Vista / 7 / 2008)...)

  1. télécharger (et de lancement avec des privilèges d'administrateur) : http://blog.gentilkiwi.com/mimikatz (le tronc de la version ou de la dernière version)

Exécuter et entrez les commandes suivantes dans son invite:

  1. privilege::debug (à moins que vous ne l'ayez déjà ou que vous ne cibliez que CryptoApi)
  2. crypto::patchcng (nt 6) et/ou crypto::patchcapi (nt 5 & 6)
  3. crypto::exportCertificates et/ou crypto::exportCertificates CERT_SYSTEM_STORE_LOCAL_MACHINE

.les fichiers pfx sont des mots de passe protégés "mimikatz"

37
répondu Gentil Kiwi 2016-03-22 16:52:55

je voulais mentionner Jailbreak précisément ( GitHub):

Jailbreak

Jailbreak est un outil pour exporter des certificats marqués comme non exportable à partir de la boutique de certificats Windows. Cela peut aider lorsque vous devez extraire des certificats pour la sauvegarde ou le test. Vous devez avoir accès complet à la clé privée sur le système de fichiers jailbreak de travail.

Prérequis: Win32

13
répondu Ian Boyd 2018-04-18 15:40:21

Gentil Kiwi réponse est correct. Il a développé cet outil mimikatz qui est capable de récupérer des clés privées non exportables.

cependant, ses instructions sont périmées. Vous avez besoin de:

  1. Téléchargez la dernière version de https://github.com/gentilkiwi/mimikatz/releases

  2. exécutez le cmd avec les droits d'administrateur dans la même machine où le certificat était demandé

  3. Changement de la mimikatz répertoire bin (Win32 ou la version 64 bits)

  4. Exécuter mimikatz

  5. suivez le wiki instructions et la .fichier pfx (protégé par mot de passe mimikatz) sera placé dans le même dossier de la mimikatz bin

mimikatz # crypto:: capi

CryptoAPI Local patched

mimikatz # privilège::debug

Privilège ' 20 ' OK

mimikatz # crypto:: cng

Service "KeyIso" patched

mimikatz # crypto::certificats /systemstore:local_machine /magasin:mon exportation/

* Système de Store : 'local_machine' (0x00020000)

* Magasin : 'ma'

  1. exemple.domaine.local

         Conteneur clé: exemple.domaine.local

         Fournisseur De : Logiciel Microsoft Fournisseur De Stockage Des Clés

         Type: touche CNG (0xffffff)

         Clé Exportable: NO

         Taille de la clé: 2048

         Exportation publique: OK - ' local_machine_my_0_example.domaine.local.der'

         Export privé: OK - ' local_machine_my_0_example.domaine.local.pfx'
11
répondu Zanon 2017-05-23 11:54:25

Malheureusement, l'outil mentionné ci-dessus est bloqué par plusieurs éditeurs d'antivirus. Si c'est le cas pour vous, alors jetez un oeil à la suivante.

ouvrez le cert Non exportable dans le magasin cert et localisez la valeur de L'empreinte du pouce.

Ensuite, ouvrez regedit au chemin ci-dessous et localisez la clé de Registre correspondant à la valeur d'empreinte du pouce.

Une exportation de la clé de registre contient le certificat complet, y compris la clé privée. Une fois exporté, copiez l'exportation vers l'autre serveur et importez-la dans le registre.

Le cert apparaîtra dans le gestionnaire de certificat avec la clé privée inclus.

Machine Store: HKLM\SOFTWARE\Microsoft\SystemCertificates\MY\Certificates User Store: HKCU\SOFTWARE\Microsoft\SystemCertificates\MY\Certificates

Dans un pincement, vous pourriez économiser de l'exportation comme une sauvegarde du certificat.

2
répondu Ernest Correale 2018-03-13 22:27:13

cela a fonctionné pour moi sur Windows Server 2012-j'avais besoin d'exporter un certificat non exportable pour configurer un autre serveur ADFS et cela a fait l'affaire. N'oubliez pas d'utiliser les instructions ci-dessus concernant les évasions de prison, à savoir:

crypto:: certificates / export /systemstore: CERT_SYSTEM_STORE_LOCAL_MACHINE

0
répondu miker2069 2017-03-15 14:47:59

vous pourriez avoir besoin de désinstaller antivirus (dans mon cas, j'ai dû se débarrasser de Avast).

Cela permet de s'assurer que crypto::cng le commandement fonctionnera. Sinon, il me donnait des erreurs:

mimikatz $ crypto::cng
ERROR kull_m_patch_genericProcessOrServiceFromBuild ; OpenProcess (0x00000005)

Après le retrait de Avast:

mimikatz $ crypto::cng
"KeyIso" service patched

Magie. (:

BTW

Windows Defender est un autre logiciel espion bloquant le programme pour fonctionner, donc vous aurez besoin aussi de le désactiver pour le temps d'utiliser le programme au moins.

0
répondu Daniel Kmak 2018-09-27 15:35:26

il n'y a pas D'API que je connaisse pour exporter les clés privées de Windows qui ont été marquées "non exportable" lors de leur création. Il peut y avoir divers hacks, mais leurs détails seront probablement changer d'une version de système à l'autre sans avertissement.

-1
répondu James K Polk 2010-10-12 14:57:21