Las vulnerabilidades más peligrosas de NFS no son días cero: son errores de configuración que existen en miles de entornos en este momento.
1. Exportaciones NFS legibles por cualquiera
Cuando /etc/exports se configura con un comodín, cualquier equipo en la red (o en internet, si el servidor es accesible externamente) puede montar el recurso compartido:
Este es el error de configuración de NFS más común y lo primero que revisa un atacante.
2. Root squashing deshabilitado (no_root_squash)
El root squashing asigna al usuario root remoto a un usuario sin privilegios en el servidor, lo que limita el daño. Cuando se deshabilita con no_root_squash, un usuario remoto con acceso root en su propio equipo obtiene acceso de nivel root al recurso compartido NFS.
Esto es una vía directa hacia la escalada de privilegios.
3. NFS en una red sin restricciones
Exponer los puertos de NFS (111, 2049) a internet o a segmentos amplios de la red interna sin restricciones de firewall aumenta drásticamente la superficie de ataque. Shodan y herramientas similares indexan con regularidad recursos compartidos NFS expuestos a internet que contienen datos sensibles.
4. Suplantación de UID/GID
NFS depende de los ID de usuario y de grupo (UID/GID) para los permisos de archivos. Un atacante que conozca el UID de un usuario con privilegios en el servidor NFS puede crear una cuenta local con el mismo UID en su propio equipo y obtener acceso a los archivos de ese usuario en el recurso compartido.
5. Exposición de datos sensibles a través de recursos compartidos montados
Incluso los recursos compartidos NFS de solo lectura pueden exponer:
- Claves privadas SSH
- Archivos de configuración que contienen credenciales
- Archivos de bases de datos
- Archivos de respaldo
- Código fuente de aplicaciones