Herramienta BlackBox para deshabilitar la validación del certificado SSL/TLS, incluida la fijación de certificados, dentro de las aplicaciones iOS y MacOS. Segunda iteración de https://github.com/isecpartners/ios-ssl-kill-switch.
Una vez cargado en una aplicación iOS o MacOS, SSL Kill Switch 2 parche las funciones de bajo nivel responsables de manejar las conexiones SSL/TLS para anular y deshabilitar la validación de certificado predeterminada del sistema, así como cualquier tipo de validación de certificados personalizados (como la fijación de certificados).
Se probó con éxito en varias aplicaciones que implementan la fijación de certificados, incluida la App Store App. La primera versión de SSL Kill Switch se lanzó en Black Hat Vegas 2012.
La versión más reciente de iOS que se sabe que es compatible es 14.2.
En iOS, SSL Kill Switch 2 se puede instalar como un ajuste del sustrato Cydia en un dispositivo Jailbreak.
La instalación de SSL Kill Switch 2 permite que cualquier persona en la misma red que el dispositivo realice fácilmente ataques de hombre en el medio contra cualquier conexión SSL o HTTPS. Esto significa que es trivial obtener acceso a correos electrónicos, sitios web vistos en Safari y cualquier otro datos descargado por cualquier aplicación que se ejecute en el dispositivo.
Las siguientes dependencias deben instalarse utilizando Cydia:
Luego, descargue el último paquete precompilado disponible en la pestaña de lanzamiento de la página GitHub de SSL Kill Switch 2. Copiéelo en el dispositivo, instálelo y vuelva a ser el dispositivo:
dpkg -i <package>.deb
killall -HUP SpringBoard
Debe haber un nuevo menú en la configuración del dispositivo donde pueda habilitar la extensión. Finalmente, mata y reinicia la aplicación que quieres probar.
El ajuste más tarde se puede desinstalar:
dpkg -r com.nablac0d3.SSLKillSwitch2
Mucha gente ha preguntado sobre cómo interceptar el tráfico de la App Store usando SSL Kill Switch 2. Escribí algunas instrucciones aquí, pero ahora hay anticuadas: http://nabla-c0d3.github.io/blog/2013/08/20/intercepting-the-app-stores-traffic-on-ios/
Por defecto, SSL Kill Switch interrumpirá la aplicación Charles Proxy iOS y no podrá proxy de ningún tráfico de red. Para solucionar esto, agregue la aplicación Charles Proxy (com.xk72.charles) a la lista de ID de paquete excluidos en la configuración de SSL Kill Switch:

La compilación requiere que la suite TheOS se instale disponible en http://www.iphonedevwiki.net/index.php/theos/getting_started.
Luego, dentro de SSL Kill Switch 2's Root Foler, cree un enlace simbólico a su instalación de TheOS:
ln -s /<path_to_your_theos_folder> theos
Asegúrese de que DPKG esté instalado. Si tiene cerveza casera, use:
brew install dpkg
Luego, el paquete SSL Kill Switch 2 se puede construir usando:
make package
SSL Kill Switch 2 se puede usar en aplicaciones MacOS como una biblioteca dinámica para inyectarse en procesos.
En MacOS, la biblioteca SSLKillSwitch debe inyectarse manualmente en el proceso donde la fijación SSL debe deshabilitarse. Una vez inyectado, anulará y deshabilitará automáticamente la validación SSL.
Hay varias formas de hacer esto, incluyendo:
Iniciar el proceso con LLDB o en Xcode depurar-> Adjuntar al proceso y luego pausa, y cargue sslkillswitch usando dlopen() :::
(lldb) expr (void*)dlopen("/path/to/build/SSLKillSwitch.framework/Versions/A/SSLKillSwitch", 1)
El resultado esperado es un puntero distinto de cero:
(void *) $1 = 0x00007f92e74d10c0
Si recibe un puntero de cero, es posible que deba habilitar la firma de código y la compilación para perfilar, luego use el binario en la carpeta de lanzamiento, e incluso es posible que tenga que copiar el binario en la carpeta de recursos de la aplicación. En cuyo caso habría visto una salida de violación de Sandbox Read para la consola. Para probar una nueva versión del binario, debe matar la aplicación y cargarla nuevamente.
Usando dyld_insert_libraries para inyectar sslkillswitch e iniciar el proceso.
TBD
Use el proyecto XCode para construir SSL Kill Switch 2 para macOS. La biblioteca compilada estará disponible en productos/sslkillswitch.framework/versiones/a/sslkillswitch . Este es el binario que necesita inyectar en el proceso donde desea deshabilitar la fijación de SSL.
MIT - Ver ./license.
Alban Diquet - @nabla_c0d3