Seguridad a fondo · Unidad 22 · Lección 1 de 44
Escalada de privilegios en Linux
Comprende quién puede hacer qué: identidades, permisos, delegación y dependencias que sostienen los límites de privilegio en Linux.
ATT&CK TA0004 Privilege Escalation
Para prepararteEscalada de privilegios
Después de esta lección puedes
- explicar cómo identidad del proceso y políticas determinan el acceso en Linux
- distinguir permisos ordinarios de delegación privilegiada explícita
- describir el límite de un servicio y una forma práctica de verificar su protección
Lecciones de esta unidad
Explorar 21 lecciones de este tema
- Identidad de procesos LinuxUsa una instantánea de credenciales para explicar una decisión de acceso a archivos.4 min
- Propietario, grupo y otrosElige la clase aplicable antes de evaluar una operación.3 min
- Los directorios controlan nombresDistingue listar un directorio de resolver un archivo dentro de él.3 min
- ACL: permisos para identidades concretasCalcula derechos efectivos a partir de una entrada y su máscara.3 min
- Permisos especiales con propósitoSepara la protección sticky de un directorio de los permisos sobre contenido.4 min
- Capacidades: dividir la autoridadDistingue una configuración de límites de la autoridad que se posee actualmente.4 min
- Delegar exige mirar más que un nombreRevisa tarea, identidad de destino y entradas de confianza de una delegación.4 min
- Una identidad para cada servicioComprueba si identidades de servicio separadas tienen acceso a datos realmente separado.3 min
- Las tareas programadas tienen dependenciasSepara la activación de un temporizador del éxito del trabajo y de su resultado verificado.4 min
- Las rutas de búsqueda expresan confianzaExplica qué demuestra una ubicación explícita y qué deja pendiente sobre una dependencia.4 min
- Las bibliotecas comparten autoridadRevisa un complemento nativo aparte del programa de confianza que lo carga.4 min
- Secretos locales y ciclo de vidaDistingue borrar un secreto local de terminar el acceso que permite.3 min
- El aislamiento tiene varias dimensionesEvalúa el contenedor por sus accesos reales, no por su etiqueta de aislamiento.3 min
- La política obligatoria añade un límiteComprueba si la política obligatoria limita realmente al proceso del registro.3 min
- Actualizar el núcleo necesita evidenciaRelaciona la corrección del proveedor con el núcleo que realmente se ejecuta.3 min
- Revisa el límite Linux completoInterpreta la puntuación de refuerzo junto con las comprobaciones y cuentas que cubre.3 min
- Los archivos nacen con una decisión de accesoCalcula permisos iniciales y reconoce qué deja intacto un cambio de valores predeterminados.3 min
- Un socket local también necesita límitesSepara contactar con un servicio local de tener permiso para cambiar su política.3 min
- Un grupo de gestión puede otorgar mucho poderTrata los grupos de gestión como autoridad delegada, incluidas las sesiones existentes.4 min
- Cada opción de montaje tiene un propósitoRelaciona cada restricción de montaje con la ruta y operación exactas.3 min
- Caso: revisa los permisos de un archivo LinuxInterpreta una ACL, separa archivos antiguos de valores iniciales y propone una corrección limitada y justificada.10 min
Un museo ficticio utiliza un servicio Linux para copiar cada noche el catálogo de su colección. El servicio necesita leer el catálogo y escribir copias. No necesita administrar todas las cuentas de la máquina. Comprender esa diferencia es la base de proteger privilegios: dar al trabajo útil autoridad suficiente y proteger los lugares donde esa autoridad se asigna o modifica.
Empieza por el proceso, no por su nombre
Un proceso lleva credenciales de usuario y grupo. Su ID de usuario efectivo ayuda a determinar autoridad; Linux también tiene identificadores de sistema de archivos que normalmente siguen a los efectivos. Un nombre amigable de servicio no revela esos valores. Los grupos adicionales pueden dar acceso importante aunque la cuenta no sea root.
Para un archivo ordinario sin controles adicionales, la clase aplicable de propietario, grupo u otros aporta sus permisos. Las clases no se suman. Sigue identidad de procesos y permisos de archivos antes de explorar las ACL.
Separa el archivo de su ubicación
Leer contenido, escribirlo y cambiar su entrada de directorio son operaciones diferentes. Un directorio gobierna nombres y recorrido; un archivo gobierna contenido. Proteger la configuración del museo incluye revisar sus directorios contenedores y el proceso que crea archivos de sustitución.
Los permisos predeterminados influyen en objetos nuevos; los archivos existentes conservan sus propios ajustes. Continúa con permisos de directorios y máscaras de creación.
EXPLORA EL CONCEPTO
Prueba una decisión de permisos Linux
Explora los casos y cambia identidad y permisos. Este modelo cubre lectura y escritura de un archivo ordinario sin ACL, capacidades adicionales ni otras políticas.
El propietario no toma prestado el permiso del grupo
En el modelo ordinario de bits, el propietario usa su clase. Si no tiene escritura, el permiso de escritura del grupo no ofrece un segundo intento, aunque también pertenezca a ese grupo.
Un directorio es otro tipo de objeto
Leer directorios lista nombres; buscar permite recorrerlos. Cambiar entradas normalmente requiere escritura y búsqueda. Este simulador de archivos no decide eliminación, renombrado ni recorrido de directorios.
Los sistemas reales incluyen más controles
ACL, capacidades del proceso, restricciones de montaje y políticas obligatorias pueden afectar el acceso real. Usa el simulador para comprender un mecanismo y examina el contexto completo al revisar un sistema.
Modelo simplificado para aprender. No se conecta a sistemas ni usa datos reales.
Comprende cambios deliberados de autoridad
SUID en un ejecutable compatible puede cambiar el ID efectivo al ID del propietario. No hace que todo programa use incondicionalmente todos los privilegios de ese propietario. Linux ignora esos bits en scripts interpretados; restricciones como no_new_privs o un montaje nosuid pueden impedir la transición. Pregunta qué propósito cumple un programa auxiliar privilegiado y cómo se limita su autoridad.
sudo aplica políticas a tareas delegadas: quién realiza qué trabajo, con qué identidad y bajo qué condiciones. Revisa argumentos, entorno, configuración y dependencias junto con la tarea. Una Capacidad separa operaciones privilegiadas concretas, pero una lista corta puede conceder poder considerable. Explora permisos especiales, políticas de delegación y límites de capacidades.
Sigue las dependencias de confianza del servicio
La identidad de copias del museo es solo parte de su Límite de confianza. Horario, programa, configuración, bibliotecas, interfaz de gestión y destino también influyen en su trabajo. Cambiar una dependencia de confianza puede alterar el comportamiento de un servicio poderoso. Asigna responsable a cada componente y limita quién puede mantenerlo.
Los sockets locales también necesitan autorización. Los grupos de gestión de contenedores pueden tener autoridad considerable sobre el anfitrión. Restricciones de montaje y políticas obligatorias responden a operaciones concretas, con límites definidos. Las lecciones sobre tareas programadas, sockets locales y controles obligatorios explican esos límites.
Verifica un límite útil
Expresa el requisito claramente: «El servicio puede leer el catálogo y crear copias; solo mantenimiento cambia su configuración». Retira permisos innecesarios, verifica que el trabajo ordinario funciona y confirma que se rechazan acciones no permitidas. Revisa la configuración activa tras actualizar. Software con soporte, mantenimiento oportuno, registros de cambios y recuperación probada complementan el diseño de permisos; ninguno vuelve innecesarios los demás.
Aplica estas ideas en el caso de revisión de permisos Linux. Utiliza los registros proporcionados, distingue los archivos existentes de la política de creación y justifica una corrección con evidencias de aceptación claras.
Términos que viste
Compruébate
Sin reloj ni penalizaciones. Lee cada explicación y vuelve a intentarlo cuando quieras.
Las preguntas de esta lección han cambiado. Tu lectura sigue guardada; repasa las preguntas actualizadas.
-
¿Qué puede cambiar SUID en una ejecución Linux compatible?
Ver la respuesta
Respuesta correcta: El ID de usuario efectivo, sujeto a restricciones de ejecución. El ID del propietario puede convertirse en el efectivo cuando las restricciones aplicables no impiden el cambio.
-
¿Qué hace completa una revisión de delegación con sudo?
Ver la respuesta
Respuesta correcta: Revisar tarea permitida, identidad de destino, entradas y dependencias. La autoridad efectiva depende del contexto completo de ejecución.
-
¿Puede un servicio sin root conservar autoridad sensible?
Ver la respuesta
Respuesta correcta: Sí; grupos, acceso a datos y derechos delegados pueden ser poderosos. Root no es la única identidad capaz de leer datos valiosos o cambiar conductas importantes.
-
¿Qué sigue a retirar un permiso innecesario de un servicio?
Ver la respuesta
Respuesta correcta: Verificar que funciona el trabajo previsto y se rechaza la operación no deseada. Un límite útil conserva la conducta necesaria y aplica la restricción prevista.
Pruébalo
- EscribeDibuja un servicio ficticio de copias. Nombra su identidad, datos que lee, resultados que escribe y quién cambia su configuración. Elige un permiso innecesario para retirar y describe una comprobación inocua de que el trabajo útil sigue funcionando.
Referencias
- Linux man-pages: credenciales de procesos (en inglés)
- Linux man-pages: ejecución y restricciones set-ID (en inglés)
- Linux man-pages: capacidades (en inglés)
- Linux man-pages: comprobaciones de acceso ACL (en inglés)
- Sudo: manual de políticas sudoers (en inglés)
- systemd: entorno de ejecución y aislamiento de servicios (en inglés)