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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
cve-2026-62737-lab — 低権限のWindowsプロセスを、gdb支援のROPトークンスワップチェーンを介してSYSTEMへ昇格させ、ラボ専用のQEMU環境でCVE-2026-62737を実証します。 | Kitploit
ツール/GitHubGitHub/davidcarliez/cve-2026-62737-lab
特権昇格エクスプロイトデバッガペイロード開発バイナリエクスプロイト
GitHubdavidcarliez/cve-2026-62737-lab

cve-2026-62737-lab

低権限のWindowsプロセスを、gdb支援のROPトークンスワップチェーンを介してSYSTEMへ昇格させ、ラボ専用のQEMU環境でCVE-2026-62737を実証します。

リポジトリを見る
2829日前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-62737: クラッシュからラボ支援によるSYSTEM取得へ

これは、元のCVE-2026-62737のwriteup (ExecutionContext.sys の任意カーネル間接呼び出し)の続編です。クラッシュ PoCを、cmd.exe をSYSTEMとして起動する実用的なトークンスワップチェーンに 変換します。ただし、デバッガがアドレスを提供し、ROPチェーンをカーネル メモリに書き込むラボ環境でのみ機能します。これはスタンドアロンのエクスプロイトではありません。

動作内容

  1. 低権限ユーザーとして、KLoaderプロキシを介してExecutionContext デバイスを開きます。
  2. ExecutionContext(0x22EC40)を初期化し、Callback がカーネルROPピボットである タスク(0x22AC54)をキューに登録します。
  3. gdbスクリプト(patch_rop.py)がトークンスワップROPチェーンを ExecutionContext .data に書き込み、ハードウェアブレークポイントを 介してピボット時のRSP/RBPを取得します。
  4. 短命のウォッチャースレッドがカーネルワーカー(0x226C5C 終了 コールバック)を起こし、チェーンが自分のトークンをSYSTEMのトークンと交換し、 カーネルスタックを復元してドライバディスパッチャに戻るため、ワーカーは生存します。

ファイル

要件

  • カーネル 10.0.26100.8875 を搭載したWindows 11 25H2(ガジェットのRVAはビルド固有です)。
  • QEMU gdbスタブ(gdbserver tcp::1234)、ゲストエージェント、および ホスト/ゲスト共有フォルダが Z: としてマウントされたVM。
  • \\.\kloader\{9C0B898D-6275-48EC-81B4-E5EDBE44B535} を開くことができる低権限アカウント。
  • ホスト上のMinGW-w64(x86_64-w64-mingw32-gcc)と gdb。

ビルド

root@kitploit:~
x86_64-w64-mingw32-gcc -O2 -municode -o exploit.exe exploit.c
x86_64-w64-mingw32-gcc -O2 -o modlist.exe modlist.c

実行(起動ごと)

  1. 新しいベースを取得: ./ga.py 'Z:\modlist.exe'(modlist.exe を共有 フォルダにコピーした後)

  2. スクリプトを更新: ./refresh_bases.sh

  3. exploit.exe と modlist.exe を共有フォルダにコピーします。

  4. 低権限ユーザーとしてエクスプロイトを起動: exploit.exe <nt> <ec> <ec+0x10A00>。 PIDを Z:\lab_pid.txt に書き込み、Z:\go_lab.txt を待ちます。

  5. gdbをアタッチし、LAB_PID_FILE にホスト側の lab_pid.txt のコピーを指定します:

    root@kitploit:~
    LAB_PID_FILE=/path/to/shared/lab_pid.txt \
      gdb -q -ex 'target remote :1234' -ex 'set pagination off' -x patch_rop.py
    

    gdbプロンプトで continue と入力します。

オフセット(カーネル 26100.8875)

スタンドアロンのエクスプロイトではない理由

  • コールバックはシステムCR3を持つカーネルシステムスレッドで実行されます。ユーザーメモリ でのROPは不可能であり、MDLカーネルエイリアスも存在しません。
  • 実際のエクスプロイトには、カーネルアドレスのリーク(nt/ec)と、チェーンを カーネルメモリに配置する手段が必要です。このビルドではその両方が欠けています。
  • ピボット時のRSPはgdbブレークポイントで取得されます。実際のエクスプロイトでは、 スタック上に常駐するチェーンか、RSPを保存するガジェットが必要です。

ライセンス

MIT。 LICENSE を参照してください。

ツールをダウンロード
ファイル目的
exploit.cラボ用エクスプロイト: 初期化 + キュー登録 + gdbパッチ待ち + トークン確認 + cmd起動。
patch_rop.pygdbスクリプト: 自分のEPROCESSを特定し、ROPチェーンを書き込み、ピボットブレークポイントを設定します。
trace_rop.py同じセットアップですが、チェーンをシングルステップ実行してデバッグします。
refresh_bases.shmodlist.exe の出力から、起動ごとのnt/ecベースをgdbスクリプトに反映します。
modlist.c起動ごとのntoskrnl / ExecutionContextベースを出力します(ラボのKASLRオラクル)。
ga.pyQEMUゲストエージェントを介してラボVM内でコマンドを実行します。
  • エクスプロイトを解放: touch /path/to/shared/go_lab.txt

  • 約15秒後、Z:\lab_exploit_out.txt に system=1 が表示され、 Z:\lab_shell_out.txt に nt authority\system が含まれるはずです。

  • 項目値
    ROPピボット(フル)nt + 0x6A6A40
    pop rcx; retnt + 0x28843A
    pop rdx; retnt + 0x2FECD2
    mov [rcx], rdx; retnt + 0x3BC6A7
    retnt + 0x20043B
    pop rsp; retnt + 0x2006C4
    PsInitialSystemProcessnt + 0xFC6AF0
    _EPROCESS.Token0x248
    _EPROCESS.UniqueProcessId0x1D0
    _EPROCESS.ActiveProcessLinks0x1D8