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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2023-32233 — 個人用です。PoCの作者はPiotr Krysiukです。使用前にREADME.mdをお読みください。 | Kitploit
ツール/GitHubGitHub/pidan-heidashuai/cve-2023-32233
特権昇格脆弱性分析エクスプロイトペネトレーションテストバイナリエクスプロイト
GitHubpidan-heidashuai/cve-2023-32233

CVE-2023-32233

個人用です。PoCの作者はPiotr Krysiukです。使用前にREADME.mdをお読みください。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

ビルドと設定

以下の手順は Ubuntu 23.04 (Lunar Lobster) でテスト済みです。

ビルド依存関係のインストール

次のコマンドを実行してビルド依存関係をインストールします:

root@kitploit:~
sudo apt install gcc libmnl-dev libnftnl-dev

バイナリのビルド

次のコマンドを実行して PoC バイナリをビルドします:

root@kitploit:~
gcc -Wall -o exploit exploit.c -lmnl -lnftnl

プロファイルの更新

組み込みプロファイルには、Ubuntu 23.04 (Lunar Lobster) の以下のパッケージとしてバイナリ形式で配布されている Linux カーネルに固有のパラメータが含まれています:

  • "linux-image-6.2.0-20-generic"、バージョン "6.2.0-20.20"、および
  • "linux-modules-6.2.0-20-generic"、バージョン "6.2.0-20.20"。

組み込みプロファイルは次のようになります:

root@kitploit:~
1                   race_set_slab                   # {0,1}
1572                race_set_elem_count             # k
4000                initial_sleep                   # ms
100                 race_lead_sleep                 # ms
600                 race_lag_sleep                  # ms
100                 reuse_sleep                     # ms
39d240              free_percpu                     # hex
2a8b900             modprobe_path                   # hex
23700               nft_counter_destroy             # hex
347a0               nft_counter_ops                 # hex
a                   nft_counter_destroy_call_offset # hex
ffffffff            nft_counter_destroy_call_mask   # hex
e8e58948            nft_counter_destroy_call_check  # hex

カーネルシンボル

他の Linux カーネルでテストする際に組み込みプロファイルを上書きするための任意の手順は次のとおりです:

root@kitploit:~
modprobe nf_tables
egrep ' (nft_counter_ops|nft_counter_destroy|free_percpu|modprobe_path)(\s|$)' /proc/kallsyms > profile

マシンコード

カーネルベースを見つけるために、カーネルメモリ内の nf_tables.ko イメージを調べます。具体的には、nft_counter_destroy() サブルーチンのマシンコードを分析します。これは、私たちの手法がコンパイラやコンパイルオプションに影響されることを意味します。ただし、通常のケースはすべて組み込みプロファイルを上書きすることで処理できます。

たとえば、nft_counter_destroy() サブルーチンのマシンコードは次のようになります:

root@kitploit:~
000000000001e310 <nft_counter_destroy>:
   1e310:       f3 0f 1e fa             endbr64
   1e314:       48 8b 7e 08             mov    rdi,QWORD PTR [rsi+0x8]
   1e318:       e9 00 00 00 00          jmp    <free_percpu>
   1e31d:       0f 1f 00                nop    DWORD PTR [rax]

上記の場合、設定ファイル "profile" に以下の3行を追加することで、いくつかのパラメータを指定できます。

まず、free_percpu 変位の直前にある dword のオフセットを再定義します:

root@kitploit:~
5                   nft_counter_destroy_call_offset # hex

ここで、値 5 は式 (1e31d - 1e310) - 8 を使って計算されました。

健全性チェックとして、次に以下のマスクを使用して上記のオフセットの dword を検証します:

root@kitploit:~
ffffffff            nft_counter_destroy_call_mask   # hex

次の値を期待します:

root@kitploit:~
e9087e8b            nft_counter_destroy_call_check  # hex

レースチューニング

この脆弱性を悪用するには、Linux カーネルのバックグラウンドワーカースレッドとのレースに勝つ必要があります。組み込みプロファイルは、モバイル Sandy Bridge やデスクトップ Comet Lake を含む幅広い Intel マイクロプロセッサでそのレースに勝つ可能性を最大化するように調整されています。ただし、一部のマイクロプロセッサでは追加の調整が必要です。たとえば、特定のセットアップで Alder Lake のタスク切り替えレイテンシが増加することを観察しました。その場合、"profile" に次の行を追加する必要があるかもしれません:

root@kitploit:~
400                 race_lead_sleep

アイドル状態のベアメタルシステムを使用したテストでは、脆弱性の悪用に成功する確率は80%以上であることを測定しました。

テストに関する推奨事項

脆弱なシステム上で PoC を起動すると、そのシステムはカーネルメモリが破損した不安定な状態になる可能性があります。潜在的なデータ破損を避けるために、専用システム上で PoC をテストすることを強くお勧めします。

ツールをダウンロード