
OpenSSHのリモートDoSエクスプロイトと脆弱なコンテナ
7.3 より前の OpenSSH は、パスワード認証においてパスワード長を制限していないため、リモートの攻撃者が長い文字列を送信することでサービス拒否 (crypt による CPU 消費) を引き起こす可能性があります。このバグは auth-passwd.c の auth_password 関数に存在します。
攻撃者はこの問題を悪用して、アプリケーションを無限ループに陥らせ、過剰な CPU リソースを消費させ、サービス拒否状態を引き起こす可能性があります。
脆弱な環境をセットアップするには、docker イメージを使用するだけです。
docker run --rm -it -p 8022:22 vulnerables/cve-2016-6515
このエクスプロイトを使用するには、nodejs がインストールされている必要があります。このリポジトリをクローンし、依存関係をインストールしてください:
npm install
次に、エクスプロイトを実行できます。
./exploit.js -h HOST -p PORT -u USER
上記のコマンドでイメージを実行した場合、次のコマンドでエクスプロイトできます:
./exploit.js -h localhost -p 8022 -u root -i 100
OpenSSH を 7.3 に更新してください。
この脆弱性は、Tomas Kuthan (Oracle)、Andres Rojas、Javier Nieto によって発見されました。
このプログラムおよび以前のプログラムは、教育目的のみで提供されています。許可なしに使用しないでください。通常の免責事項が適用されます。特に、私 (opsxcq) は、これらのプログラムが提供する情報や機能を直接的または間接的に使用したことによって生じたいかなる損害についても責任を負いません。著者およびインターネットプロバイダは、これらのプログラムまたはその派生物の内容や誤用について一切責任を負いません。これらのプログラムを使用することにより、これらのプログラムの使用によって生じるいかなる損害 (データ損失、システムクラッシュ、システム侵害など) も opsxcq の責任ではないことを承諾したことになります。