web-dev-qa-db-ja.com

Android 6.0.1でのSSLピニング/証明書ピニングの無効化またはバイパス

以前は、JustTrustMeプログラムとXposed frameworkほぼすべてのアプリ。

https://github.com/Fuzion24/JustTrustMe

ただし、最近はますます多くのアプリで失敗するようになりました。私が読むほど、すべてのアプリを逆アセンブルし、1つずつパッチを当てる必要があるようです。

システムコマンドにフックすることでSSLピニングを無効にできる見逃したアプリケーションはありますか?

私が試したプログラム:

https://github.com/Fuzion24/JustTrustMe

https://github.com/iSECPartners/Android-SSL-TrustKiller

https://github.com/ac-pm/SSLUnpinning_Xposed

そのようなプログラムがない場合、どうすればよいですか?

これまでに確認したこと:

  1. APKを分解して、「X509TrustManager」、「cert」、「pinning」などのキーワードを検索し、それに応じて変更してください。この記事のように: http://blog.dewhurstsecurity.com/2015/11/10/mobile-security-certificate-pining.html

  2. ただし、プロキシで問題が発生しているアプリ(Facebook Messenger)の少なくとも1つは、ネイティブレイヤーとJavaレイヤー)でSSLピニングを使用しているようです。他のアプリケーションも以前はJustTrustMeで動作していたが、現在は動作を停止しているため、同様に https://serializethoughts.com/2016/08/18/bypassing-ssl-pinning-in-Android-applications/

3
Ogglas

これらの手順を実行して、JustTrustMeに証明書のピン留めをバイパスさせましたか http://www.welivesecurity.com/2016/09/08/avoid-certificate-pinning-latest-versions-Android/ =-?

WebViewをインターセプトするだけの場合は、Frida拡張 appmon(APIインターセプトを許可) を使用して、これらの手法を使用するとうまくいきます https://youtu.be/ QjLRaIB-97E

何らかのコードを書き直さなければならない場合は、コードを本当にシンプルに保つようにしてください。私はこのテクニックを見つけました。これは既存の証明書固定コードに影響を与えず、代わりにHTTPトラフィックをロギングシステムに追加するだけです https://blog.securityevaluators.com/how-to-view-tls -traffic-in-androids-logs-6a42ca7a6e55

再パッケージ化に関するシリーズAndroidアプリについては、必ずチェックしてください:

7
atdre