Linux NFS共享目录配置漏洞

一、实验目的

  • 利用 NFS共享目录配置漏洞读取目标主机的 /etc/passwd 文件内容
  • NFS 服务配置漏洞,赋予了根目录远程可写权限,导致 /root/.ssh/authorized_keys 可被修改,实现远程ssh无密码登陆

二、实验原理

  • NFS,用于在网络上共享文件系统的分布式文件系统协议,是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送
  • NFS服务配置漏洞赋予了根目录远程可写权限,导致 /root/.ssh/authorized_keys 可被修改,实现远程ssh无密码登录
  • 影响系统/软件:
    • 所有Linux系统的NFS服务

三、复现准备

  1. 靶机:Metasplotable2-Linux - 192.168.9.147
  2. 攻击机:Kali - 192.168.9.148

四、漏洞复现

4.1、复现前提

  1. 使用nmap扫描靶机的IP地址,可以看到靶机的2049端口开放,且使用了nfs服务
    在这里插入图片描述

  2. 尝试查看靶机利用NFS共享的全部文件夹:看到结果是 / * 这表示将根目录下单全部文件都共享了

showmount -e 192.168.9.147

在这里插入图片描述

  1. 在攻击机上面创建一个根文件夹 /temp1/,其目的就是映射共享文件夹下的根目录
    在这里插入图片描述

  2. 将靶机上的共享文件挂载到该文件上面

mount -t nfs 192.168.9.147:/ /temp1 -o nolock

在这里插入图片描述

  1. 在挂载成功之后我们可以通过 df-h 命令查看所有的本地磁盘的信息
    在这里插入图片描述

  2. 输入cd /temp1 可以进入该文件夹
    在这里插入图片描述

  3. 输入 ls -al 可以查看所有的文件
    在这里插入图片描述

  4. 我们尝试用ssh服务连接上靶机

    • 输入命令 ssh root@192.168.9.147
    • 发现需要输入密码,但是我们是不知道密码的
  5. 接下来可以利用nfs漏洞实现远程ssh无密码登录

4.2、正式复现

  1. 生成一组公私钥:ssh-keygen

    • 公私钥存放的地址 /root/.ssh/id_rsa
      在这里插入图片描述
      在这里插入图片描述
  2. 将公钥传输给靶机

cp /root/.ssh/id_rsa.pub /temp1/root/.ssh/authorized_keys 

在这里插入图片描述

  1. 传输成功之后再次尝试使用ssh命令连接靶机
    在这里插入图片描述

  2. 成功
    在这里插入图片描述

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值