
سكربتات Frida لإعادة كتابة تطبيقات الجوال في وقت التشغيل لاعتراض كل حركة مرور HTTPS مباشرةً عبر MitM
جزء من HTTP Toolkit: أدوات قوية لبناء واختبار وتصحيح أخطاء HTTP(S)
يحتوي هذا المستودع على نصوص Frida المصممة للقيام بكل ما هو مطلوب لاعتراض HTTPS MitM مؤتمت بالكامل على الأجهزة المحمولة.
يمكن استخدام هذه المجموعة من النصوص معًا، للتعامل مع الاعتراض، وإدارة الثقة بالشهادات، وتعطيل فحوصات تثبيت الشهادات والشفافية، لاعتراض حركة مرور HTTP(S) عبر MitM على Android وiOS، أو يمكن استخدامها وتعديلها بشكل مستقل لربط (hook) ميزات محددة فقط.
يمكن للنصوص التعامل تلقائيًا مع:
-----BEGIN CERTIFICATE-----. يمكنك فتحها باستخدام محرر نصوص لعرض هذا المحتوى واستخراجه.config.js، وأضف هذه التفاصيل:
CERT_PEM: شهادة CA الخاصة بك بصيغة PEM.PROXY_PORT: منفذ الوكيلPROXY_HOST: عنوان الوكيل الخاص بك، من منظور جهازك (أو استخدم adb reverse tcp:$PORT tcp:$PORT لإعادة توجيه المنفذ عبر ADB، واستخدم 127.0.0.1 كمضيف)frida-server المناسب من github.com/frida/frida، واستخرجه، ثم ادفعه إلى جهازك باستخدام adb push، ثم شغّله بالأوامر الأربعة التالية: adb shell، su، chmod +x /.../frida-server، /.../frida-server.adb devices) قبل تشغيل الأوامر. لاحظ أن Frida سيعمل على الجهاز فقط بصلاحيات الجذر (root)، وهذا ما يوفره su في المثال أعلاه، عند تشغيله على جهاز تم الحصول على صلاحيات الجذر له. للتحقق من أنك جذر بعد تشغيل su أو ما شابه، تحقق من أن تشغيل whoami في الصدفة يطبع root.tech.httptoolkit.pinning_demo)config.js). أي النصوص ستستخدم يعود إليك، لكن بالنسبة لنظام Android، الأمر الجيد للبدء به هو:
frida -U \
-l ./config.js \
-l ./native-connect-hook.js \
-l ./native-tls-hook.js \
-l ./android/android-proxy-override.js \
-l ./android/android-system-certificate-injection.js \
-l ./android/android-certificate-unpinning.js \
-l ./android/android-certificate-unpinning-fallback.js \
-l ./android/android-disable-root-detection.js \
-f $PACKAGE_ID