Noticia Cracking de apps en Objetive-C con SIMBL y EasySIMBL

En su conjunto de Enlaces de la Secmana desde SecurityByDefault nos referenciaban un pequeño CrackMe para OS X llamado OSX Swizzler en el que se hace uso de SIMBL y de EasySIMBL para conseguir hookear una función de la aplicación - escrita en Objective-C y poder saltarse así la protección de la misma.


Figura 1: EasySIMBL creando un bundle

La idea de usar SIMBL o la versión más moderna EasySIMBL que funciona en OS X 10.7 Lion y en OS X 10.8 Mountain Lion para crear un bundle con las dos aplicaciones. Para ello se debe crear un método especial llamado Load en el que se indica cuál es el método que se quiere hookear, para conseguir reprogramar el comportamiento de un determinado método o función dentro del paquete original.


Figura 2: Método Load para modificar el método isValidSerial

El resultado final es que se cambia el comportamiento de la app y se consigue el objetivo buscado, de resolver el CrackMe. El uso de SIMBL o EasySIMBL permite no sólo crackear apps en Objetive-C, sino cargar plugins, o funciones extras en apps sin necesidad de que haya una interfaz especialmente definida para ello.


Figura 3: CrackMe OSX Swizzler resuelto

Estas técnicas también se pueden utilizar con apps desarrolladas para iOS, aunque lógicamente la ejecución de bundle se podría realizar en sistemas en los que la validación de code-signing haya sido desactivada.

Publicado en Seguridad Apple - Google+ - RSS - Eleven Paths - El lado del mal




Continúar leyendo...