Ferramenta BlackBox para desativar a validação de certificado SSL/TLS - incluindo fixação de certificados - dentro de aplicativos iOS e MacOS. Segunda iteração de https://github.com/isecpartners/ios-ssl-kill-switch.
Uma vez carregado em um aplicativo iOS ou macOS, o SSL Kill Switch 2 corrigirá as funções de baixo nível responsáveis pelo manuseio de conexões SSL/TLS para substituir e desativar a validação de certificado padrão do sistema, além de qualquer tipo de validação de certificado personalizado (como a figura de certificado).
Foi testado com sucesso em vários aplicativos implementando a fixação de certificados, incluindo a Apple App Store. A primeira versão do SSL Kill Switch foi lançada no Black Hat Vegas 2012.
A versão mais recente iOS conhecida por ser suportada é 14.2.
No iOS, o SSL Kill Switch 2 pode ser instalado como um ajuste do subtrato de Cydia em um dispositivo de jailbreak.
A instalação do SSL Kill Switch 2 permite que qualquer pessoa na mesma rede que o dispositivo execute facilmente ataques de man-in-the-middle contra qualquer conexão SSL ou HTTPS. Isso significa que é trivial obter acesso a e -mails, sites visualizados no Safari e quaisquer outros dados baixados por qualquer aplicativo em execução no dispositivo.
As seguintes dependências devem ser instaladas usando o Cydia:
Em seguida, faça o download do mais recente pacote pré-compilado disponível na guia Release da página Github do SSL Kill Switch 2. Copie -o para o dispositivo, instale -o e resfre o dispositivo:
dpkg -i <package>.deb
killall -HUP SpringBoard
Deve haver um novo menu nas configurações do dispositivo, onde você pode ativar a extensão. Finalmente, mate e reinicie o aplicativo que deseja testar.
O ajuste pode mais tarde ser desinstalado usando:
dpkg -r com.nablac0d3.SSLKillSwitch2
Muitas pessoas perguntaram sobre como interceptar o tráfego da App Store usando o SSL Kill Switch 2. Eu escrevi algumas instruções aqui, mas agora estão desatualizadas: http://nabla-c0d3.github.io/blog/2013/08/20/intercepting-the-ptors-traffic-l-ios/
Por padrão, o SSL Kill Switch interromperá o aplicativo Charles Proxy iOS e você não poderá procurar nenhum tráfego de rede com ele. Para corrigir isso, adicione o Charles Proxy App (com.xk72.charles) à lista de IDs de pacote excluídos na configuração do SSL Kill Switch:

A construção exige que a suíte Theos seja instalada disponível em http://www.iphonedevwiki.net/index.php/theos/getting_started.
Em seguida, dentro do raízes do SSL Kill Switch 2, crie um link simbólico para a sua instalação de Theos:
ln -s /<path_to_your_theos_folder> theos
Verifique se o DPKG está instalado. Se você tem homebrew, use:
brew install dpkg
Em seguida, o pacote SSL Kill Switch 2 Debian pode ser construído usando:
make package
O SSL Kill Switch 2 pode ser usado em aplicativos MacOS como uma biblioteca dinâmica para ser injetada em processos.
No MacOS, a biblioteca SSLKillSwitch precisa ser injetada manualmente no processo em que a fixação do SSL precisa ser desativada. Uma vez injetado, ele substituirá automaticamente e desativará a validação SSL.
Existem várias maneiras de fazer isso, incluindo:
Iniciando o processo com o LLDB ou no Xcode Debug-> Anexar para o processo e depois pausar e carregar sslkillswitch usando dlopen() :
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
O resultado esperado é um ponteiro diferente de zero:
(void *) $1 = 0x00007f92e74d10c0
Se você receber um ponteiro zero, pode ser necessário ativar a assinatura de código e criar perfil, use o binário na pasta de liberação e até pode ter que copiar o binário para a pasta de recursos do aplicativo. Nesse caso, você teria visto uma sandbox leia a violação da produção de console. Para testar uma nova versão do binário, você precisa matar o aplicativo e carregá -lo novamente.
Usando dyld_insert_libraries para injetar sslkillswitch e iniciar o processo.
TBD
Use o projeto Xcode para criar SSL Kill Switch 2 para macOS. A biblioteca compilada estará disponível em produtos/sslkillswitch.framework/versions/a/sslkillswitch . Este é o binário que você precisa injetar no processo em que deseja desativar a fixação do SSL.
MIT - Veja ./license.
Alban Diquet - @nabla_c0d3