Sticky Bit se menciona en todos los libros de seguridad de UNIX, pero no pude encontrar a nadie que describiera la explotación de Sticky Bit en un archivo.
¿Puedes?
man chmod
#Debian Linux
BANDERA DE BORRADO RESTRINGIDO O BIC ENCONTRADO
El indicador de eliminación restringida o el bit adhesivo es un bit único, cuyo La interpretación depende del tipo de archivo. Para directorios, evita. los usuarios sin privilegios pueden eliminar o renombrar un archivo en el directorio a menos que posean el archivo o el directorio; esto se llama el indicador de eliminación restringida para el directorio, y se encuentra comúnmente en Directorios de escritura mundial como / tmp. Para archivos regulares en algunos viejos En los sistemas, la broca guarda la imagen de texto del programa en el dispositivo de intercambio para se cargará más rápidamente cuando se ejecuta; esto se llama el bit adhesivo.
Tenga en cuenta que la parte "en algunos sistemas antiguos" se aplica a varios sistemas BSD. Linux nunca ha tenido un manejo especial para el bit adhesivo en los archivos. Consulte enlace para obtener más detalles sobre eso.
Desde un punto de vista de seguridad, realmente se trata de entender por qué existe ese permiso en el directorio / tmp, y posiblemente en otros. Evita que los usuarios eliminen los archivos de otros en un directorio en el que pueden escribirse varios usuarios. En realidad, solo es un problema si no lo configuras y alguien se borra feliz en los archivos de otros.
A pesar de que el OP se dio cuenta de que confundió el bit sticky ( t
) con los bits setuid / setgid ( s
), quiero dar un "escenario de la vida real" para un sticky bit faltante en un directorio:
Si utiliza un programa de correo de texto de estilo antiguo como mutt
y comienza compose mail
, ocurre lo siguiente (aproximadamente):
/var/tmp
Un atacante puede reemplazar el archivo que contiene el texto de su correo entre el paso 4 y el paso 6. El motivo es que el directorio de archivos temporales debe ser de escritura mundial para que todos los usuarios puedan utilizarlo. Este ataque funciona incluso si el archivo tiene el modo de acceso 0600, porque tener el derecho de crear, reemplazar o eliminar un archivo depende de los bits de permiso de escritura en el directorio.
El bit fijo evita que un atacante elimine (llamada al sistema unlink
) o reemplace ( rename
) un archivo de otro usuario, incluso si el atacante tiene permiso de escritura en el directorio.
Modificando un archivo depende de los bits de acceso de escritura (y la propiedad) del propio archivo.