vip888集团

EN
  • Linux权限提升:Python库劫持

    颁布功夫:2021-07-02
    浏览量: 13538

    在这篇文章中 ,,,,,,,我们将介绍一些在基于Linux的设备上通过利用Python库和剧本提升权限的步骤 。。。。 。。。。

    1.介绍

    通常来说 ,,,,,,,当攻击者处于有python文件的环境中 ,,,,,,,能够用来提升其接见权限的方式比力有限 。。。。 。。。。本文将介绍利用写权限、sudo权限和编纂Path变量,这三种提权方式 。。。。 。。。。

    为了方便演示 ,,,,,,,我们先创建一个导入一些库的示例剧本 。。。。 。。。。在现实情况中 ,,,,,,,这可能是个通常的python剧本或是一个开发人怨佚在进行的项目 。。。。 。。。。在CTF角逐中 ,,,,,,,可能很容易找到一个蕴含与此相类似的剧本 。。。。 。。。。我们创建的示例剧本中 ,,,,,,,首先导入webbrowser????? ,,,,,,,而后使用open函数来运行设备上的默认web浏览器 ,,,,,,,来打开/网页(此处以vip888集团官网举例) ,,,,,,,如图1-1 。。。。 。。。。

    图片1.png

                       图1-1能够看到运行剧本法式会打开vip888集团官网

    步骤一:这个缝隙利用是基于我们导入的?????槲募要拥有写权限 。。。。 。。。。当被导入的?????槲募拥有允许任何用户编纂的权限时 ,,,,,,,它就可能成为一个缝隙 。。。。 。。。。在我们创建的python示例剧本中 ,,,,,,,挪用了webbrowser.py?????槲募 。。。。 。。。。为了更好地相识这种提权方式 ,,,,,,,我们将首先在ubuntu环境中创建脆弱性缝隙环境 ,,,,,,,而后使用另一个机械来攻击利用这个缝隙 。。。。 。。。。


    缝隙创建:正如前文所讲 ,,,,,,,在这种步骤中 ,,,,,,,缝隙是基于?????槲募的权限 。。。。 。。。。为了机关这个缝隙 ,,,,,,,我们首先必要找到?????槲募 。。。。 。。。。我们能够用locate号令来找到它 ,,,,,,,当然也能够利用find之类的号令进行查找 。。。。 。。。。我们能够看到它位于/usr/lib/python3.8/里面 ,,,,,,,而后我们能够看到 ,,,,,,,?????槲募的默认权限是:所有者有读、写、执行的权限 ,,,,,,,组有执行和读的权限 ,,,,,,,其他用户只有执行的权限 。。。。 。。。。这意味着除非用户是root权限 ,,,,,,,不然任何人不能编纂该文件 。。。。 。。。。为了机关这个缝隙 ,,,,,,,我们必要用chmod号令扭转一下权限 ,,,,,,,使每个用户都能够读取、写入和执行 。。。。 。。。。这从下图1-2中能够看到 。。。。 。。。。

    图片3.png

                      图1-2能够看到所有效户对文件拥有读 ,,,,,,,写 ,,,,,,,执行权限 。。。。 。。。。

    要想让Linux机械变得易受攻击 ,,,,,,,下一步要做的就是提供一个运行python剧本的步骤 。。。。 。。。。最单一的步骤是写入sudoers文件中 ,,,,,,,这样攻击者(能够接见用户lele)就能够执行我们创建的python剧本(hack.py) 。。。。 。。。。如图1-3.

    图片4.png 

    图1-3

    以上就是一个齐全使机械容易受到Python库劫持的攻击的过程 ,,,,,,,其余没有提到的配置都为Linux的默认配置 。。。。 。。。。

    缝隙利用:该缝隙利用的前提是我们在指标机上已经获得初始安身点 。。。。 。。。。而后我们能够利用这种步骤在获得初始安身点后提升权限 。。。。 。。。。为了仿照这种情况 ,,,,,,,我们先以用户lele的身份衔接到指标机 。。。。 。。。。作为一个必要提升权限的攻击者 ,,,,,,,我们运行sudo -l号令 ,,,,,,,看看哪些剧本或二进造文件是以提升的权限运行的 。。。。 。。。????D芄豢吹 ,,,,,,,我们能使用python3.8来运行hack.py 。。。。 。。。。作为一个攻击者 ,,,,,,,我们使用cat号令查看剧本内容 ,,,,,,,看到它导入一个名为webbrowser的????? 。。。。 。。。。我们使用locate号令找到该?????榈牡匚 ,,,,,,,发现它位于/usr/lib/python3.8中 。。。。 。。。。而后我们还能够发现lele用户占有该?????榈男慈ㄏ 。。。。 。。。。如图1-4 ,,,,,,,图1-5所示 。。。。 。。。。

    图片5.png

                         图1-4能够看到哪些剧本占有root权限

    图片6.png

                       图1-5能够看到指标剧本所处地位

    我们用vim编纂器打开该?????槲募 ,,,,,,,而后在被hack.py文件挪用的函数里面参与了反弹shell的python剧本 。。。。 。。。。在前面我们能够看到 ,,,,,,,它使用一个open函数在浏览器中打开了一个网页 。。。。 。。。。因而 ,,,,,,,我们将反弹shell的代码增长到该?????槲募中 ,,,,,,,如下图1-6所示 。。。。 。。。。

    vim /usr/lib/python3.8/webbrowser.py

    图片6.png

                          图1-6将反弹shell的代码写入图中地位

    编纂完?????槲募后 ,,,,,,,我们保留并关关编纂器 。。。。 。。。。打开ctf机械的另一台终端 ,,,,,,,我们在shellcode剧本中指定的端口上打开一个Netcat监听器 ,,,,,,,而后以lele用户回到终端 ,,,,,,,用sudo执行hack.py剧本 ,,,,,,,如图1-7所示 。。。。 。。。。

    图片7.png

                                   图1-7

    当剧本运行时 ,,,,,,,我们就能够看到一个会话衔接到了vip888集团Netcat监听器 。。。。 。。。。通过whoami号令和id号令能够看到我们已经成功地将Linux权限从lele用户提升到了root权限用户 。。。。 。。。。

    步骤二:

    这个缝隙是基于Python库蹊径的优先级挨次 ,,,,,,,它合用于我们剧本在导入的?????槲募 。。。。 。。。。当一个?????樵诰绫局斜坏既胧 ,,,,,,,Python会以特定的优先挨次在默认目录中寻找特定的?????槲募 。。。。 。。。。在我们创建的python剧本中 ,,,,,,,我们有webbrowser.py?????槲募被挪用 。。。。 。。。。由于若是在与原始剧本一样的目录下存在一个Python?????槲募 ,,,,,,,它将获得优吓宗默认蹊径的职位 。。。。 。。。。为了更好地相识背后产生了什么 ,,,,,,,以及怎么样导致权限升级的 ,,,,,,,我们先在ubuntu环境中创建缝隙 ,,,,,,,而后使用另一个机械Linux来利用这个缝隙 。。。。 。。。。

    缝隙构建:

    正如前面所会商的 ,,,,,,,在这种步骤中 ,,,,,,,缝隙是基于?????槲募执行的优先挨次 。。。。 。。。。为了机关这个缝隙 ,,,,,,,首先 ,,,,,,,我们必要把步骤一参与的反弹shell的代码注解掉或者直接删掉(如图2-1) ,,,,,,,预防产生滋扰 ,,,,,,,而后复原我们先前赋予文件的权限(如图2-2) 。。。。 。。。。这样 ,,,,,,,这台机械就不会在多个方面出现缝隙 。。。。 。。。。

    图片9.png

    图2-1 注解掉先前加的反弹shell代码

    图片10.png

    图2-2复原webbrowser.py的权限 。。。。 。。。。

    接下来,我们回到我们先前创建的python剧本 。。。。 。。。。我们能够看到,它位于lele用户的home目录下,它依然蕴含一样的代码,必要导入 webbrowser????? ,,,,,,,如图2-3所示 。。。。 。。。。

    图片11.png

                                 图2-3

    sudoers文件中与步骤一中的编写一致 ,,,,,,,使其蕴含剧本hack.py的正确蹊径 ,,,,,,,如图2-4所示 。。。。 。。。。

    图片12.png

    图2-4

    以上是一个齐全的使机械容易受到Python库劫持的攻击过程 。。。。 。。。。其余没有提到的配置都为Linux的默认配置 。。。。 。。。。

    缝隙利用:

    同样 ,,,,,,,该缝隙利用的前提是我们在指标机上已经获得初始安身点 。。。。 。。。。而后我们能够利用这种步骤在获得初始安身点后提升权限 。。。。 。。。。为了仿照这种情况 ,,,,,,,我们以用户lele的身份衔接到指标机械 。。。。 。。。。作为一个必要提升权限的攻击者 ,,,,,,,我们运行sudo -l号令 ,,,,,,,看看我们能够用哪些剧本或二进造文件是以提升的权限运行的 。。。。 。。。。我们看到 ,,,,,,,我们能够使用python3.8来运行hack.py 。。。。 。。。。作为一个攻击者 ,,,,,,,我们使用cat号令查看该剧本 ,,,,,,,看到它导入了一个名为webbrowser的????? ,,,,,,,如图2-5 。。。。 。。。。

    图片13.png

    图2-5

    由于 hack.py 位于 lele 用户的主目录内 ,,,,,,,而我们有 lele 用户的接见权限 ,,,,,,,我们能够在主目录内创建一个文件 。。。。 。。。。在这种情况下 ,,,,,,,必要把稳的是我们不能编纂 hack.py 文件 。。。。 。。。。在这种情况下 ,,,,,,,我们将创建一个webbrowser.py文件 。。。。 。。。。而后在创建的webbrowser.py文件中增长反弹shell的代码 。。。。 。。。。如图2-6

    图片14.png 

    图2-6 反弹shell代码

    接下来,我们必要运行一个Netcat侦听器端口,我们提到在反向shellcode 。。。。 。。。。而后我们将持续使用sudo执行hakc.py剧本 ,,,,,,,如图2-7 。。。。 。。。。

    图片15.png

    图2-7

    当剧本运行时,我们看到一个会话衔接到Netcat侦听器 。。。。 。。。。唬唬唬;;;;峄暗膇d号令证明在指标机械上已经是root权限 。。。。 。。。。我们已经成功地把lele用户提升特权为root用户 ,,,,,,,如图2-8 。。。。 。。。。

    图片16.png

    图2-8提权为root权限

    步骤3

    这个缝隙是通过Python PATH环境变量进行搜索的Python库来利用的 。。。。 。。。。这个变量有一个目录列表 ,,,,,,,在这个列表中 ,,,,,,,Python会搜索导入?????榈姆制缒柯 。。。。 。。。。若是攻击者可能扭转或批改该变量 ,,,,,,,那么他们就能够利用它来提升指标机械的权限 。。。。 。。。。为了更好地相识是怎么样导致权限升级的 ,,,,,,,我们和前面一样先在ubuntu环境中创建缝隙 ,,,,,,,而后使用另一台Linux来攻击利用这个缝隙 。。。。 。。。。

    缝隙构建

    正如前面所会商的 ,,,,,,,这个步骤的缝隙利用是基于python环境path变量的 。。。。 。。。。为了机关这个缝隙 ,,,,,,,首先 ,,,,,,,和前面一样 ,,,,,,,我们必要复原Linux环境到最初的配置 。。。。 。。。。而后 ,,,,,,,在tmp目录内创建hack.py剧本 ,,,,,,,我们能够验证该剧本的内容与之前一样 ,,,,,,,如图3-1 ,,,,,,,图3-2所示 。。。。 。。。。

    图片17.png

    图3-1运行该剧本会打开vip888集团官网

    图片18.png 

    图3-2 能够看到剧本内容

    接下来 ,,,,,,,我们必要在sudoers文件中做一些批改 。。。。 。。。。首先 ,,,,,,,我们把文件的地位改为/tmp目录 ,,,,,,,而后在文件中参与SETENV象征 ,,,,,,,如图3-3所示 。。。。 。。。。这意味着lele用户能够使器拥有sudo权限的SETENV号令 ,,,,,,,而无需输入root密码 。。。。 。。。。SETENV是个能够扭转Python PATH环境变量的值 ,,,,,,,并将任何地位纳入我们在前面的步骤中学到的执行挨次的号令 。。。。 。。。。

    图片19.png 

    图3-3给vip888集团文件加上SETENV象征配置环境变量

    以上就是使机械容易受到Python库劫持的齐全过程 。。。。 。。。。其余没有提到的配置都被设置为Linux的默认配置 。。。。 。。。。

    缝隙利用

    同样 ,,,,,,,该缝隙利用的前提是我们在指标机上已经获得初始安身点 。。。。 。。。。而后我们能够利用这种步骤在获得初始安身点后提升权限 。。。。 。。。。为了仿照这种情况 ,,,,,,,我们以用户lele的身份衔接到指标机械 。。。。 。。。。作为一个必要提升权限的攻击者 ,,,,,,,我们运行sudo -l号令 ,,,,,,,看看我们能够用哪些剧本或二进造文件是以提升的权限运行的 。。。。 。。。。我们看到 ,,,,,,,我们能够用root权限使用SETENV,这意味着我们能够用它来扭转导入?????榈挠畔劝ご 。。。。 。。。。由于hack.py位于/tmp目录内 ,,,,,,,我们进入其中并查抄hack.py剧本,如图3-4所示 。。。。 。。。。

    图片20.png 

    图3-4 能够看到已经以root权限进行设置环境变量

    由于它必要导入webbrowser????? ,,,,,,,我们首先将创建一个名为webbrowser.py的恶意?????槲募 ,,,,,,,而后利用扭转环境变量Python PATH的能力导入vip888集团恶意?????槲募 ,,,,,,,恶意?????槲募中蕴含反弹shell的代码 。。。。 。。。。如图3-5接着在剧本中提到的统一端口上启动一个Netcat监听器 ,,,,,,,并持续将/tmp目录增长到Python蹊径中 ,,,,,,,而后执行hack.py文件以提升vip888集团接见权限 。。。。 。。。。

    图片21.png

    图3-5恶意?????槲募里蕴含反弹shell的代码

    当剧本运行时 ,,,,,,,我们能够看到一个会话衔接到了vip888集团Netcat监听器 。。。。 。。。。whoami和id号令讲了然我们已经成功地将权限从lele用户提升到了root权限用户 ,,,,,,,如图3-6 。。。。 。。。。

    图片22.png 

    图3-6已经从通常接见权限提权为root权限

    在这篇文章中 ,,,,,,,我们通过报答的为Python库的环境设置三个真实的场景 ,,,,,,,而后介绍了一些谬误的配置可能导致攻击者将其接见权限提升到root权限级此外步骤 。。。。 。。。。


    热点内容

    起头试用vip888集团产品
    申请试用

    20年公安服务经验

    7*24幼时应急响应中心

    自主知识产权的产品设备

    专家级安全服务团队

    网络空间数据治理专家

    荣获国度科学技术二等奖

    置顶
    电话

    400-700-1218

    官方热线电话

    征询
    留言
    二维码
    微信公家号
    公司微博
    【网站地图】【sitemap】