
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
الخطوات التجريبية:
محاولة على هاتف Xiaomi 6.0.1 لم تنجح - تم التثبيت بنجاح ولكن لم يتم تنفيذ الكود
محاولة على هاتف Nexus 6.0.1 لم تنجح - تم التثبيت بنجاح ولكن لم يتم تنفيذ الكود
محاولة على هاتف Sony 4.4.3 لم تنجح - لم يتم التثبيت بنجاح
اشتباه بأن الهواتف تم تحديثها بالتصحيح
استنساخ آخرون
PoC بايثون
PoC جافا
تحليل مبدأ واستخدام ثغرة توقيع Janus (CVE-2017-13156)
تحليل عميق لثغرة Janus عالية الخطورة - أمان أنتي المحمول
تحليل ثغرة Janus