iOS 및 MACOS 애플리케이션 내에서 인증서 고정을 포함하여 SSL/TLS 인증서 유효성 검사를 비활성화하는 BlackBox 도구. 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 서브 트레이트 조정으로 설치할 수 있습니다.
SSL Kill Switch 2를 설치하면 장치와 동일한 네트워크에있는 사람은 모든 SSL 또는 HTTPS 연결에 대한 중간의 공격을 쉽게 수행 할 수 있습니다. 즉, 사파리에서 볼 수있는 이메일, 웹 사이트 및 장치에서 실행되는 앱에서 다운로드 한 다른 데이터에 액세스하는 것은 사소한 일이라는 것을 의미합니다.
Cydia를 사용하여 다음 종속성을 설치해야합니다.
그런 다음 SSL Kill Switch 2의 GitHub 페이지의 릴리스 탭에서 사용 가능한 최신 사전 컴파일 패키지를 다운로드하십시오. 장치에 복사하여 설치 한 다음 장치를 재개합니다.
dpkg -i <package>.deb
killall -HUP SpringBoard
장치 설정에 확장을 활성화 할 수있는 새 메뉴가 있어야합니다. 마지막으로 테스트하려는 앱을 죽이고 다시 시작하십시오.
조정은 나중에 다음을 사용하여 제거 할 수 있습니다.
dpkg -r com.nablac0d3.SSLKillSwitch2
많은 사람들이 SSL Kill Switch 2를 사용하여 App Store의 트래픽을 가로 채는 방법에 대해 물었습니다. 여기에 몇 가지 지침을 적어 두었지 만 이제 구식이 있습니다 : http://nabla-c0d3.github.io/blog/2013/08/20/Intercepting-theap-stores-traffic-on-ios/
기본적으로 SSL Kill Switch는 Charles Proxy iOS 앱을 방해하며 네트워크 트래픽을 프록시 할 수 없습니다. 이 문제를 해결하려면 SSL 킬 스위치 구성에서 제외 된 번들 ID 목록에 Charles Proxy 앱 (com.xk72.charles)을 추가하십시오.

이 빌드는 http://www.iphonedevwiki.net/index.php/theos/getting_started에 Theos Suite를 설치해야합니다.
그런 다음 SSL Kill Switch 2의 루트 폴러 내에서 TheOS 설치에 Symlink를 만듭니다.
ln -s /<path_to_your_theos_folder> theos
DPKG가 설치되어 있는지 확인하십시오. 홈브리가있는 경우 사용하십시오.
brew install dpkg
그런 다음 SSL Kill Switch 2 데비안 패키지를 사용하여 구축 할 수 있습니다.
make package
SSL Kill Switch 2는 MACOS 응용 프로그램에서 프로세스에 주입 할 동적 라이브러리로 사용될 수 있습니다.
MACOS에서 SSL Killswitch 라이브러리는 SSL 고정을 비활성화 해야하는 프로세스에 수동으로 주입해야합니다. 일단 주입되면 SSL 유효성 검사를 자동으로 재정의하고 비활성화합니다.
이를 포함하는 몇 가지 방법이 있습니다.
LLDB 또는 Xcode Debug->에서 프로세스를 시작하여 프로세스에 첨부 한 다음 일시 중지 한 다음 dlopen() 사용하여 sslkillswitch를로드합니다.
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
예상 결과는 0이 아닌 포인터입니다.
(void *) $1 = 0x00007f92e74d10c0
제로 포인터를 받으면 프로파일 링을 위해 코드 서명 및 빌드를 활성화해야 할 수도 있고 릴리스 폴더의 바이너리를 사용하고 바이너리를 앱의 리소스 폴더에 복사해야 할 수도 있습니다. 이 경우 샌드 박스 읽기 위반 출력이 콘솔에 나타 났을 것입니다. 새 버전의 바이너리를 테스트하려면 앱을 죽이고 다시로드해야합니다.
dyld_insert_libraries를 사용하여 sslkillswitch를 주입하고 프로세스를 시작하십시오.
TBD
Xcode 프로젝트를 사용하여 MacOS 용 SSL Kill Switch 2를 구축하십시오. 그런 다음 컴파일 된 라이브러리는 제품/sslkillswitch.framework/versions/a/sslkillswitch 에서 사용할 수 있습니다. 이것은 SSL 고정을 비활성화하려는 과정에서 주입 해야하는 이진입니다.
MIT- ./license 참조.
Alban Diquet- @nabla_c0d3