เครื่องมือแบล็กบ็อกซ์เพื่อปิดใช้งานการตรวจสอบใบรับรอง 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 เป็นการปรับแต่ง subtrate cydia บนอุปกรณ์เจลเบรค
การติดตั้ง SSL Kill Switch 2 ช่วยให้ทุกคนในเครือข่ายเดียวกันกับอุปกรณ์ที่จะทำการโจมตีแบบ man-in-the-Middle กับการเชื่อมต่อ SSL หรือ HTTPS ใด ๆ ได้อย่างง่ายดาย ซึ่งหมายความว่าเป็นเรื่องเล็กน้อยที่จะเข้าถึงอีเมลเว็บไซต์ที่ดูใน Safari และข้อมูลอื่น ๆ ที่ดาวน์โหลดโดยแอพใด ๆ ที่ทำงานบนอุปกรณ์
ควรติดตั้งการพึ่งพาต่อไปนี้โดยใช้ CYDIA:
จากนั้นดาวน์โหลดแพ็คเกจที่รวบรวมไว้ล่วงหน้าล่าสุดที่มีอยู่ในแท็บรีลีสของหน้า GitHub ของ SSL Kill Switch 2 คัดลอกไปยังอุปกรณ์ติดตั้งและกลับมาใช้ใหม่:
dpkg -i <package>.deb
killall -HUP SpringBoard
ควรมีเมนูใหม่ในการตั้งค่าของอุปกรณ์ที่คุณสามารถเปิดใช้งานส่วนขยาย ในที่สุดฆ่าและรีสตาร์ทแอพที่คุณต้องการทดสอบ
การปรับแต่งสามารถถอนการติดตั้งได้ในภายหลังโดยใช้:
dpkg -r com.nablac0d3.SSLKillSwitch2
ผู้คนจำนวนมากถามเกี่ยวกับวิธีการสกัดกั้นปริมาณการใช้งานของ App Store โดยใช้ SSL Kill Switch 2 ฉันเขียนคำแนะนำบางอย่างที่นี่ แต่ตอนนี้ล้าสมัยแล้ว: http://nabla-c0d3
โดยค่าเริ่มต้นสวิตช์ SSL Kill จะขัดขวางแอพ Charles Proxy iOS และคุณจะไม่สามารถส่งข้อมูลเครือข่ายใด ๆ ได้ ในการแก้ไขปัญหานี้ให้เพิ่มแอพ Proxy Charles (com.xk72.charles) ลงในรายการของ ID Bundle ที่ยกเว้นใน SSL Kill Switch Config:

บิลด์ต้องการให้ติดตั้ง Theos Suite ที่ http://www.iphonedevwiki.net/index.php/theos/getting_started
จากนั้นภายใน SSL Kill Switch 2 ของรูท Foler สร้าง Symlink ไปยังการติดตั้ง TheOS ของคุณ:
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-> แนบไปยังกระบวนการจากนั้นหยุดชั่วคราวและโหลด sslkillswitch โดยใช้ dlopen() :
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
ผลลัพธ์ที่คาดหวังคือตัวชี้ที่ไม่ใช่ศูนย์:
(void *) $1 = 0x00007f92e74d10c0
หากคุณได้รับตัวชี้ศูนย์คุณอาจต้องเปิดใช้งานการลงนามโค้ดและสร้างสำหรับการทำโปรไฟล์จากนั้นใช้ไบนารีในโฟลเดอร์รีลีสและอาจต้องคัดลอกไบนารีไปยังโฟลเดอร์ทรัพยากรของแอป ในกรณีนี้คุณจะได้เห็น Sandbox อ่านเอาท์พุทการละเมิดไปยังคอนโซล ในการทดสอบไบนารีเวอร์ชันใหม่คุณต้องฆ่าแอพและโหลดอีกครั้ง
การใช้ dyld_insert_libraries เพื่อฉีด sslkillswitch และเริ่มกระบวนการ
TBD
ใช้โครงการ XCode เพื่อสร้าง SSL Kill Switch 2 สำหรับ MacOS ห้องสมุดที่รวบรวมจะมีให้ใน ผลิตภัณฑ์/sslkillswitch.framework/versions/a/sslkillswitch นี่คือไบนารีที่คุณต้องฉีดในกระบวนการที่คุณต้องการปิดการใช้งาน SSL Pinning
MIT - ดู./license
Alban Diquet - @nabla_c0d3