🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónAná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.
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.
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.
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.
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.
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.
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.
Preparando el escritorio…
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.