NFS介绍
NFS是一种网络文件系统(Network File System)协议,是一种分布式文件系统协议,允许在网络中的计算机之间共享文件和目录。该协议最初由Sun Microsystems开发,现在已成为标准的UNIX和Linux操作系统的一部分,可以在各种计算机和操作系统中使用。
NFS的主要目的是使多个计算机之间可以共享文件和目录,使它们可以像本地文件一样访问远程文件。它使用客户端/服务器模型,其中NFS服务器管理文件和目录,并向NFS客户端提供访问权限。NFS客户端可以在本地计算机上通过NFS挂载访问远程文件系统,就好像它们是本地文件系统一样。
NFS支持文件和目录级别的访问控制和权限管理,可以使用各种身份验证机制进行身份验证和授权。它还支持数据缓存和读取优化,以提高性能和效率。
NFS是一个非常灵活的协议,可以在各种网络和操作系统中使用,可以访问多种存储设备。它已成为许多企业和组织的重要组成部分,提供了高效的文件共享和协作功能。
实战演示
一直想学一些关于各个服务的漏洞挖掘,扩宽自己的攻击面,每次灯塔扫描出一些服务后都没有进行后续的利用,所以有了这篇关于NFS服务的挖掘过程。直接nmap一把索扫端口nmap -sV 192.168.100.25
可以看到有NFS服务 使用 Kali 中的 showmount 工具检查是否有任何共享可用于挂载:
showmount -e 192.168.100.25
“home”目录是可挂载的。注意/home前面的星号,表示允许网络上的每台机器挂载本机的/home文件夹。如果看到在目录前面定义的任何 IP 地址或 IP 范围,则意味着只有具有该特定 IP 或范围的机器才允许挂载该目录,这是一种很好的防护机制。在 Kali 的 tmp 文件夹下创建一个新目录,并运行以下命令将主目录挂载到这个新创建的目录上
MKDIR /TMP/InfoSec
mount -t NFS 192.168.100.25:/home /tmp/infosec
安装:装载文件夹/目录
-t:指定执行逻辑挂载请求的文件系统的类型。必须使用 NFS 参数。
192.168.100.25:/home:要挂载的IP 192.168.100.25的主文件夹
/tmp/infosec:要挂载到本地 /tmp/infosec 文件夹上的远程主文件夹。
执行命令后,可以使用以下命令检查目录挂载:
DF -K
导航到 /tmp/infosec 目录并列出内容。列出的内容来自远程主机的 /home 文件夹
导航到任意用户目录并找到 .ssh 文件夹。此文件夹包含特定用户的 SSH 登录的公钥、私钥和授权密钥
这里的方法是创建自己的SSH密钥,并将新创建的公钥附加到受害用户的authorized_key中。然后使用受害用户和自己的密码登录远程主机
要创建SSH密钥对,我们将在我们的攻击机器上使用ssh-keygen命令,即Kali Linux。按照屏幕上的步骤操作,提供文件路径和密码。我们可以通过简单地点击键盘的“输入”按钮来保持密码短语空白。命令完成后,导航到上面提供的文件的路径并检查公共文件的内容。
导航到 /tmp/infosec/msfadmin/.ssh 文件夹,并将新创建的公钥追加到 msfadmin 用户的authorized_key中
<新生成的公钥的内容>
authorized_keys使用用户 msfadmin 从 Kali 计算机通过 SSH 连接到远程主机,并提供私钥的路径
ssh -i infosec_rsa [email protected]
-i 私钥路径
[email protected]:用户名 msfadmin 和主机 IP 为 192.168.100.25
由于我们创建了一个没有密码的密钥对并修改了 msfadmin 用户的“authorized_keys”文件,因此我们在没有密码的情况下登录到系统。
总结
还有非常多的服务能够获取服务器权限,还需要我们去仔细分析与实践。
原文始发于微信公众号(红云谈安全):利用NFS服务获取服务器权限
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论