Ir al contenido

Herramientas, automatización y NSE para NFS

Por

Madurezreviewed
Última revisión
Publicado
Última actualización

El workflow de NFS distingue servicios RPC, exports y permisos observados después del montaje. Las herramientas automatizan cada capa, pero ninguna deduce por sí sola el efecto de UID, GID y opciones de export.

rpcinfo -p consulta el portmapper y muestra programa, versión, transporte y puerto:

Ventana de terminal
rpcinfo -p TARGET_IP

NFSv4 puede responder en TCP 2049 sin exponer todos los servicios auxiliares. Un portmapper cerrado no descarta NFSv4.

showmount -e consulta mountd:

Ventana de terminal
showmount -e TARGET_IP

El listado depende de la versión y de la política de mountd. Una respuesta vacía no demuestra que no existan exports NFSv4.

Fija versión y solo lectura en la primera prueba:

Ventana de terminal
sudo mount -t nfs -o ro,vers=3 \
TARGET_IP:EXPORT MOUNTPOINT

Para NFSv4:

Ventana de terminal
sudo mount -t nfs -o ro,vers=4 \
TARGET_IP:/ MOUNTPOINT

Registra UID y GID numéricos con ls -ln. Los nombres locales pueden traducir el mismo número de forma distinta. Antes de probar escritura, identifica root_squash, all_squash, anonuid, anongid y restricciones por origen.

Ventana de terminal
nmap --script-help 'nfs-*' 'rpc-*'

rpcinfo enumera programas. nfs-showmount consulta exports. nfs-ls lista y nfs-statfs obtiene información del sistema de archivos:

Ventana de terminal
sudo nmap -sV -n -Pn -p 111,2049 \
--script rpcinfo,nfs-showmount,nfs-ls,nfs-statfs \
TARGET_IP

Los scripts pueden seleccionar puertos dinámicos descubiertos mediante RPC. Conserva el output de rpcinfo para explicar a qué endpoint llegó cada consulta. Valida el export con showmount y un montaje de solo lectura.

access denied by server puede depender del origen, del nombre resuelto por el servidor o de la versión solicitada. Un montaje colgado puede indicar UDP filtrado, servicios RPC auxiliares inaccesibles o retransmisiones. Repite cambiando una sola variable y desmonta con umount antes de cambiar versión.