NFS (Network File System) exporte des répertoires Unix sur le réseau. Sa faiblesse déterminante est le modèle de sécurité traditionnel AUTH_SYS (sec=sys), selon lequel le serveur fait confiance à n'importe quels identifiants d'utilisateur et de groupe que le client inclut dans chaque requête : il n'y a aucune authentification de l'identité revendiquée par le client, seulement les identifiants qu'il affirme. Cela fait d'un export NFS avec les options par défaut une porte quasi ouverte. La surface est l'énumération des exports et de leurs options, l'abus de no_root_squash pour agir en tant que root sur l'export, l'usurpation d'UID/GID arbitraires pour accéder aux fichiers de n'importe quel utilisateur, et les configurations comparativement plus difficiles de NFSv4-avec-Kerberos.
# discover exports and the RPC services behind NFS
showmount -e <target> # exported paths and allowed clients
rpcinfo -p <target> # mountd/nfs/portmapper ports
nmap -p111,2049 --script nfs-showmount,nfs-ls <target>
Sous-sujets#
- Énumération : exports, options et montage.
- Abus de no_root_squash : écrire des fichiers en tant que root sur un export.
- Usurpation d'UID et de GID : se faire passer pour n'importe quel utilisateur sous AUTH_SYS.
- NFSv4 et Kerberos : la configuration plus robuste et ses points faibles.