三种利用python脚本劫持实现Linux提权的方法 0x2

admin 2024年3月8日10:29:25评论7 views字数 1711阅读5分42秒阅读模式
点击此处查看本系列的前一部分。
三种利用python脚本劫持实现Linux提权的方法 0x1
三种利用python脚本劫持实现Linux提权的方法 0x2

01 方法二

这个漏洞基于脚本导入的模块文件的 Python 库路径优先级顺序。当在脚本中导入模块时,Python 会按照特定的优先级顺序在默认目录中查找特定的模块文件。在我们创建的 Python 脚本中,我们调用了 webbrowser.py 模块文件,被搜索的模块位于默认路径中。如果在与原始脚本相同目录中存在 Python 模块文件,它将优先于默认路径。为了更好地理解背后的原理,以及它是如何导致特权升级的,我们将首先在我们的 Ubuntu 环境中创建这个漏洞,然后再使用 Kali Linux 来利用这个漏洞。

漏洞创建

如前所述,这种方法中的漏洞基于模块文件执行的优先级顺序。要创建这个漏洞,首先我们需要恢复之前创建的易受攻击权限,以防止这台机器以多种方式变得脆弱。我们修改了 webbrowser.py 的权限。

ls -la /usr/lib/python3.8/webbrowser.py

三种利用python脚本劫持实现Linux提权的方法 0x2

接下来,我们回到之前创建的 Python 脚本。我们可以看到它位于 pavan 用户的主目录中,仍然包含我们开始时的相同代码。它仍然导入 webbrowser 模块。

lscat hack.py

三种利用python脚本劫持实现Linux提权的方法 0x2

由于我们将脚本从 pentest 用户的主目录移动到 pavan 用户的主目录中,因此我们还需要在 sudoers 文件中进行更改,以便其中包含脚本 hack.py 的正确路径。

nano /etc/sudoerspavan ALL=(root) NOPASSWD: /usr/bin/python3.8 /home/pavan/hack.py

三种利用python脚本劫持实现Linux提权的方法 0x2

这是使机器容易受到 Python 库劫持影响的完整过程。所有未提及的配置都设置为 Linux 的默认值,绝对没有进行任何其他更改,现在是扮演攻击者的时候了。

三种利用python脚本劫持实现Linux提权的方法 0x2

02 利用

再次强调,利用过程不包含获取目标机器初始立足点的方法,而是专注于在攻击者获得初始立足点后如何提升权限。为了模拟这一点,我们以用户 pavan 的身份连接到目标机器。与其他需要提升权限的攻击者一样,我们运行了 sudo -l 命令,以查看我们能够以特权运行哪些脚本或二进制文件,结果显示我们可以使用 python3.8 来运行 hack.py 脚本。作为攻击者,我们使用 cat 命令查看了该脚本,发现它导入了一个名为 webbrowser 的模块。

ssh pavan@192.168.1.46sudo -llscat hack.py

三种利用python脚本劫持实现Linux提权的方法 0x2

由于 hack.py 位于 pavan 用户的主目录中,我们作为 pavan 用户可以在主目录中创建文件。在这种情况下,值得注意的是我们不能编辑 hack.py 文件。如果可以的话,我们将直接编辑文件并在其中添加反向 shellcode,但在这种情况下,我们将创建一个名为 webbrowser.py 的文件,并将 Python 反向 shellcode 添加到其中。

nano webbrowser.pycat webbrowser.py

三种利用python脚本劫持实现Linux提权的方法 0x2

接下来,我们需要在反向 shellcode 中指定的端口上运行一个 Netcat 监听器。然后,我们将继续使用 sudo 执行 hack.py 脚本。

sudo /usr/bin/python3.8 /home/pavan/hack.py

三种利用python脚本劫持实现Linux提权的方法 0x2

脚本运行后,我们立即看到一个会话连接到了我们的 Netcat 监听器。通过执行 id 命令,我们确认当前会话的用户是目标机器上的 root 用户。我们成功地将权限从 pavan 用户提升到 root 用户。

nc -lvp 1234id

三种利用python脚本劫持实现Linux提权的方法 0x2

参考及来源:

https://www.hackingarticles.in/linux-privilege-escalation-python-library-hijacking/

三种利用python脚本劫持实现Linux提权的方法 0x2

免责&版权声明

安全小白团是帮助用户了解信息安全技术、安全漏洞相关信息的微信公众号。安全小白团提供的程序(方法)可能带有攻击性,仅供安全研究与教学之用,用户将其信息做其他用途,由用户承担全部法律及连带责任,安全小白团不承担任何法律及连带责任。欢迎大家转载,转载请注明出处。如有侵权烦请告知,我们会立即删除并致歉。谢谢!

原文始发于微信公众号(安全小白团):三种利用python脚本劫持实现Linux提权的方法 0x2

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年3月8日10:29:25
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   三种利用python脚本劫持实现Linux提权的方法 0x2http://cn-sec.com/archives/2557966.html

发表评论

匿名网友 填写信息