64

Windowsストアから秘密鍵をエクスポートする必要があります。キーがエクスポート不可としてマークされている場合はどうすればよいですか?私はそれが可能であることを知っています、プログラム脱獄はこのキーをエクスポートすることができます。

Org.BouncyCastle.Security.DotNetUtilities.GetKeyPair()キーをエクスポートするには、からキーをエクスポートするものを使用します(RSACryptoServiceProvider)cryptoProv.ExportParameters(true)Org.BouncyCastle.Cms.CmsSignedDataGeneratorCMS署名に使用するエクスポートされたキー。

.Netのソリューションが必要ですが、どのソリューションでも役に立ちます。ありがとうございました。

4

7 に答える 7

55

そうです、エクスポート不可としてマークされたPrivateKeyをエクスポートすることを私が知っているAPIはまったくありません。ただし、(メモリ内で)通常のAPIにパッチを適用する場合は、通常の方法でエクスポートできます:)

CNGエクスポートもサポートするmimikatzの新しいバージョンがあります(Windows Vista / 7/2008 ...)

  1. ダウンロード(および管理者権限で起動): http: //blog.gentilkiwi.com/mimikatz(トランクバージョンまたは最後のバージョン)

それを実行し、プロンプトに次のコマンドを入力します。

  1. privilege::debug(すでに持っているか、CryptoApiのみをターゲットにしている場合を除く)
  2. crypto::patchcng(nt 6)および/またはcrypto::patchcapi(nt 5&6)
  3. crypto::exportCertificatesおよび/またはcrypto::exportCertificates CERT_SYSTEM_STORE_LOCAL_MACHINE

エクスポートされた.pfxファイルは、パスワード「mimikatz」でパスワード保護されています

于 2010-10-19T23:30:11.987 に答える
25

GentilKiwiの答えは正しいです。彼は、エクスポートできない秘密鍵を取得できるこのmimikatzツールを開発しました。

しかし、彼の指示は時代遅れです。必要なもの:

  1. https://github.com/gentilkiwi/mimikatz/releasesから最新のリリースをダウンロードします

  2. 証明書が要求されたのと同じマシンで、管理者権限でcmdを実行します

  3. mimikatz binディレクトリに移動します(Win32またはx64バージョン)

  4. 走るmimikatz

  5. wikiの指示に従うと、.pfxファイル(パスワードmimikatzで保護されています)がmimikatzbinの同じフォルダーに配置されます。

mimikatz#crypto::capi
ローカルCryptoAPIにパッチ を適用

mimikatz#privilege::debug
特権' 20'OK

mimikatz#crypto ::cng
"KeyIso"サービスにパッチが適用されました

mimikatz#crypto ::certificates / systemstore:local_machine / store:my / export
*システムストア:'local_machine'(0x00020000)
*ストア:'my'

  1. example.domain.local
         キーコンテナ:example.domain.local
         プロバイダー:Microsoftソフトウェアキーストレージプロバイダー
         タイプ:CNGキー(0xffffffff)
         エクスポート可能なキー:NO
         キーサイズ:2048
         パブリックエクスポート:OK-'local_machine_my_0_example.domain.local.der'
         プライベートエクスポート:OK-'local_machine_my_0_example.domain.local.pfx'
于 2016-03-22T15:42:12.353 に答える
18

私は脱獄について具体的に言及したかったGitHub

脱獄

ジェイルブレイクは、Windows証明書ストアからエクスポート不可としてマークされた証明書をエクスポートするためのツールです。これは、バックアップまたはテストのために証明書を抽出する必要がある場合に役立ちます。ジェイルブレイクを機能させるには、ファイルシステムの秘密鍵に完全にアクセスできる必要があります。

前提条件:Win32

  • ご使用のバージョンのWindows用の実行可能バイナリ(例:jailbreak64.exe)をダウンロードします。

  • 管理者特権のコマンドプロンプトを開始します。

  • コマンドを実行しますjailbreak64.exe %WINDIR%\system32\mmc.exe %WINDIR%\system32\certlm.msc -64 (注-これは、githubのガイダンスとはまったく同じではありませんcertlm.msc。Windows2016および2019で、ローカルマシンの証明書ストアを表示するために使用されます)。

于 2011-08-16T14:45:16.557 に答える
17

エクスポート不可としてマークされた秘密鍵をエクスポートできるコンソールアプリ用のコードとバイナリがここにあり、 mimikatzのようにウイルス対策アプリをトリガーすることはありません。

このコードは、 NCCグループの論文に基づいています。lsassキーを一時的にエクスポート可能としてマークするには、Windowsのプロセスで使用されるメモリに直接書き込むことで機能するため、ローカルシステムアカウントでツールを実行する必要があります。PsExecこれは、SysInternalsのPsToolsから使用して実行できます。

  1. ローカルシステムユーザーとして実行されている新しいコマンドプロンプトを生成します。

    PsExec64.exe -s -i cmd
    
  2. 新しいコマンドプロンプトで、ツールを実行します。

    exportrsa.exe
    
  3. すべてのローカルコンピュータストアをループし、秘密鍵を使用して証明書を検索します。それぞれについて、パスワードの入力を求められます。これは、エクスポートされたPFXファイルを保護するためのパスワードであるため、任意のパスワードを使用できます。

于 2019-05-29T12:12:04.507 に答える
1

残念ながら、上記のツールはいくつかのウイルス対策ベンダーによってブロックされています。これが当てはまる場合は、以下をご覧ください。

証明書ストアでエクスポート不可能な証明書を開き、拇印の値を見つけます。

次に、以下のパスへのregeditを開き、拇印の値と一致するレジストリキーを見つけます。

レジストリキーのエクスポートには、秘密キーを含む完全な証明書が含まれます。エクスポートしたら、エクスポートを他のサーバーにコピーして、レジストリにインポートします。

証明書は、秘密鍵が含まれている証明書マネージャーに表示されます。

マシンストア:HKLM \ SOFTWARE \ Microsoft \ SystemCertificates \ MY \ Certificatesユーザーストア:HKCU \ SOFTWARE \ Microsoft \ SystemCertificates \ MY \ Certificates

ピンチでは、証明書のバックアップとしてエクスポートを保存できます。

于 2018-03-13T22:27:13.097 に答える
1

アンチウイルスをアンインストールする必要があるかもしれません(私の場合、アバストを取り除く必要がありました)。

crypto::cngこれにより、コマンドが確実に機能します。そうでなければ、それは私にエラーを与えていました:

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

アバストを削除した後:

mimikatz $ crypto::cng
"KeyIso" service patched

魔法。(:

ところで

Windows Defenderは、プログラムの動作をブロックする別のプログラムであるため、少なくともプログラムを使用している間は、WindowsDefenderを無効にする必要があります。

于 2018-09-27T15:35:26.310 に答える
0

digicertによって発行された場合Windows用のDigiCert証明書ユーティリティを使用できます。作成されたサーバーで「修復」を実行します。次に、それを.pfxとしてc:\tempのようにエクスポートできます。これは、実際のssl証明書で機能しました。

于 2021-04-16T18:41:51.450 に答える