针对NFS的渗透测试

发表于:2018-1-17 14:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:secist    来源:FREEBUF

  NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。如今NFS具备了防止被利用导出文件夹的功能,但遗留系统中的NFS服务配置不当,则仍可能遭到恶意攻击者的利用。
  发现NFS服务
  NFS服务的默认开放端口为2049/TCP,因此我们可以借助Nmap来针对性的进行探测。
  2049/tcp open nfs 2-4 (RPC #100003)
  此外,我们也可以通过rpcinfo命令来确定主机上是否运行或挂载了NFS服务。
  rpcinfo -p IP
 
  显示导出文件夹列表
  以下命令将会检索给定主机的导出文件夹列表,这些信息将被用于访问这些文件夹。
  showmount -e IP
  当showmount命令与以下参数一起使用时,可以为我们检索到更多的信息,例如:

  挂载点
  连接的主机
  目录
 
 showmount IP // 连接的主机
  showmount -d IP // 目录
  showmount -a IP // 挂载点
 
 
  另外,Metasploit框架中也有一个模块,可以用来列出导出文件夹。
auxiliary/scanner/nfs/nfsmount
 
 

  在这里我再推荐一个实用的小工具NFS Shell,它可以连接到NFS共享并可以帮助我们手动识别一些常见的安全问题。想要使用它我们首先需要安装以下依赖项:
  apt-get install libreadline-dev libncurses5-dev
  make
  gcc -g -o nfsshell mount_clnt.o mount_xdr.o nfs_prot_clnt.o nfs_prot_xdr.o nfsshell.o -L/usr/local/lib -lreadline -lhistory -lncurses
  ./nfsshell
  使用以下命令获取导出文件夹列表:
  nfs> host IP // 连接NFS服务
  nfs> export // 导出NFS列表

 
  访问NFS共享
  导出的文件夹可以通过创建一个空的本地文件夹,并将共享挂载到该文件夹来访问,如下所示:
  mkdir /temp/
  mount -t nfs 192.168.1.172:/ /temp -o nolock

  
  当成功验证共享挂载后,我们可以通过以下命令来列出所有的本地磁盘信息。

  df -h

  
  此时,我们可以像访问其他文件夹一样轻松的访问共享文件夹。
  cd /temp/
  ls

  

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理。
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号