
CVE-2017-13156-Janus复现
Используя уязвимость Janus (CVE-2017-13156), злоумышленник может обойти механизм подписи signature scheme V1 в Android и произвольно изменить код приложения, не затрагивая его подпись. Механизм подписи 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
Шаги для попытки:
Попытка на телефоне Xiaomi 6.0.1 не удалась: установка прошла успешно, но код не выполнился
Попытка на телефоне Nexus 6.0.1 не удалась: установка прошла успешно, но код не выполнился
Попытка на телефоне Sony 4.4.3 не удалась: установка не удалась
Предположительно, на телефонах установлены патчи
Повторное воспроизведение другими
PoC на Python
PoC на Java
Анализ принципов и использования уязвимости подписи Janus (CVE-2017-13156)
Глубокий анализ критической уязвимости Janus от Anzhen Mobile Security
Анализ уязвимости Janus