
أداة صندوق أسود لتعطيل التحقق من شهادات SSL - بما في ذلك تثبيت الشهادات - داخل تطبيقات iOS و macOS.
أداة صندوق أسود لتعطيل التحقق من شهادات SSL/TLS - بما في ذلك تثبيت الشهادات - داخل تطبيقات iOS و macOS. التكرار الثاني لـ https://github.com/iSECPartners/ios-ssl-kill-switch .
بمجرد تحميلها داخل تطبيق iOS أو macOS، ستقوم SSL Kill Switch 2 بتصحيح الوظائف منخفضة المستوى المسؤولة عن التعامل مع اتصالات SSL/TLS من أجل تجاوز وتعطيل التحقق الافتراضي من الشهادات في النظام، بالإضافة إلى أي نوع من التحقق المخصص من الشهادات (مثل تثبيت الشهادات).
تم اختبارها بنجاح ضد تطبيقات متنوعة تطبق تثبيت الشهادات بما في ذلك Apple App Store. صدر الإصدار الأول من SSL Kill Switch في Black Hat Vegas 2012.
أحدث إصدار من iOS معروف بدعمه هو 14.2.
على iOS، يمكن تثبيت SSL Kill Switch 2 كتعديل Cydia Substrate على جهاز مكسور الحماية.
تثبيت SSL Kill Switch 2 يسمح لأي شخص على نفس الشبكة التي يتصل بها الجهاز بتنفيذ هجمات رجل في المنتصف بسهولة ضد أي اتصال SSL أو HTTPS. هذا يعني أنه من التافه الوصول إلى رسائل البريد الإلكتروني والمواقع المعروضة في Safari وأي بيانات أخرى يتم تنزيلها بواسطة أي تطبيق يعمل على الجهاز.
يجب تثبيت التبعيات التالية باستخدام Cydia:
بعد ذلك، قم بتنزيل أحدث حزمة مُجمّعة مسبقًا المتوفرة في تبويب الإصدارات في صفحة SSL Kill Switch 2 على GitHub. انسخها إلى الجهاز، وقم بتثبيتها، وأعد تشغيل الواجهة (respring) للجهاز:
dpkg -i <package>.deb
killall -HUP SpringBoard
يجب أن تظهر قائمة جديدة في إعدادات الجهاز حيث يمكنك تمكين الامتداد. أخيرًا، قم بإنهاء وإعادة تشغيل التطبيق الذي تريد اختباره.
يمكن إلغاء تثبيت التعديل لاحقًا باستخدام:
dpkg -r com.nablac0d3.SSLKillSwitch2
سأل الكثير من الأشخاص عن كيفية اعتراض حركة مرور App Store باستخدام SSL Kill Switch 2. لقد كتبت بعض التعليمات هنا لكنها أصبحت قديمة الآن: http://nabla-c0d3.github.io/blog/2013/08/20/intercepting-the-app-stores-traffic-on-ios/
افتراضيًا، ستعطل SSL Kill Switch تطبيق Charles Proxy على iOS ولن تتمكن من بروكسة أي حركة مرور شبكة باستخدامه. لإصلاح ذلك، أضف تطبيق Charles Proxy (com.xk72.Charles) إلى قائمة معرّفات الحزم المستبعدة في إعداد SSL Kill Switch:

يتطلب البناء تثبيت حزمة Theos المتوفرة على http://www.iphonedevwiki.net/index.php/Theos/Getting_Started .
ثم، داخل المجلد الجذر لـ SSL Kill Switch 2، أنشئ رابطًا رمزيًا لتثبيت theos لديك:
ln -s /<path_to_your_theos_folder> theos
تأكد من تثبيت dpkg. إذا كان لديك Homebrew، استخدم:
brew install dpkg
بعد ذلك، يمكن بناء حزمة Debian الخاصة بـ SSL Kill Switch 2 باستخدام:
make package
يمكن استخدام SSL Kill Switch 2 في تطبيقات macOS كمكتبة ديناميكية يتم حقنها في العمليات.
على macOS، يجب حقن مكتبة SSLKillSwitch يدويًا في العملية التي تحتاج إلى تعطيل تثبيت SSL فيها. بمجرد الحقن، ستقوم تلقائيًا بتجاوز وتعطيل التحقق من SSL.
هناك عدة طرق للقيام بذلك منها:
بدء العملية باستخدام LLDB أو في Xcode عبر Debug->Attach to process ثم الإيقاف المؤقت، وتحميل SSLKillSwitch باستخدام dlopen():
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
النتيجة المتوقعة هي مؤشر غير صفري:
(void *) $1 = 0x00007f92e74d10c0
إذا استلمت مؤشرًا صفريًا، فقد تحتاج إلى تمكين توقيع الكود والبناء للتنميط ثم استخدام الثنائي في مجلد الإصدار، وقد تضطر حتى إلى نسخ الثنائي إلى مجلد موارد التطبيق. وفي هذه الحالة كنت ستشاهد انتهاك قراءة من صندوق الرمل (sandbox) في وحدة التحكم. لاختبار إصدار جديد من الثنائي، تحتاج إلى إنهاء التطبيق وتحميله مرة أخرى.
استخدام DYLD_INSERT_LIBRARIES لحقن SSLKillSwitch وبدء العملية.
يُحدد لاحقًا
استخدم مشروع Xcode لبناء SSL Kill Switch 2 لنظام macOS. ستكون المكتبة المترجمة متاحة بعد ذلك في Products/SSLKillSwitch.framework/Versions/A/SSLKillSwitch. هذا هو الثنائي الذي تحتاج إلى حقنه في العملية التي تريد تعطيل تثبيت SSL فيها.
MIT - انظر ./LICENSE.
Alban Diquet - @nabla_c0d3