
CVE-2017-13156-Janus再現
攻撃者はJanus脆弱性(CVE-2017-13156)を利用して、Androidシステムのsignature scheme V1署名メカニズムをバイパスし、署名に影響を与えずにアプリケーションコードを任意に変更できます。Androidの署名メカニズムはアプリが改ざんされるのを防ぎます。通常、アプリが変更された場合、再署名する必要があり、そうでなければデバイスにインストールできません。アプリのインストール時に、システムはapkの署名を検証し、署名が存在しないか検証に失敗した場合はインストールを拒否します。攻撃者は開発者の秘密鍵を持っていないため、別の秘密鍵を使用してアプリに再署名します。このとき署名の不一致が発生します。アプリの署名検証により、ある程度アプリが改ざんされたかどうかを検出できます。しかし、Janus脆弱性により、攻撃者は署名に影響を与えずにアプリを改ざんできるため、二次開発されたアプリが公式アプリを上書きし、ある程度の被害をもたらす可能性があります。
著作権は著者に帰属します。商業転載は著者の許可を得てください。非商業転載は出典を明記してください。
影響範囲: Android 5.0-8.0
.
|____a.dex 変更されたdex
|____target.apk 変更後のapk
|____app
|____janus.py 変更スクリプト
|____Janus.jar 変更されたjar
|____cla.dex 変更されたdex
|____README.md
|____a.apk
|____f.apk
|____app-release.apk 元のapk
jar:
java -jar Janus.jar Janus [dex_file] [apk_file] [output_file]
java -jar Janus.jar Janus a.dex app-release.apk a.apk
python:
python janus.py [dex_file] [apk_file] [output_file]
> python janus.py a.dex app-release.apk a.apk
試行手順:
6.0.1 Xiaomiスマートフォンでのテストは成功せず。インストールは成功したがコードは実行されず 6.0.1 Nexusスマートフォンでのテストは成功せず。インストールは成功したがコードは実行されず 4.4.3 Sonyスマートフォンでのテストは成功せず。インストールに失敗 推測: スマートフォンにパッチが適用されている可能性
他人の再現 python poc java poc Janus署名脆弱性(CVE-2017-13156)の原理と利用分析 安天移動安全:Janus高リスク脆弱性の詳細分析 Janus脆弱性分析