Linux提权系列10:[训练营]利用 cron 的错误配置2
2023-4-4 08:1:17 Author: 奶牛安全(查看原文) 阅读量:8 收藏

让人担心的软链

在检查 cron 服务状态时,发现它正在运行并且用户具有管理该服务的 sudo 权限。

在这个案例中,/tmp/ 文件夹是空的,而且student用户的主目录中也没有文件。在检查 SUID 二进制文件时,发现 /usr/bin/hello-john 是一个可疑的二进制文件,其所有者设置为 john 用户。在执行时,它只是显示一条关于备份的消息。

当在 /usr/bin/hello-john 二进制文件中查找字符串时,发现它使用system函数来执行一些 hello-john-message 二进制文件

hello-john-message 二进制文件不是全局可访问,但 /usr/bin/hello-john 正在使用 $PATH 环境变量中的路径。

使用恶意代码在当前目录中创建相同的文件以升级到 john 用户。将在执行时看到它会生成 john 用户的 bash shell,不过组仍然是student。将特权从非特权用户升级到另一个非特权用户时,该过程称为水平特权升级

另外,找到了存档文件夹,灵感是来自 /usr/bin/hello-john 打印的消息。

/home/john/files 中使用 john 用户和student组创建文件后,cron 作业将文件复制到 /opt/archive/john 并且组更改为 john。可以推断,复制文件后,它正在使用以下代码更改文件的所有权。

rm -rf /opt/archive/john           # remove the dir
cp -r /home/john/files/ /opt/archive/john # copy files directory as john
chown -RL john:john /opt/archive/john # recusively change the ownership

chown-L中意味着跟随符号链接。请注意,这只是在这里的猜想,将 -Lchown 一起使用并不是任何硬性规定。

由于一个受保护文件无法被拷贝,所以创建不可访问文件的符号链接,因为它会“重定向”所有对源文件的操作。

执行 cron 作业后,现在确信 chown 命令确实也在使用 -L 来跟踪所有符号链接。符号链接就像与源文件的直接连接,对符号链接所做的任何操作实际上都是对源文件进行的。对于本实验,还可以使用 /etc/passwd 文件更改所有权和更新密码。

现在 john 用户可以访问 /etc/shadow 文件,可以使用 OpenSSL 实用程序创建密码并在文件中更新。然后在使用 su 实用程序通过 root 用户登录并获得特权 root shell 之后

在现实世界中,当像这样获得 root 用户 shell 时,必须恢复所有权以使其远离系统管理员的视线。

并非所有 PATH 环境变量都是安全的

在本实验中,会发现一个这样的用户

因为在这种情况下,一个无人值守的易受攻击的作业(cron 作业)在后台运行,而且当前用户也没有 /bin/bash 的权限,因为它由 root 用户拥有。幸运的是系统中安装了 netcat。可以从teacher用户那里得到一个反向shell

确认得到了一个反向 shell,现在可以列出 /home/teacher 目录中的文件。该文件不公开任何有用的信息。因此,检查启用 suid 位的二进制文件。

没有找到可以利用的这样的 suid 二进制文件,但是有一个 sudo 二进制文件,这意味着用户可能具有 sudo 特权以另一个用户身份运行该命令。

在这里发现teacher用户可以以root权限执行/usr/bin/awk命令,无需密码。

awk 是一种脚本语言,广泛用作 Linux 中动态条件下的文本操作。这种情况的好处是还可以使用 awk 执行系统命令。

在运行system命令时,得到了一个 root 用户 shell。虽然用户提示符不可用,但它仍然可以以 root 身份执行命令。

请点一下右下角的“在看”,谢谢!!

暗号:87d5b


文章来源: http://mp.weixin.qq.com/s?__biz=MzU4NjY0NTExNA==&mid=2247488899&idx=1&sn=e8e4385103680d19eb4e11f22654bb98&chksm=fdf97e96ca8ef780ff39d39468f44ba93790e4befe58b22d4024870376e2a0e65760d8965e54#rd
如有侵权请联系:admin#unsafe.sh