
ब्लैकबॉक्स टूल जो iOS और macOS अनुप्रयोगों में SSL प्रमाणपत्र सत्यापन - जिसमें प्रमाणपत्र पिनिंग भी शामिल है - को अक्षम करता है।
ब्लैकबॉक्स उपकरण जो iOS और macOS अनुप्रयोगों के भीतर SSL/TLS प्रमाणपत्र सत्यापन - सर्टिफिकेट पिनिंग सहित - अक्षम करता है। इसका दूसरा संस्करण: 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 Subtrate ट्वीक के रूप में इंस्टॉल किया जा सकता है।
SSL Kill Switch 2 इंस्टॉल करने से डिवाइस के समान नेटवर्क पर मौजूद कोई भी व्यक्ति किसी भी SSL या HTTPS कनेक्शन के विरुद्ध आसानी से मैन-इन-द-मिडिल हमले कर सकता है। इसका मतलब है कि ईमेल, Safari में देखी गई वेबसाइटें और डिवाइस पर चल रहे किसी भी ऐप द्वारा डाउनलोड किया गया कोई भी अन्य डेटा प्राप्त करना आसान है।
निम्नलिखित निर्भरताएँ Cydia का उपयोग करके इंस्टॉल की जानी चाहिए:
फिर, SSL Kill Switch 2 के GitHub पेज के रिलीज़ टैब में उपलब्ध नवीनतम पूर्व-संकलित पैकेज डाउनलोड करें। इसे डिवाइस पर कॉपी करें, इंस्टॉल करें और डिवाइस को रिस्प्रिंग करें:
dpkg -i <package>.deb
killall -HUP SpringBoard
डिवाइस की सेटिंग्स में एक नया मेनू दिखना चाहिए जहाँ आप एक्सटेंशन को सक्षम कर सकते हैं। अंत में, जिस ऐप का आप परीक्षण करना चाहते हैं उसे बंद करके पुनः प्रारंभ करें।
बाद में ट्वीक को इसका उपयोग करके अनइंस्टॉल किया जा सकता है:
dpkg -r com.nablac0d3.SSLKillSwitch2
बहुत से लोगों ने पूछा है कि 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 ऐप को बाधित कर देगा और आप इसके साथ किसी भी नेटवर्क ट्रैफ़िक को प्रॉक्सी नहीं कर पाएँगे। इसे ठीक करने के लिए, SSL Kill Switch कॉन्फ़िग में बहिष्कृत बंडल IDs की सूची में Charles Proxy ऐप (com.xk72.Charles) जोड़ें:

निर्माण के लिए Theos सुइट इंस्टॉल होना आवश्यक है, जो यहाँ उपलब्ध है: http://www.iphonedevwiki.net/index.php/Theos/Getting_Started ।
फिर, SSL Kill Switch 2 के रूट फ़ोल्डर के भीतर, अपनी theos इंस्टॉलेशन के लिए एक symlink बनाएँ:
ln -s /<path_to_your_theos_folder> theos
सुनिश्चित करें कि dpkg इंस्टॉल है। यदि आपके पास Homebrew है, तो उपयोग करें:
brew install dpkg
फिर, SSL Kill Switch 2 Debian पैकेज को इसका उपयोग करके बनाया जा सकता है:
make package
SSL Kill Switch 2 का उपयोग macOS अनुप्रयोगों में एक डायनेमिक लाइब्रेरी के रूप में किया जा सकता है, जिसे प्रोसेस में इंजेक्ट किया जाता है।
macOS पर, SSLKillSwitch लाइब्रेरी को उस प्रोसेस में मैन्युअल रूप से इंजेक्ट करने की आवश्यकता होती है जहाँ SSL पिनिंग अक्षम की जानी है। एक बार इंजेक्ट करने के बाद, यह स्वचालित रूप से SSL सत्यापन को ओवरराइड और अक्षम कर देगा।
ऐसा करने के कई तरीके हैं, जिनमें शामिल हैं:
प्रोसेस को LLDB से या Xcode में Debug->Attach to process के साथ प्रारंभ करें, फिर रोकें, और dlopen() का उपयोग करके SSLKillSwitch लोड करें:
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
अपेक्षित परिणाम एक गैर-शून्य पॉइंटर है:
(void *) $1 = 0x00007f92e74d10c0
यदि आपको शून्य पॉइंटर मिलता है, तो आपको कोड-साइनिंग सक्षम करने और प्रोफाइलिंग के लिए बिल्ड करने की आवश्यकता हो सकती है, फिर रिलीज़ फ़ोल्डर में बाइनरी का उपयोग करें, और बाइनरी को ऐप के रिसोर्सेस फ़ोल्डर में कॉपी करना भी पड़ सकता है। ऐसे मामले में आपको कंसोल पर सैंडबॉक्स रीड वायलेशन आउटपुट दिखाई दिया होगा। बाइनरी के नए संस्करण का परीक्षण करने के लिए आपको ऐप को बंद करके उसे फिर से लोड करना होगा।
DYLD_INSERT_LIBRARIES का उपयोग करके SSLKillSwitch इंजेक्ट करें और प्रोसेस शुरू करें।
TBD
macOS के लिए SSL Kill Switch 2 बनाने हेतु Xcode प्रोजेक्ट का उपयोग करें। संकलित लाइब्रेरी तब Products/SSLKillSwitch.framework/Versions/A/SSLKillSwitch में उपलब्ध होगी। यह वह बाइनरी है जिसे आपको उस प्रोसेस में इंजेक्ट करना है जहाँ आप SSL पिनिंग अक्षम करना चाहते हैं।
MIT - ./LICENSE देखें।
Alban Diquet - @nabla_c0d3