Secretos en procesos y servicios locales
En la Lavandería Burbuja Azul los agentes y servicios se hablan en la misma máquina. Mira qué está corriendo (y con qué argumentos), descubre qué servicios escuchan en local y comprueba si un secreto puede acabar en manos de quien no debería tenerlo.
Laboratorio 4 de 5 de la ruta Privilege Escalation. Si te atascas tienes 3 pistas, de la más vaga a la más precisa: cuestan 0, 50 y 150 XP.
Qué aprendes
Los objetivos se completan solos mientras trabajas en el terminal; cada uno vale puntos de experiencia:
- Listar los procesos en ejecución (100 XP)
- Leer el banner del servicio local en el puerto 7070 (150 XP)
- Autenticarse en el hub con el secreto encontrado (200 XP)
Temas: privesc, processi, segreti, audit.
Los comandos que usarás
El terminal es simulado y entiende unos cuarenta comandos de Linux. En este laboratorio te servirán sobre todo estos:
ps: lista los procesos en ejecución con sus argumentos, que todos los usuarios de la máquina pueden ver.grep: busca las líneas que contienen una palabra, incluso en carpetas enteras con -r. Es la herramienta principal para analizar texto y registros.nmap: descubre los hosts activos de una red y los puertos abiertos de una máquina, con servicios y versiones. Quien defiende lo usa para comparar la red real con el inventario.nc: netcat abre una conexión en bruto hacia un puerto y muestra lo que responde el servicio, incluido su mensaje de bienvenida (banner).curl: hace peticiones HTTP desde el terminal y muestra la respuesta en bruto del servidor, cabeceras incluidas.|: la barra vertical | encadena comandos: la salida del primero se convierte en la entrada del siguiente, y así pequeñas herramientas forman un análisis completo.
El entorno simulado
Trabajas en una shell de Linux simulada, en la carpeta personal del usuario runner: archivos y carpetas inventados, ningún objetivo en red.
Además de la carpeta personal hay un sistema simulado completo, con archivos de configuración, registros, usuarios y permisos que examinar.
En la máquina también funcionan servicios locales:
- SSH: el acceso remoto cifrado a la línea de comandos; se protege con claves en lugar de contraseñas y sin inicio de sesión directo como root.
- Base de datos: una base de datos (MySQL, MariaDB o PostgreSQL), que solo debería responder a los servicios que la usan y nunca a toda la red.
- Web (HTTP): un servidor web con páginas, API o paneles de gestión: la parte más expuesta de casi cualquier organización.
La lección de defensa
Con el laboratorio resuelto, el informe explica qué falló y cómo protegerse:
Los argumentos de los procesos son públicos: ps se los muestra a todos los usuarios (y acaban también en los logs de auditoría). Un token pasado con --token es como escribirlo en un cartel. Lección defensiva: pasa los secretos mediante variables de entorno del servicio, archivos con permisos 600 o un gestor de secretos, nunca como argumentos; monta /proc con hidepid=2, rota el token en cuanto quede expuesto y da a los servicios locales credenciales por cliente con alcance mínimo.
Antes y después de este laboratorio
Para abrirlo debes haber resuelto:
- Secretos olvidados (Privilege Escalation, medio)
- Banners de los servicios (Recon & Scanning, fácil)
Después de este laboratorio puedes pasar a:
- Auditoría de sudo y SUID (Privilege Escalation, difícil)
La ruta Privilege Escalation
Privilege Escalation es aquí una ruta de auditoría: estás en un servidor como usuario normal y compruebas si alguna configuración errónea permite obtener más privilegios de los debidos. Examinas las reglas de sudo, los programas con el bit SUID, las credenciales olvidadas en el historial y en archivos, y los secretos pasados como argumentos de los procesos. Son los mismos controles que hace quien asegura un sistema, y cada laboratorio termina con el principio que los resume todos: mínimo privilegio.