
Elasticsearch 1.4.0 < 1.4.2 のリモートコード実行エクスプロイトと脆弱なコンテナ
Elasticsearchは、分散型のRESTful検索および分析エンジンであり、増え続けるユースケースを解決することができます。Elastic Stackの中核として、データを一元管理し、予想されるものを発見し、予想外のものを明らかにすることができます。
テスト用の脆弱な環境をセットアップするには、Dockerをインストールし、以下のコマンドを実行するだけです:
docker build -t vuln/cve-2015-1427 .
docker run --rm -it -p 9200:9200 vuln/cve-2015-1427
これにより、ホストの 9200 ポート上に脆弱なWebアプリケーションが起動します。
このバグは、認証を必要としないREST APIに見られます。検索機能がgroovyコードの実行を許可し、そのサンドボックスは java.lang.Math.class.forName を使うことでバイパスでき、任意のクラスを参照できます。これを使用して任意のJavaコードを実行できます。このバグは、認証を必要としないREST APIに見られます。検索機能がgroovyコードの実行を許可し、そのサンドボックスは java.lang.Math.class.forName を使うことでバイパスでき、任意のクラスを参照できます。これを使用して任意のJavaコードを実行できます。
このターゲットをエクスプロイトするには、次のコマンドを実行します:
./exploit.sh host:port
この脆弱なイメージを使用している場合は、次のように実行できます:
./exploit.sh 127.0.0.1:9200
[+] CVE-2015-1427 exploit by t0kx
[+] Exploiting 127.0.0.1:9200
[+] Trigger Payload...
[+] Running whoami: root
[+] Done
この欠陥は、Cisco Systemsの情報セキュリティチームとCameron Morrisによって発見されました。
このプログラムおよび以前のプログラムは、教育目的のみに使用されます。許可なく使用しないでください。通常の免責事項が適用されます。特に、私 (t0kx) は、これらのプログラムによって提供される情報や機能の直接的または間接的な使用によって生じるいかなる損害についても責任を負いません。著者またはインターネットプロバイダーは、これらのプログラムまたはその派生の内容や誤用について一切の責任を負いません。これらのプログラムを使用することにより、これらのプログラムの使用によって生じるいかなる損害(データ損失、システムクラッシュ、システム侵害など)もt0kxの責任ではないことを承諾したことになります。