
encuentro archivos php conBit SGID y solo lectura y ejecución. el grupo esraíz. ¿Es esto un problema?
Debido a que un usuario necesitará ejecutar el intérprete de php con su cuenta nuestra, ¿podría esto llevar a una escalada de privilegios?
Como, el usuariowww-datoscorriendoPHPcomowww-datosy llamar al archivo conbit SGID, ¿podría convertirse en root?
php path/to/file.php
Respuesta1
Sí; sgid:root ejecutará el archivo como root si se ejecuta directamente en un sistema operativo con sgid-on-!# habilitado, y si se puede engañar al archivo php para que escriba en un archivo arbitrario debido a la falta de saneamiento de entrada, etc.
Ese es un gran SI, pero se recomienda una defensa en profundidad porque abundan los errores.
Suido de prueba;
./test.php && whoami
root
www-data
Donde contiene test.php
#!/usr/bin/php
echo exec('whoami');
Permitir setuid en scripts de shell
Observa cómo las implementaciones modernas abordan formas interesantes de aprovechar sgid
https://www.in-ulm.de/~mascheck/various/shebang/#setuid
Toma nota del #! El ataque simlink fue un problema de 1983 a 1993, antes del cual shebang no era compatible y después se implementó de manera más segura.