web-dev-qa-db-ja.com

バックアップからEFS証明書を回復する方法

古いWin 7 Proのバックアップを作成してから、クリーンインストールを行いました。しかし、EFS暗号化証明書をエクスポートするのを忘れたため、バックアップから暗号化されたファイルを復元した後、それらにアクセスできなくなりました。ここまで、驚きはありません。

その後、調査したところ、証明書がC:\Users\username\AppData\Roaming\Microsoft\SystemCertificates\My\フォルダ。バックアップのその場所に移動し、CertificatesおよびKeysフォルダーを新しいインストールの同じ場所

今、EFS証明書マネージャーを開くと(MMC証明書マネージャーではなく)選択または作成するように求められます個人の証明書です。古いマシンの証明書をすべて閲覧できます(古いマシンから証明書ファイルを復元したため、現在使用できます)個人の証明書のように見える証明書を選択できます(証明書名はmyusername)ですが、EFS証明書マネージャーでは、「証明書と復号化用の秘密鍵が見つかりません」という証明書を使用できません。keysフォルダーには、秘密鍵と、certificatesフォルダー内の証明書があります。結局のところ、この場所から証明書を読み取っていますバックアップファイルを削除したところ-バックアップを復元する前は、EFS証明書マネージャーに表示する証明書がありませんでした。

Certificate Manager MMCを開くと、バックアップを介して古いマシンから持ち込まれたものと同じ数十の証明書が表示されます。驚いたことに、これら2つの証明書のそれぞれをクリックすると、certmgrから「この証明書に対応する秘密鍵を持っている」ことがわかります。すごい!しかし、これらの同じ証明書をエクスポートしようとすると、関連する秘密鍵が見つからなかったことがわかります(何でも、Windows!

私はこれを尋ねるために上記のすべてを書きました:バックアップからどこに証明書と秘密鍵を取得しますか?これらの回答 私の状況には当てはまらない。

PS:最悪のシナリオ私は古いシステムをバックアップからオンラインに戻し、証明書をエクスポートできることを知っています。しかし、私は本当にこれを回避しようとしています。

10
Gaia

私の知る限り、それを回避する方法はありません。古いシステムで起動し、対応する秘密鍵で証明書をエクスポートして保存する必要があります(私はPFXとして保存しました)。

次に、ファイルを別のシステム(別のラップトップ、つまり別のTPM)に持ち込み、前のマシンと同じユーザー名とパスワードを使用してログインしました。 PFXを個人証明書ストアに正常にインポートできました。

EFSで保護されたファイルにアクセスする目的でこれが機能することを確認できます。

PS:彼の回答では@ Td6が推奨するツールを使用する必要はありませんでした。

1
Gaia
  1. 古いマシンから復元したファイルが、EFS証明書とそれに関連付けられた秘密鍵の間のリンクを破壊している可能性があります。

  2. したがって、古いマシンでMimikatz 2.0を使用してみてください http://blog.gentilkiwi.com/mimikatz/crypto#exportKeys 管理者権限で

    • crypto :: exportKeys関数を使用して、秘密鍵をエクスポートできます(ファイルのACLに注意してください)

    • crypto :: patchcapi関数を使用して、mimikatzにロードされたWindows CryptoAPIプロバイダーにパッチを適用できます。次に、「非エクスポート可能」の秘密鍵は「エクスポート可能」になります:)

2
Td6

つまり、秘密鍵がユーザーのパスワードと絡み合っています。パスワードを知っていても、抽出を自動化する既存のツールはありません。

秘密鍵の保存方法

1
Monstieur