🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónSecretos guardados en la propia máquina
5 tareas · 25 min · Principiante
La sala anterior vio cómo salen las credenciales por el servicio de metadatos sin que nadie las guarde. Esta mira el otro camino, el más viejo y el más común a la vez: las credenciales que alguien guardó a mano dentro de la máquina. Una clave pegada en el script de arranque de la instancia, un fichero de credenciales olvidado en el disco, un secreto en una variable de entorno — todas son claves que viven en la propia máquina y que, el día que se compromete, se van con el atacante. En la cuenta de Cobalto hay una instancia cuyo script de arranque lleva una clave de acceso de larga vida en texto plano. En esta sala aprendes a reconocer dónde se esconden esos secretos y cómo se evita tenerlos ahí.
Objetivo de la sala
La sala anterior vio cómo salen las credenciales por el servicio de metadatos sin que nadie las guarde. Esta mira el otro camino, el más viejo y el más común a la vez: las credenciales que alguien guardó a mano dentro de la máquina. Una clave pegada en el script de arranque de la instancia, un fichero de credenciales olvidado en el disco, un secreto en una variable de entorno — todas son claves que viven en la propia máquina y que, el día que se compromete, se van con el atacante. En la cuenta de Cobalto hay una instancia cuyo script de arranque lleva una clave de acceso de larga vida en texto plano. En esta sala aprendes a reconocer dónde se esconden esos secretos y cómo se evita tenerlos ahí.Cada instancia puede llevar un script de arranque —los datos de usuario— que se ejecuta cuando la máquina se enciende para dejarla configurada. Es cómodo meter ahí una clave de acceso "para que la aplicación la tenga al arrancar", y es un error por dos motivos. Primero, ese script no es secreto: suele poder leerse consultando la propia instancia, incluso a través del servicio de metadatos, así que una clave ahí está casi publicada dentro de la máquina. Segundo, queda guardado tal cual, de modo que cualquiera que acceda a la configuración de la instancia se la lleva. Una credencial en el script de arranque es una credencial esperando a ser leída.
El script de arranque se puede consultar; una clave escrita ahí no está guardada, está expuesta dentro de la máquina.
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
¿Por qué es peligroso poner una clave de acceso en el script de arranque de una instancia?
Ver pista de ayuda
¿Quién puede leer ese script, y qué pasa con lo que escribiste dentro?
El secreto que Cobalto dejó en el arranque es, además, una clave de acceso de larga vida: no caduca sola. Eso la hace peor que una credencial temporal en el mismo sitio, porque si la máquina se compromete, la clave sigue valiendo fuera de ella indefinidamente, hasta que alguien la revoque. La alternativa es no tener ninguna clave en la máquina: la instancia ya tiene un rol asignado que le entrega credenciales temporales por el servicio de metadatos, que caducan solas y se revocan quitando el rol. Si la aplicación puede autenticarse con el rol de la instancia, meterle una clave de larga vida a mano solo añade un secreto robable sin ganar nada.
Una clave de larga vida en la máquina vale fuera de ella para siempre; el rol de la instancia da credenciales que caducan y se revocan.
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
La clave del arranque es de larga vida. ¿Qué la hace peor que usar el rol de la instancia?
Ver pista de ayuda
Compara cuánto sigue valiendo cada cosa si alguien la saca de la máquina.
En la misma instancia de Cobalto hay, además, un fichero de credenciales en el disco con otra clave de larga vida. Es la misma familia de problema que el script de arranque: un secreto en reposo dentro de la máquina, que viaja con cualquier copia del disco, con cualquier respaldo y con cualquier acceso de lectura al sistema de archivos. No importa que el fichero esté "en una ruta que nadie conoce": las rutas de los ficheros de credenciales son estándar y se buscan las primeras. Mientras haya una clave escrita en el disco de la máquina, hay un secreto que se filtra con la máquina.
Un secreto en el disco se va con cada copia y con cada acceso de lectura; la ruta "discreta" no es una defensa.
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
Hay un fichero de credenciales de larga vida en el disco de la instancia. ¿Cómo lo calificas?
Ver pista de ayuda
¿Con qué se va ese fichero, y sirve de algo que su ruta sea poco conocida?
La corrección tiene dos partes. Quitar los secretos de donde están —borrar la clave del script de arranque y el fichero del disco— y, como las dos claves ya estuvieron expuestas, rotarlas, porque una clave que anduvo en texto plano se da por filtrada. Y cambiar el modo de autenticar: si la aplicación puede usar el rol de la instancia, que lo use y no guarde ninguna clave; y los secretos que de verdad no se pueden evitar van en un almacén de secretos gestionado, del que la aplicación los lee en tiempo de ejecución con su rol, nunca escritos en el arranque ni en el disco. Así la máquina deja de llevar encima nada que valga la pena robar.
Sacar el secreto de la máquina, rotar lo que estuvo expuesto y leer de un almacén con el rol es lo que hace que comprometer la instancia no entregue una clave.
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
¿Cuál es la corrección completa de los secretos de la instancia de Cobalto?
Ver pista de ayuda
No basta con moverlas: estuvieron en claro, así que se rotan, y se deja de guardarlas en la máquina.
Abre el laboratorio de secretos de la instancia de Cobalto. Lee el script de arranque y el disco de la máquina, localiza las claves de larga vida guardadas a mano y después el informe de la revisión, que cierra con el código de la sala.
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
Confirma en la instancia la clave de larga vida escrita en el script de arranque y el fichero de credenciales en el disco, y escribe el código de la sala que cierra el informe de la revisión de secretos.
Formato esperado: SEC-____
Ver pista de ayuda
Con la terminal, `cat revision.txt`. El hallazgo cruza la clave del arranque con el fichero del disco; el código está en la última línea.
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.