Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

El paquete IPA por dentro: carpeta, perfil y firma

4 tareas · 40 min · Principiante

Una aplicación de iOS llega al teléfono como un archivo IPA, que por dentro es un archivo comprimido con una carpeta llamada Payload y, en ella, el paquete de la aplicación: el ejecutable, el archivo de propiedades, los recursos, los marcos de código que trae, el perfil de aprovisionamiento y la firma. Leer ese listado es el primer paso de cualquier revisión, porque muestra qué viaja con la app antes de abrir ningún archivo. En esta sala se lee el listado de Quetzal Cliente, un archivo de configuración que no debería estar, el perfil embebido y el resumen de la firma, y se separa lo que la firma garantiza de lo que no.

0 de 4 · 0%

Objetivo de la sala

Una aplicación de iOS llega al teléfono como un archivo IPA, que por dentro es un archivo comprimido con una carpeta llamada Payload y, en ella, el paquete de la aplicación: el ejecutable, el archivo de propiedades, los recursos, los marcos de código que trae, el perfil de aprovisionamiento y la firma. Leer ese listado es el primer paso de cualquier revisión, porque muestra qué viaja con la app antes de abrir ningún archivo. En esta sala se lee el listado de Quetzal Cliente, un archivo de configuración que no debería estar, el perfil embebido y el resumen de la firma, y se separa lo que la firma garantiza de lo que no.

Un archivo IPA es un archivo comprimido, igual que un ZIP. Dentro hay una carpeta Payload, y dentro de ella una carpeta con extensión .app: ese es el paquete de la aplicación. Ahí viven el ejecutable, el archivo de propiedades Info.plist, los recursos (imágenes, textos, interfaces), la carpeta Frameworks con las bibliotecas de código que la app incluye, las extensiones en PlugIns, el perfil embedded.mobileprovision y la carpeta _CodeSignature con el sello de la firma.

Para la revisión esto significa que gran parte de lo que la app lleva se puede leer sin ejecutarla: el listado de archivos, sus tamaños y los textos de configuración. Lo que se lee es lo que cualquiera con el archivo puede leer. Por eso el criterio no es «esto está escondido», sino «esto no debería viajar aquí».

Responde para continuar

¿Qué es un archivo IPA y qué implica para una revisión?

Ver pista de ayuda

Un IPA se abre como cualquier archivo comprimido; lo que se lee ahí lo puede leer cualquiera que tenga el archivo.

Un paquete de publicación debe llevar lo que la app necesita para funcionar para el usuario, y nada más. Los archivos de configuración de otros entornos —pruebas, preproducción, desarrollo— son un descuido frecuente: revelan direcciones de servidores internos, activan más registros de la cuenta y a veces traen cuentas de prueba. No son un fallo de cifrado; son información que sale en el paquete porque nadie la quitó del proceso de compilación.

El listado del IPA de Quetzal enumera los archivos con su tamaño; entre los nombres de los recursos habituales hay uno que pertenece a otro entorno. Ábrelo y lee qué revela.

Responde para continuar

Uno de los archivos del listado es de configuración de un entorno de pruebas y viaja en el paquete de los clientes piloto. Escribe su nombre.

Ver pista de ayuda

Busca en el listado un nombre que hable de un entorno que no es el de los usuarios y ábrelo con cat.

El archivo embedded.mobileprovision es el perfil de aprovisionamiento: un documento firmado por Apple que dice a qué equipo de desarrollo pertenece la app, para qué aplicación vale, qué capacidades puede usar, hasta cuándo es válido y, si es de distribución restringida, en qué dispositivos puede instalarse. Es lo que permite que una app firmada por un equipo corra en teléfonos que no son de ese equipo.

El perfil se decodifica a texto con herramientas estándar y su resumen identifica al equipo con un código de diez caracteres, el identificador de equipo. Ese código aparece también en las firmas y en los grupos de acceso de los entitlements, así que es la llave para relacionar piezas entre sí.

Responde para continuar

Escribe el identificador de equipo que figura en el perfil embebido de Quetzal Cliente.

Ver pista de ayuda

Está en la línea TeamIdentifier del resumen del perfil.

El resumen de la firma de Quetzal dice que la verificación es válida y que el paquete lo firmó el equipo de Quetzal. Esas son las dos cosas que la firma de código garantiza: quién firmó y que los archivos sellados no han cambiado desde entonces. No garantiza que la aplicación sea segura, ni que sus datos estén cifrados, ni que el contenido del paquete esté oculto: el archivo de configuración de la tarea anterior está firmado y a la vez se lee en claro.

Un informe honesto no presenta «la firma es válida» como un hallazgo ni como una tranquilidad. Es un dato de procedencia e integridad, y se anota como tal.

Responde para continuar

La verificación de la firma de Quetzal Cliente sale válida. ¿Qué conclusión sostiene la evidencia?

Ver pista de ayuda

La firma sella archivos y dice quién firmó; no mira lo que hay dentro ni lo oculta.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad