どういう仕組みで設定されているのかは把握していないが、Windows 10では秘密鍵がエクスポートできない電子証明書を指定することができるようだ。 だが、その秘密鍵は例えばHTTPSで電子証明書によるクライアント認証をする際には送られているはずなので、 単に秘密鍵をエクスポートを禁止するユーザーインターフェイスの機能があるだけで、秘密鍵を得ることはできるはずである。
その秘密鍵を受け取るようなサーバーを用意すれば良いのだとは思うが、同じようなことをしようと考えている人はいるはずである。 検索すると、https://github.com/iSECPartners/jailbreakというのが見付かる。 今回は、Windows 10 21H2 64-bitで試してみた。
https://github.com/iSECPartners/jailbreak/binariesに ビルド済みのバイナリーが含まれている。リポジトリーをcloneするか.zipファイルとしてダウンロードし、 管理者権限のコマンドプロンプトで以下のように実行すればcertmgr.mscが開き、そこでは秘密鍵がエクスポートできないという制限はなくなった。
binaries> jailbreak64 c:\windows\system32\mmc.exe c:\windows\system32\certmgr.msc -64
もし、管理者権限のないコマンドプロンプトで実行すると、以下のようなエラーになってしまう。
binaries>jailbreak64 c:\windows\system32\mmc.exe c:\windows\system32\certmgr.msc -64 CreateProces failed with error code = 740 Command line = c:\windows\system32\mmc.exe c:\windows\system32\certmgr.msc -64
また、アンチウイルスソフトウェアによっては、hacking toolとして認識されてしまうので、アンチウイルスソフトウェアは 停止させておかないといけない。Microsoft Defenderは検出はしないようである。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。