Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Análisis estático: secretos, claves y rutas dentro del paquete

5 tareas · 35 min · Principiante

El análisis estático es leer la aplicación sin ejecutarla: se descompila el código, se recorren los recursos y se busca lo que el desarrollador dejó escrito. Aparecen cadenas, direcciones de servidores internos, rutas de la API y, con más frecuencia de la que nadie quisiera, claves y credenciales incrustadas. El error de fondo que esta sala desmonta es creer que meter un secreto dentro del paquete lo esconde: no lo esconde, lo reparte a cada persona que instala la aplicación. Se trabaja sobre el paquete de Colibrí en la nube con herramientas del oficio —MobSF para el barrido inicial, apktool y un descompilador para leer el código—, y cada hallazgo se cierra con su mitigación real. Es una sala de criterio: no todo secreto encontrado pesa igual, y ofuscar mejor casi nunca es la respuesta.

0 de 5 · 0%

Objetivo de la sala

El análisis estático es leer la aplicación sin ejecutarla: se descompila el código, se recorren los recursos y se busca lo que el desarrollador dejó escrito. Aparecen cadenas, direcciones de servidores internos, rutas de la API y, con más frecuencia de la que nadie quisiera, claves y credenciales incrustadas. El error de fondo que esta sala desmonta es creer que meter un secreto dentro del paquete lo esconde: no lo esconde, lo reparte a cada persona que instala la aplicación. Se trabaja sobre el paquete de Colibrí en la nube con herramientas del oficio —MobSF para el barrido inicial, apktool y un descompilador para leer el código—, y cada hallazgo se cierra con su mitigación real. Es una sala de criterio: no todo secreto encontrado pesa igual, y ofuscar mejor casi nunca es la respuesta.

Al descompilar Colibrí aparece, entre las cadenas, una clave de API de un servicio de terceros escrita directamente en el código. Estaba ahí para que la aplicación pudiera llamar a ese servicio sin pedirle nada al usuario. El problema es que esa clave viaja en cada copia instalada: cualquiera que abra el paquete la lee, tal como acabas de hacer. La gravedad depende de qué permite esa clave —si factura contra la cuenta de la empresa, es grave—, pero el patrón es el mismo.

La mitigación no es ofuscar la clave para que «cueste encontrarla». Ofuscar retrasa, no cierra: el secreto sigue en el cliente. La corrección es sacar el secreto del cliente —que la llamada al tercero la haga el servidor de Colibrí, y la aplicación hable solo con su propio servidor—.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Encuentras una clave de API de terceros incrustada en el código de Colibrí. ¿Cuál es la mitigación que cierra el fallo?

Ver pista de ayuda

Todo lo que está en el cliente se puede leer. Ofuscar retrasa; solo sacar el secreto del cliente lo cierra.

El barrido estático marca muchas cadenas, y no todas son un secreto. Una clave pública, un identificador de la aplicación o el nombre de un servidor no son credenciales: son datos que de todos modos viajan o que no dan acceso a nada por sí solos. Confundir un identificador con una credencial llena el informe de ruido y quema la confianza de quien tiene que arreglarlo. El criterio es preguntar qué se puede hacer con el valor: si abre algo, es secreto; si solo nombra algo, no.

En Colibrí el barrido señala tres cadenas: una clave que factura contra un servicio de pago, una clave pública de verificación de firmas, y el identificador interno de la aplicación. Solo la primera da acceso a algo.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

El barrido de Colibrí marca una clave de pago, una clave pública de verificación y un identificador de app. ¿Cuál es el hallazgo que importa?

Ver pista de ayuda

Pregunta qué se puede HACER con cada valor. Una clave pública y un identificador no dan acceso; una clave de pago sí.

Entre las cadenas aparecen las direcciones de la API que la aplicación usa, incluidas algunas rutas de administración que la interfaz nunca muestra. Eso es información útil para el análisis: dice dónde mirar después, en el módulo de la API. Pero conocer una ruta no es en sí una vulnerabilidad —que exista /admin/exportar no significa que cualquiera pueda usarla—. El hallazgo real aparecerá cuando se compruebe si el servidor protege esa ruta o confía en que la aplicación no la llame.

En Colibrí encuentras la ruta /interno/usuarios que la app usa solo para su panel de soporte. Anotas que existe y por dónde seguir; el veredicto se decide contra el servidor, no aquí.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

El análisis estático de Colibrí revela rutas de administración de la API que la interfaz no muestra. ¿Qué es correcto concluir?

Ver pista de ayuda

Conocer una ruta dice dónde mirar. Si está protegida o no lo decide el servidor, en el módulo de la API.

Cerrar este tipo de hallazgo pieza por pieza —quitar esta clave, mover esta otra— trata el síntoma. La causa raíz es un modelo donde el cliente guarda algo que le da acceso directo a un recurso que factura o que expone datos. El arreglo duradero es una regla de arquitectura: el cliente no custodia secretos de servidor; si hace falta hablar con un tercero de pago o con un recurso sensible, ese paso ocurre en el servidor, que sí puede guardar un secreto y decidir quién lo usa. Escribir eso en el informe evita que la clave siguiente reaparezca en la próxima versión.

En el informe de Colibrí no anotas «borrar la clave X»: anotas «ningún secreto de servidor vive en el cliente; las llamadas a servicios de pago pasan por el backend, que autentica a cada usuario».

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

¿Qué remediación de fondo evita que los secretos embebidos reaparezcan versión tras versión en Colibrí?

Ver pista de ayuda

Tratar cada clave es tratar el síntoma. La causa raíz es dónde viven los secretos: fuera del cliente.

Abre el laboratorio y recorre las cadenas que marcó el barrido estático de Colibrí. De las tres, quédate solo con la que de verdad da acceso a algo que factura, descartando la clave pública y el identificador. Junto a ese hallazgo hay un código de la sala. Escríbelo tal cual.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Entre las cadenas marcadas, identifica el único secreto que da acceso y escribe el código de la sala anotado junto a él.

Formato esperado: MOV-____

Ver pista de ayuda

El código acompaña a la cadena que abre un servicio de pago, no a la clave pública ni al identificador de la app.

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

Preparando el escritorio…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build bcc89e

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