Auditoría de sudo y SUID
Logística Relámpago clasifica 40.000 paquetes al día y nadie ha hecho nunca una auditoría. En el servidor hay varios errores de configuración que por separado parecen inofensivos pero juntos abren la caja fuerte de los lotes. Encuéntralos con las herramientas de la auditoría y reúne las piezas: solo el último paso lleva al informe.
Laboratorio 5 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, 80 y 200 XP.
Qué aprendes
Los objetivos se completan solos mientras trabajas en el terminal; cada uno vale puntos de experiencia:
- Leer las reglas de sudo: ¿qué puede hacer de verdad tu usuario? (100 XP)
- Listar los programas con el bit SUID (150 XP)
- Revisar los procesos en ejecución (150 XP)
- Leer con sudo la clave protegida (250 XP)
Temas: privesc, sudo, suid, audit, boss.
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:
cat: muestra el contenido de un archivo: la forma más directa de leer configuraciones, notas y registros.sudo: ejecuta un comando con los privilegios de otro usuario, normalmente root; con -l lista lo que tienes permitido. Toda regla demasiado amplia es un riesgo.find: busca archivos por nombre, tipo o permisos en todo un árbol de carpetas; en una auditoría encuentra claves, copias olvidadas y programas con permisos peligrosos.ps: lista los procesos en ejecución con sus argumentos, que todos los usuarios de la máquina pueden ver.ls: lista los archivos de una carpeta; con -l muestra permisos y propietarios, con -a también los archivos ocultos. Es el primer comando en cualquier máquina.grep: busca las líneas que contienen una palabra, incluso en carpetas enteras con -r. Es la herramienta principal para analizar texto y registros.curl: hace peticiones HTTP desde el terminal y muestra la respuesta en bruto del servidor, cabeceras incluidas.
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.
- 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:
Ningún error por sí solo abría la caja fuerte: sudo sobre grep para leer los logs, una clave bien protegida, un programa SUID que solo imprime un número, un agente con el usuario escrito en la línea de comandos. Juntos forman una cadena. Lección defensiva: auditoría conjunta de las configuraciones, no un control cada vez; mínimo privilegio (sudo grep lee cualquier archivo: mejor un grupo con lectura solo sobre los logs), ningún SUID innecesario, ningún detalle de servicio en los argumentos de los procesos, claves rotadas y auditoría repetida tras cada cambio.
Antes y después de este laboratorio
Para abrirlo debes haber resuelto:
- Ejecutables con el bit SUID (Privilege Escalation, medio)
- Secretos en procesos y servicios locales (Privilege Escalation, medio)
Es uno de los laboratorios finales: ningún otro laboratorio lo requiere.
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.