web-dev-qa-db-ja.com

実行可能ファイルのハードコードされた証明書を置き換えることにより、iOS証明書のピン留めを無効にしますか?

Charlesアプリケーションを介してiOSアプリケーションとその通信を分析しています。証明書の固定のため、SSL通信のほとんどにアクセスできますが、すべてにアクセスできるわけではありません。

証明書のピン留めを無効にする方法はたくさんあることは知っていますが、この方法でそれが可能かどうか知りたいです。

これをpythonスクリプト( https://github.com/meeee/pushproxy/blob/master/utils/find_certs.py )を使用してiOS実行可能ファイルをサーフィンしました証明書のピン留めに使用されているハードコードされた証明書を見つけます。

実行可能ファイル内のハードコードされた証明書を、通常のSSLトラフィックを取得するためにCharlesを通じて作成した証明書で置き換えるとどうなりますか?それは実行可能ですか?ありがとう!

1
scugn1zz0

バイナリを変更してプロセスを引き続き実行できる場合は、そうです。ピン留めされた証明書を適切なレベルの置き換え(つまり、リーフ証明書とリーフ証明書、またはCAとの中間CAなど)で変更します。変更すると、他のものが破損した場合に備えて、元の証明書を保持します。

証明書/キーが独自のファイルに含まれていないと思いますか?私は以前にそれを見たことがあります、そしてそれはすべてが本当に簡単になります。ファイルの内容をプロキシの証明書に置き換えるだけでよいのです。

1
CBHacking