前言

NFS 服务介绍

默认端口: 2049-TCP/UDP (除版本4 之外只需要 TCP 和 UDP)

  1. 2049/tcp open nfs 2-3 (RPC #100003

枚举

1. nmap 脚本

  1. nfs-ls # 列出 NFS 并检查权限
  2. nfs-showmount # 类似于 showmount -e
  3. nfs-statfs # 来自 NFS 共享的磁盘统计和信息

2. metasploit 模块

  1. scanner/nfs/nfsmount # 扫描 NFS 挂载并列出权限

3. showmount

  1. showmount -e <IP> # 列出可挂载的文件夹

挂载

建议使用版本 2 ,因为这个版本没有任何身份验证或授权

  1. mount -t nfs [-o vers=2] <ip>:<remote_folder> <local_folder> -o nolock

权限

如果挂载的一个文件夹,其中包含只能由某些用户 (通过 UID )访问的文件或文件夹,可以在本地创建一个 UID 相同的用户,并使用该用户访问

NFSSHELL

可以使用 NFSSHELL 通过更改 UID和 GID 访问文件

NFSSHELL 使用教程—> 链接

利用 NFS 错误配置进行权限升级

NFS no_root_squash&no_all_squash 错误配置

总结

  1. 进程名称 NFS
  2. 端口号 2409
  3. 协议说明 网络文件系统
  4. 笔记1
  5. 名称: 笔记
  6. 说明: NFS 注意事项
  7. 注意: 这是一个 C/S 系统,允许用户通过网络访问文件并将他们当做本地文件一样
  8. #apt install nfs-common
  9. showmount 10.10.10.180 ~or~showmount -e 10.10.10.180
  10. mount -t nfs -o ver=2 10.10.10.180:/home /mnt/
  11. 笔记2
  12. 名称: Nmap
  13. 描述: Nmap NFS 脚本程序
  14. 命令: nmap --script=nfs-ls.nse,nfs-showmount.nse,nfs-statfs.nse -p 2049 {IP}

参考

2049 - Pentesting NFS Service - HackTricks