🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónCaso final — Tejón Salud
6 tareas · 45 min · Principiante
Otra aplicación, otra empresa, y nadie te dice dónde mirar. Tejón Salud es la aplicación que una red de clínicas ficticia reparte a sus pacientes para pedir cita y ver sus resultados. Tienes su paquete, su API de respaldo y un emulador, todo de laboratorio y aislado. Tu trabajo es el del analista completo: recorrer el paquete, el almacenamiento, el tráfico y la API, encontrar lo que de verdad importa, y entregar el informe con cada hallazgo y su mitigación, con el foco donde debe estar —la API—. Si el método se aprendió, aquí se transfiere; si memorizaste los hallazgos de Colibrí, aquí se nota, porque la aplicación, los datos y los fallos son otros. Todo es análisis autorizado sobre una aplicación propia, con el fin de que la clínica pueda corregirla.
Objetivo de la sala
Otra aplicación, otra empresa, y nadie te dice dónde mirar. Tejón Salud es la aplicación que una red de clínicas ficticia reparte a sus pacientes para pedir cita y ver sus resultados. Tienes su paquete, su API de respaldo y un emulador, todo de laboratorio y aislado. Tu trabajo es el del analista completo: recorrer el paquete, el almacenamiento, el tráfico y la API, encontrar lo que de verdad importa, y entregar el informe con cada hallazgo y su mitigación, con el foco donde debe estar —la API—. Si el método se aprendió, aquí se transfiere; si memorizaste los hallazgos de Colibrí, aquí se nota, porque la aplicación, los datos y los fallos son otros. Todo es análisis autorizado sobre una aplicación propia, con el fin de que la clínica pueda corregirla.Tienes el paquete de Tejón, su API y el emulador, y ninguna indicación. La tentación es saltar a lo llamativo —enganchar funciones para «romper» algo— pero eso mide resistencia del cliente, no dónde están los datos. El orden que transfiere el método es otro: abrir el paquete y leer lo que trae (rutas de la API, secretos, manifiesto), mirar qué guarda en el dispositivo, y poner el proxy para ver el diálogo con la API, que es donde viven los datos de los pacientes. El análisis del cliente sirve para encontrar la superficie; el veredicto se decide contra el servidor.
Empiezas por el análisis estático y el tráfico, no por enganchar. Con eso construyes el mapa de la API antes de probar nada contra ella.
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
Abres el caso de Tejón sin pistas. ¿Cómo empiezas para que el método se transfiera?
Ver pista de ayuda
Lo llamativo del cliente mide resistencia, no datos. Mapea la API primero; los datos se juegan en el servidor.
Mapeada la API de Tejón, pruebas la ruta que devuelve los resultados médicos: la app los pide por el identificador del paciente. Con tu sesión de paciente cambias ese identificador por otro y el servidor responde con los resultados de otra persona —análisis, diagnósticos, datos de salud—. Es un control de acceso roto sobre datos sensibles, y si los identificadores son correlativos, el alcance es toda la base de pacientes. Este es el hallazgo central del caso, y no estaba en ninguna parte del cliente: estaba en que el servidor no comprueba de quién es lo que pide.
Lo documentas con una muestra mínima que prueba el alcance, sin descargar datos de pacientes de más, y con la remediación en el servidor: comprobar en cada petición que el resultado pertenece a la sesión que lo pide.
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
Cambias el identificador de paciente en la API de Tejón y recibes los resultados médicos de otra persona. ¿Cómo lo tratas?
Ver pista de ayuda
El impacto es el alcance, probado con lo mínimo. El arreglo va en el servidor: comprobar de quién es cada recurso.
Tejón fija el certificado y, cuando montas el proxy, la aplicación deja de conectar hasta que saltas la fijación en tu emulador. Es fácil escribir «fijación vencida» como titular del informe, pero eso mediría una defensa del canal en tu propio dispositivo, no un fallo que exponga a los pacientes. La fijación cumplía su papel frente a intermediarios en la red; el problema de Tejón no es el canal —que va cifrado— sino lo que el servidor acepta una vez que la petición llega. Poner la fijación en el titular desviaría la atención del control de acceso roto, que es lo que hay que arreglar.
En el informe la fijación se menciona como lo que es —una defensa de canal que el analista salta en su equipo para poder mirar—, no como hallazgo. El titular es el acceso a datos ajenos en la API.
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
Saltas la fijación de certificado de Tejón para interceptar. ¿Qué lugar ocupa eso en el informe?
Ver pista de ayuda
Saltar la fijación en tu emulador no expone a nadie. El titular es lo que el servidor acepta: datos ajenos.
En el análisis estático viste que Tejón tiene una función de anulación de citas que la app solo muestra al personal de recepción, comprobando el rol en el cliente. Lo confirmas contra la API: llamas a la ruta de anulación con tu sesión de paciente, y el servidor anula la cita. El control de recepción vivía únicamente en la interfaz; el servidor no comprueba el rol. Un paciente podría anular citas ajenas hablando directo con la API. El hallazgo no es que la pantalla se pudiera abrir, es que la acción se ejecuta sin autorización en el servidor.
Se cierra en el servidor: la ruta de anulación verifica el rol derivado de la sesión y que la cita corresponda a quien la anula, denegando por defecto. Ocultar el botón en la app no habría cambiado nada.
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
Llamas a la ruta de anulación de citas de Tejón con sesión de paciente y el servidor anula la cita. ¿Cuál es el hallazgo y su cierre?
Ver pista de ayuda
Que la app oculte el botón no autoriza nada. La acción se ejecuta en el servidor, y ahí se verifica rol y propiedad.
Cierras el caso de Tejón con el informe para la clínica. El hallazgo que encabeza es el acceso a resultados médicos ajenos, por su impacto sobre datos de salud; le sigue la anulación de citas sin autorización; y se listan los de cliente —lo que hubiera de secreto o de dato local— con su peso real. Cada uno lleva su mitigación, y las que cierran el impacto van en el servidor: propiedad del recurso, rol desde la sesión, denegar por defecto. Las medidas de cliente —proteger el almacenamiento, no embeber secretos— se anotan donde el cliente es el lugar correcto; la ofuscación y el bloqueo por root, si aparecen, como fricción, no como cierre. El mensaje de la ruta entera queda en una línea del informe: arreglar la aplicación sin arreglar la API no cierra nada.
Si llegaste hasta aquí —mapeando la API antes de enganchar, probando el acceso a lo ajeno con muestra mínima, sin poner la fijación en el titular, y mandando las remediaciones de impacto al servidor—, el método de la ruta ya es tuyo.
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
Al cerrar el informe de Tejón, ¿cómo se ordenan y ubican las remediaciones?
Ver pista de ayuda
Ordena por impacto y cierra donde cierra: los datos se protegen en el servidor. El cliente y la fricción no son el titular.
El caso no se cierra con una impresión, se cierra con la prueba del hallazgo que encabeza el informe. Vuelve al laboratorio de Tejón, repite contra la API la petición de un resultado médico con un identificador de paciente que no es el tuyo, y comprueba que el servidor devuelve los datos de salud de otra persona. En la revisión de esa respuesta —el hallazgo central de toda la ruta— 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
Pide a la API un resultado médico con un identificador de paciente ajeno; en la respuesta que devuelve los datos de otra persona, escribe el código de la sala anotado.
Formato esperado: MOV-____
Ver pista de ayuda
El código acompaña al hallazgo central: la respuesta de la API con resultados médicos ajenos, no la anulación de la cita ni la fijación de certificado.
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.