Firmado de IPAs con Sideloadly
Table of Contents
En el ecosistema cerrado de Apple, la ejecución de código arbitrario es el primer muro con el que nos topamos. Históricamente, dependíamos del jailbreak para auditar aplicaciones, pero en entornos corporativos o con dispositivos de última generación (donde un jailbreak estable puede no existir), necesitamos adaptarnos.
Aquí es donde entra el concepto de Sideloading. Básicamente, abusamos de la funcionalidad de Free Developer Account de Apple para firmar nuestras propias aplicaciones (o aplicaciones de terceros modificadas) y desplegarlas en el dispositivo objetivo. Aunque existen herramientas como AltStore, hoy nos centraremos en Sideloadly, una navaja suiza que no solo firma, sino que facilita la inyección de librerías dinámicas (.dylib / Frida Gadgets) al vuelo.
🚧 Preparación del Entorno
Antes de abrir la herramienta, hay un “gotcha” crítico que suele frustrar a muchos al principio. Sideloadly necesita comunicarse a bajo nivel con el dispositivo iOS para instalar el perfil.
Si tienes iTunes o iCloud instalado desde la Microsoft Store, Sideloadly fallará. Las versiones de la Store están “sandboxed” y no exponen las librerías necesarias para que herramientas de terceros interactúen con el daemon del dispositivo.
Pasos de limpieza
Desinstala completamente cualquier rastro de iTunes o iCloud proveniente de la Microsoft Store.
Descarga e instala las versiones “Standalone” (instaladores
.exeo.msiclásicos) desde el sitio web de Apple, te las dejo por aquí:
Nota: A veces, un reinicio después de desinstalar las versiones de la Store suele ahorrar dolores de cabeza.
🎭 Gestión de Identidades
Para firmar una aplicación, Apple exige un Apple ID válido. Al usar una cuenta gratuita, Apple genera un certificado de desarrollo válido por 7 días y un perfil asociado a tu dispositivo.
Recomendación de seguridad: Nunca utilices tu Apple ID personal (donde tienes tus fotos, tarjetas o datos reales) para tareas de auditoría o investigación.
Crea una cuenta “Burner” (desechable) dedicada exclusivamente para pruebas.
Esto aísla cualquier riesgo si Apple decide flaguear la cuenta por actividad inusual (como firmar IPAs modificados repetidamente).
⚙️ Configuración y Firmado
Con el dispositivo conectado por USB y reconocido por el iTunes, abrimos Sideloadly. La interfaz es muy, pero potente.
Carga del Target
Arrastramos el archivo .ipa que queremos auditar. Puede ser una aplicación descifrada (obtenida mediante frida-ios-dump o similares) o una app propia.
Opciones Avanzadas
Aquí es donde diferenciamos una instalación básica de una técnica. Al hacer clic en “Advanced Options”, podemos manipular cómo se firmará la app:
Change App Name / Bundle ID: Crucial si quieres instalar la app modificada junto a la original (side-by-side) sin sobrescribirla. Al añadir un sufijo al Bundle ID (ej:
com.target.app->com.target.app.audit), iOS la tratará como una aplicación distinta.Injecting Dylibs: Si el IPA no tiene el Gadget de Frida inyectado, podemos hacerlo aquí mismo. Seleccionamos el
.dylibde Frida, y Sideloadly lo empaquetará y firmará junto con el ejecutable principal.
Puedes encontrar
.dyliben el repositorio de Frida , normalmente con la nomenclaturafrida-gadget-<version>-ios-universal.dylib.xz.
Proceso de Anisette
Al pulsar “Start”, Sideloadly contactará con los servidores de Apple (simulando ser un Mac o un cliente iTunes legítimo mediante datos Anisette) para obtener el certificado. Nos pedirá la contraseña de nuestra cuenta burner.
Si tienes 2FA activado (casi obligatorio hoy en día), te solicitará el código.
🔥 Confianza y Ejecución
Una vez que Sideloadly muestra “Done”, la app aparecerá en el Springboard (pantalla de inicio) del iPhone. Sin embargo, si intentas abrirla, iOS bloqueará la ejecución. Esto es el modelo de seguridad Walled Garden en acción: el certificado es válido criptográficamente, pero el usuario no ha expresado confianza explícita en él.
Para autorizar la ejecución:
Ve a Ajustes -> General -> VPN y gestión de dispositivos (o Perfiles).
Verás tu email de la cuenta burner bajo “App de desarrollador”.
Entra y pulsa en “Confiar”.
Ahora, el binario firmado es ejecutable y, si inyectaste Frida, estará listo para cuando la aplicación arranque.
Conclusión
Sideloadly simplifica enormemente el despliegue de aplicaciones de prueba en dispositivos iOS. Aunque la limitación de 7 días puede parecer molesta, para un engagement de pentesting suele ser tiempo suficiente. Mantener una operativa separando cuentas y entornos asegura que nuestras pruebas sean controladas y repetibles.
¡Nos vemos en la próxima!



