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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-56158-.NET-Framework-RCE-PoC-Exploit — CVE-2026-56158 向けに 5 種類の .NET デシリアライゼーション ペイロード形式を生成し、HTTP/SOAP/JSON エンドポイント経由で配信します。モックサーバー、スキャナー、JSON レポート出力も含まれます。 | Kitploit
ツール/GitHubGitHub/sam00/cve-2026-56158-.net-framework-rce-poc-exploit
脆弱性スキャナーペイロード生成静的コード分析 (SAST)脆弱性分析エクスプロイトウェブアプリケーション悪用ペイロード開発
GitHubsam00/cve-2026-56158-.net-framework-rce-poc-exploit

CVE-2026-56158-.NET-Framework-RCE-PoC-Exploit

CVE-2026-56158 向けに 5 種類の .NET デシリアライゼーション ペイロード形式を生成し、HTTP/SOAP/JSON エンドポイント経由で配信します。モックサーバー、スキャナー、JSON レポート出力も含まれます。

リポジトリを見る
1251ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-56158 — .NET Framework リモートコード実行(RCE)PoC エクスプロイト

深刻(CVSS 9.8) — Microsoft .NET Framework & .NET Runtime における信頼されないデータの逆シリアル化(CWE-502) 修正日: 2026年7月14日 | 発見者: Positive Technologies (PT-2026-60174)


目次

  • 概要
  • 脆弱性の詳細
  • 影響を受けるバージョン
  • 攻撃ベクトル
  • エクスプロイトのアーキテクチャ
  • ファイル構成
  • インストール
  • ステップバイステップの使用方法
  • テスト
  • 検出とハードニング
  • 緩和策
  • 参考情報
  • 免責事項
  • ライセンス

概要

CVE-2026-56158 は、Microsoft .NET Framework および .NET ランタイムにおける重大なリモートコード実行の脆弱性です。この欠陥は、信頼されないデータの安全でない逆シリアル化(CWE-502)に存在します — .NET アプリケーションがレガシーシリアライザー(BinaryFormatter、NetDataContractSerializer、SoapFormatter、ObjectStateFormatter)または TypeNameHandling.All/Auto を有効にした Json.NET を使用する場合、認証されていないリモート攻撃者が細工したシリアル化ペイロードを送信し、逆シリアル化時に任意のコード実行を引き起こす可能性があります。

この脆弱性は、ベクター AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H を持つ CVSS 3.1 基本スコア 9.8(Critical) を有しており、以下のことを意味します:

  • 攻撃ベクトル: ネットワーク(物理的なアクセスは不要)
  • 攻撃の複雑さ: 低
  • 必要な権限: なし
  • ユーザー操作: 不要
  • 影響: 機密性、完全性、可用性の完全な侵害

Microsoft は、毎月の Patch Tuesday サイクルの一環として、2026年7月14日 にセキュリティ更新プログラムをリリースしました。


脆弱性の詳細

フィールド値
CVE IDCVE-2026-56158
タイトル.NET Framework リモートコード実行の脆弱性
CVSS 3.19.8 Critical(AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H)
CVSS 2.07.5 High(AV:N/AC:L/Au:N/C:P/I:P/A:P)
CWECWE-502(信頼されないデータの逆シリアル化)
公開日2026年7月14日
修正日2026年7月14日
発見者Positive Technologies(PT-2026-60174)
EPSS未スコア
CISA KEV未掲載

根本原因

.NET ランタイムのレガシーシリアライザーは、型や内容を検証せずにシリアル化されたストリームから任意のオブジェクト型を再構築します。攻撃者がシリアル化入力を制御できる場合、逆シリアライザーを誘導して、コンストラクター、コールバック、またはプロパティセッターが任意のコードを実行する予期しない型をインスタンス化させることができます — 典型的な逆シリアル化ガジェットチェーン攻撃です。

この脆弱性は、複数のシリアル化メカニズムに影響します:

  1. BinaryFormatter — 型メタデータを含むバイナリストリーム。TypeConfuseDelegate ガジェットチェーンが Process.Start に委任
  2. NetDataContractSerializer — .NET 型情報を含む XML 形式。直接の型インスタンス化を許可
  3. SoapFormatter — CLR 型参照を含む SOAP XML エンベロープ。SOAP ボディに ProcessStartInfo を埋め込み
  4. ObjectStateFormatter — ASP.NET ViewState バイナリ形式。ViewState フィールド経由の Process.Start
  5. Json.NET (Newtonsoft.Json) — TypeNameHandling.All/Auto が有効な場合の $type メタデータを含む JSON。ObjectDataProvider ガジェットが Process.Start を呼び出し

影響を受けるバージョン

製品影響を受ける範囲修正バージョンKB 記事
.NET 8.08.0.0 – 8.0.288.0.29KB5100998
.NET 9.09.0.0 – 9.0.179.0.18KB5100998
.NET 10.010.0.0 – 10.0.910.0.10KB5101001
.NET Framework 3.5パッチ適用前のすべて修正済みKB5100985
.NET Framework 4.6.2–4.7.2パッチ適用前のすべて修正済みKB5100991
.NET Framework 4.8パッチ適用前のすべて修正済みKB5101011
.NET Framework 4.8.1パッチ適用前のすべて修正済みKB5101002
Visual Studio 2022 (17.12)パッチ適用前17.12.x—
Visual Studio 2022 (17.14)パッチ適用前17.14.x—
Visual Studio 2026 (18.7)パッチ適用前18.7.x—

Alpine Linux パッケージ:

  • dotnet8-runtime < 8.0.29-r0
  • dotnet9-runtime < 9.0.18-r0
  • dotnet10-runtime < 10.0.10-r0

攻撃ベクトル

この PoC エクスプロイトは、5種類の異なる逆シリアル化攻撃形式 でペイロードを生成・配信します:

1. BinaryFormatter(TypeConfuseDelegate ガジェット)

Serialized Stream → BinaryFormatter.Deserialize() → TypeConfuseDelegate
  → Process.Start("cmd.exe", "/c calc.exe") → RCE
  • 形式: バイナリ(.NET シリアル化ストリーム)
  • Content-Type: application/octet-stream
  • 配信方法: HTTP POST ボディ、ファイル
  • ガジェット: ActivitySurrogateSelector+ObjectSurrogate → TypeConfuseDelegate → Process.Start

2. NetDataContractSerializer

XML with type info → NetDataContractSerializer.ReadObject()
  → ProcessStartInfo instantiation → Process.Start → RCE
  • 形式: .NET 型情報が埋め込まれた XML
  • Content-Type: application/octet-stream または text/xml
  • 配信方法: HTTP POST ボディ、WCF エンドポイント

3. SoapFormatter

SOAP envelope → SoapFormatter.Deserialize()
  → ProcessStartInfo in SOAP body → Process.Start → RCE
  • 形式: CLR 型参照を含む SOAP XML エンベロープ
  • Content-Type: text/xml
  • 配信方法: WCF/ASMX SOAP エンドポイント

4. ObjectStateFormatter(ViewState)

ViewState binary → ObjectStateFormatter.Deserialize()
  → Process.Start via ViewState field → RCE
  • 形式: バイナリ(ASP.NET ViewState 形式)
  • Content-Type: application/octet-stream
  • 配信方法: HTTP POST の __VIEWSTATE フィールド

5. Json.NET(TypeNameHandling.All)

JSON with $type → JsonConvert.DeserializeObject<T>(json, TypeNameHandling.All)
  → ObjectDataProvider.MethodName = "Start" → Process.Start → RCE
  • 形式: $type メタデータを含む JSON
  • Content-Type: application/json
  • 配信方法: TypeNameHandling.All または Auto を使用する REST API エンドポイント

エクスプロイトのアーキテクチャ

┌─────────────────────────────────────────────────────────────────────┐
│                         exploit.py                                   │
├─────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  ┌──────────────┐   ┌───────────────┐   ┌───────────────────────┐  │
│  │ PayloadGen   │   │ PayloadDeliv  │   │ VulnerabilityScanner  │  │
│  │              │   │               │   │                       │  │
│  │ • BinaryFmt  │   │ • HTTP POST   │   │ • HTTP header check   │  │
│  │ • NetData    │──▶│ • SOAP/WCF   │──▶│ • Endpoint discovery  │  │
│  │ • SoapFmt    │   │ • JSON API    │   │ • ViewState analysis  │  │
│  │ • ObjectState│   │ • File save   │   │ • Version detection   │  │
│  │ • Json.NET   │   │               │   │                       │  │
│  └──────────────┘   └───────────────┘   └───────────────────────┘  │
│         │                   │                      │                 │
│         └───────────────────┼──────────────────────┘                 │
│                             ▼                                        │
│  ┌──────────────┐   ┌──────────────────────────────────────────┐   │
│  │ PayloadList  │   │ Report Generator (JSON)                   │   │
│  │ (Mock .NET)  │   │ • CVE metadata, CVSS, CWE                │   │
│  │              │   │ • Payload hashes (SHA-256)               │   │
│  │ Simulates    │   │ • Delivery results                       │   │
│  │ vulnerable   │   │ • RCE confirmation                       │   │
│  │ deserialization│ │ • References                             │   │
│  └──────────────┘   └──────────────────────────────────────────┘   │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

攻撃フロー

Attacker ────POST /api/deserialize──────▶ Target (.NET < 8.0.29)
         Content-Type: application/octet-stream
         Body: [BinaryFormatter payload]
                                             │
                                             ▼
                                   BinaryFormatter.Deserialize()
                                   (no type validation)
                                             │
                                             ▼
                                   TypeConfuseDelegate invoked
                                             │
                                             ▼
                                   Process.Start("cmd.exe", "/c calc.exe")
                                             │
                                             ▼
                                   calc.exe spawns → RCE CONFIRMED

Mermaid ダイアグラム

graph TD
    A[Attacker] --> B[PayloadGenerator]
    B --> B1[BinaryFormatter]
    B --> B2[NetDataContractSerializer]
    B --> B3[SoapFormatter]
    B --> B4[ObjectStateFormatter]
    B --> B5[Json.NET]
ツールをダウンロード