Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-7771 — ThrottleStop.sysにおけるCVE-2025-7771の完全なエクスプロイトチェーン。検証されていない物理メモリ読み書きIOCTLを悪用し、Windows上で管理者からSYSTEMへ権限昇格します。 | Kitploit
ツール/GitHubGitHub/yulisec/cve-2025-7771
防御ツール特権昇格脆弱性分析エクスプロイトペネトレーションテストレッドチーミングペイロード開発バイナリエクスプロイト
GitHubyulisec/cve-2025-7771

CVE-2025-7771

ThrottleStop.sysにおけるCVE-2025-7771の完全なエクスプロイトチェーン。検証されていない物理メモリ読み書きIOCTLを悪用し、Windows上で管理者からSYSTEMへ権限昇格します。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2025-7771 — ThrottleStop.sys による任意の物理メモリ読み書き

TechPowerUp の ThrottleStop.sys ドライバー(CVE-2025-7771)の完全な概念実証。 署名済みで現在もロード可能なカーネルドライバーが、検証されていない物理メモリの読み取りと 書き込みを 2 つの IOCTL を通じて公開している。このリポジトリは、そのプリミティブを 動作する管理者から SYSTEM へのローカル特権昇格に変え、ほとんどのパスおよびファイル名 ベースの検出を無効化するデバイス命名の癖を文書化する。

同じ IOCTL に対する PoC はすでに存在していた(クレジット参照)。これはプリミティブの デモンストレーションではなく、独立した完全なエクスプロイトチェーンである。

影響を受けるドライバー

フィールド値
SHA25616F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
SHA182ED942A52CDCF120A8919730E00BA37619661A3
MD56BC8E3505D9F51368DDF323ACB6ABC49
バージョン3.0.0.0 ("Low-Level Driver", 2004-2020)
署名者TechPowerUp LLC, DigiCert EV Code Signing
証明書サムプリント524EDA9C819321C66E22C7BABEB23DAEAFFB2182
証明書有効期間2019-08-10 から 2022-06-15

証明書は 2022 年に失効しているが、署名には信頼されたカウンター署名タイムスタンプが 付いているため、Windows は依然としてロードする。失効が有効なのは、その日付が署名時刻 より前である場合のみであり、このような古いドライバーでは稀である。

バージョンリソースには CompanyName、OriginalFilename、InternalName が存在しない ため、ファイル自体のメタデータからベンダーを特定することはできない。

脆弱性

2 つの IOCTL が、境界チェックやアドレス検証なしに物理メモリを読み書きする:

IOCTL操作
0x80006498物理読み取り
0x8000649C物理書き込み

どちらも METHOD_BUFFERED であるため、ユーザーポインターの逆参照は存在しない。 欠陥は、呼び出し元が指定した物理アドレスの検証が欠如していることであり、 チェックされていないポインターではない。

注目すべき点: 書き込みハンドラー 0x8000649C は FILE_READ_ACCESS として宣言されている。 読み取り専用で開かれたハンドルでも物理書き込みを発行できるため、宣言されたアクセス マスクはハンドラーが実際に行う動作と一致していない。

影響

デバイスを開くには管理者権限が必要であるため、これ自体は特権境界の越境ではない。 すでに管理者である攻撃者に与えるものは、ユーザーモードからの任意のカーネル読み書きであり、 これは管理者の上位で維持されるべき保護、すなわち HVCI コード整合性、PPL、および EDR/AV の自己保護を無効化する。典型的な bring-your-own-vulnerable-driver である。

具体的なデモンストレーションとして、PoC は R/W プリミティブを使用して SYSTEM トークンを 窃取し、SYSTEM シェルを起動する。

CVSS 4.0: AV:L/AC:H/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H (8.7, High)。

エクスプロイトの仕組み

すべてはドライバーの物理 R/W IOCTL に対してユーザーモードから実行される。ページテーブル の走査や CR3 は関与せず、両方のプロセスは物理メモリを直接スキャンすることで特定される:

  1. SYSTEM の特定。 ImageFileName が System で UniqueProcessId が 4 である EPROCESS を求めて物理メモリをスキャンする。スキャンは、推測されたウィンドウではなく、 ファームウェアの HARDWARE\RESOURCEMAP\...\Physical Memory レジストリキーから読み取った 実装済み RAM 範囲に限定されるため、MMIO ホールには決して触れず、インストール済み RAM より上の領域も見逃さない。
  2. SYSTEM トークンの読み取り。 特定した EPROCESS から Token フィールド (EPROC_TOKEN)を読み取る。
  3. 自プロセスの特定。 同じ方法で物理メモリをスキャンし、PoC 自身の EPROCESS を イメージ名を 8 バイトパターンとして照合し、その PID で確認する。
  4. トークンの交換。 SYSTEM トークンの値を自プロセスの Token スロットに書き込む。 トークンは _EX_FAST_REF であるため、デフォルトでは下位の参照カウントビットが マスクされる(--mask で動作を選択する)。
  5. 証明。 cmd.exe を起動する; whoami が NT AUTHORITY\SYSTEM を返す。

オフセット(EPROC_TOKEN、EPROC_PID、EPROC_IMG_NAME など)は特定のビルド向けであり、 対象の Windows バージョンで dt nt!_EPROCESS に対して確認する必要がある。

実行ファイル名が重要である。ステップ 3 は物理メモリ内の ImageFileName を照合して 自プロセスを特定し、そのフィールドは 15 文字に制限され、スキャンは最初の 8 文字を照合する。 コンパイル後の名前は短く特徴的なものに保つこと。バイナリの名前を変更する場合は、 この制限内に収めないと自己スキャンがプロセスを見つけられない。

デバイス名は攻撃者によって制御される

ドライバーは固定のデバイス名を使用しない。デバイスオブジェクト名は、登録されている サービス名から導出され、ディスク上のファイル名は無関係である。バイナリをサービス TRIXX として登録すると、ディスク上のファイルが何と呼ばれていても \\.\TRIXX が生成される。

したがって、\Device\ThrottleStop や ThrottleStop.sys に基づく検出は容易に回避される。 検出はファイルハッシュまたは署名証明書に基づく必要がある:

SHA256:     16F83F056177C4EC24C7E99D01CA9D9D6713BD0497EEEDB777A3FFEFA99C97F0
Thumbprint: 524EDA9C819321C66E22C7BABEB23DAEAFFB2182
Subject:    CN=TechPowerUp LLC, O=TechPowerUp LLC, L=Spokane, S=Washington, C=US

ソース内の DEVICE_NAMES リストは、既知の製品インストールを探るための単なるプローブ である。自分で登録したサービスを対象にするには、デバイス名を引数として渡す。

関連する TechPowerUp ドライバー

CVEドライバー
CVE-2019-7245GPU-Z.sys
CVE-2025-5324GPU-Z.sys
CVE-2025-7771ThrottleStop.sys (このリポジトリ)

ドライバーは含まれていない

バイナリはここには同梱されていない。いかなるコピーも上記の SHA256 に対して検証すること。 このサンプルは LOLDrivers に カタログ化されている。

ビルド

cl /nologo /EHsc /W4 /O2 src\ThrottleStop.cpp /Fe:myLittleLpe.exe /link advapi32.lib

使用方法

ラボでの使用のみ。ロールバック用のスナップショットを備えた分離された VM 内で実行すること。

sc.exe create <name> type= kernel binPath= C:\path\to\ThrottleStop.sys
sc.exe start <name>

myLittleLpe.exe

sc.exe stop <name>
sc.exe delete <name>

バイナリは引数を取らない。物理メモリマップを出力し、SYSTEM とローカルの EPROCESS を スキャンし、トークンを交換し、NT AUTHORITY\SYSTEM として実行される cmd.exe を起動する。

デモ

物理メモリマップ、EPROCESS スキャン、トークン交換、SYSTEM シェルを示す myLittleLpe.exe の実行

その他の PoC と先行研究

同じドライバーに関する他の公開研究、比較用:

  • Demoo1337/ThrottleStop — 同じ IOCTL に対する初期の PoC
  • xM0kht4r/CVE-2025-7771 — 物理 R/W と Superfetch 経由の VA-to-PA
  • AmrHuss/throttlestop-exploit-rw — Superfetch アドレス変換を用いた物理 R/W
  • v31l0x1/ThrottleStopPPL — PPL 保護バイパス
  • Yuri08loveElaina/CVE-2025-7771 — 別の実装

クレジット

  • LOLDrivers — 脆弱なドライバーのカタログ化

免責事項

防御研究および検出エンジニアリングのために公開されている。この脆弱性はすでに CVE-2025-7771 として公開されている。ここにあるすべては、著者が所有するシステムで テストされた。所有していない、またはテストを許可されていないシステムに対してこれを 実行しないこと。

ツールをダウンロード