Saltar al contenido
PURPLEDUEL

Secretos en procesos y servicios locales

Privilege Escalation · nivel medio · 4 objetivos · 600 XP en total

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:

Después de este laboratorio puedes pasar a:

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.

Todos los laboratorios de la ruta Privilege Escalation

Profundiza con las guías (en inglés)

Todas las guías (en inglés)