CVE-2015-3306 - 脆弱性調査レポート

  • 本文プリント

ProFTPDの脆弱性により、リモートから任意のファイルをコピー可能な脆弱性(CVE-2015-3306)に関する調査レポート

  • 2015年4月30日

概要

ProFTPDのモジュールであるmod_copyが一部のSITEコマンドを処理する際に、リモートから任意のファイルをコピー可能な脆弱性(CVE-2015-3306)が発見されました。この脆弱性は、細工されたFTPコマンドをターゲット上のProFTPDに送信することにより、ターゲット内の任意のファイルをターゲット上にコピー可能です。
この脆弱性を利用した攻撃が成立した場合、リモートからProFTPDの実行権限を奪取される危険性があります。

ただし、本脆弱性を攻撃に利用し、外部から実害(本レポートでは、リモートから任意のコードを実行することを指します)を与えるためには、ProFTPDが生成するログに対して第三者権限に読み取り権限が与えられていること、かつ、Webサーバーが稼動しており、そのWebサーバーの公開ディレクトリにProFTPDの動作権限に書き込み権限が与えられていることが必要条件です。

本レポート作成(2015年4月30日)時点において、ソース版についてはベンダーより脆弱性を修正したバージョンがリリースされております(2015年4月7日にリリース)。しかしながら、攻撃を成立させるためのコードが容易に入手可能であり、かつ脆弱性に対する攻撃が容易であることから、今回、この脆弱性(CVE-2015-3306)の再現性について検証を行いました。

影響を受ける可能性があるシステム

  • ProFTPD 1.3.5系のソース版
  • Debian (wheezy)のProFTPD 1.3.4a-5+deb7u2 および、1.3.4a-5+deb7u1
  • Debian (jessie)のProFTPD 1.3.5-1.1
  • Fedora epel7

対策案

ProFTPDのソース版を利用している場合、脆弱性を修正したバージョンがベンダーのgithubで管理されています。ただし開発版の位置づけですので、導入される前に十分な検証を行っていただくことを推奨します。 OSのパッケージ版を利用している場合、OSベンダーに対してこの脆弱性について問い合わせていただくことを推奨します。 なお、以下のコマンドを実行することにより、この脆弱性の影響を受けるか否かを確認可能です。

telnet <IPアドレス> <ProFTPDが動作するポート番号>
site cpfr (任意のファイル)
site cpto (ProFTPDの実行権限で書き込めるパス(例えば/tmp)+任意のファイル名)


【コマンド例】
telnet 10.0.0.128 21
220 ProFTPD 1.3.4a Server (Deb7-proftpd) [10.0.0.128]
site cpfr /etc/passwd
350 ファイルまたはディレクトリが存在します。他の名前にしてください。
site cpto /tmp/test.txt
250 Copy successful
quit
221 さようなら.
Connection closed by foreign host.

ls /tmp
test.txt
コマンド実行後、site cptoコマンドにより指定したファイルが作成されていることが確認できた場合、脆弱性の影響を受けます。上記のように、認証無しで外部からは閲覧できないディレクトリに対しても、ProFTPDの実行権限で参照可能なファイルを、ProFTPDの実行権限で書き込み可能となります。脆弱性の影響を受ける場合、任意のファイルをコピーすることが可能です。

参考サイト

検証概要

ProFTPDが動作するターゲットシステムに対して細工したFTPコマンドを送信することにより、ターゲットシステムで動作しているWebサーバーの公開ディレクトリ上に、ターゲット内のファイルをコピーし、そのファイルにブラウザでアクセスすることにより、最終的に任意のコードの実行結果をブラウザに出力させます。
なお今回の検証のために、Webサーバーの公開ディレクトリとProFTPDが生成するログのパーミッションに第三者権限に対して書き込みを与えております。

検証ターゲットシステム

  • Debian上で動作するProFTPDパッケージ 1.3.4a-5+deb7u2
    (および、PHPが動作可能なWebサーバー)

検証イメージ

検証イメージ

検証結果

下図は、ターゲットシステム(Debian)で動作するWebサーバーに対して、ブラウザでアクセスした際の画面です。赤線で囲まれている部分は、ターゲットシステムの/etc/passwdの内容を表示するコマンドを実行した結果が表示されています。
これにより、ProFTPDの脆弱性を利用して、ターゲットシステムで任意のコマンドを実行するためのファイルを作成し、Webサーバーの公開ディレクトリにコピーして参照することに成功しました。

検証結果


その他、この脆弱性を利用して内部の特定の情報を外部から参照可能となる構成例を以下に記述します。

構成 パターン 結果
ProFTPDのみ Anonymousログインが有効であり、かつProFTPDの実行権限とAnonymousユーザーの権限が同じである場合
FTPのAnonymousディレクトリに任意のファイルをコピーでき、Anonymousユーザーがそのファイを参照可能
ProFTPD
+Webサーバー
+PHP
Webサーバーの公開ディレクトリのパーミッションに、第三者権限に対して書き込み権限が与えられている場合
Webサーバーの第三者権限に書き込みの許可を与えているディレクトリに、任意のファイルをコピーでき、Webブラウザよりそのファイルを参照可能
 上記に加えて、ProFTPDのログファイルに第三者権限に対して読み取り権限が与えられている場合
※今回の検証のパターンです
 Webサーバーの第三者権限に書き込みの許可を与えているディレクトリに、任意のコマンドの出力結果をファイルとして生成でき、Webブラウザよりそのファイルを参照可能
更新履歴

2015年4月30日 : 初版公開

PDF版はこちら

本件に関するお問い合わせ先

『報道関係者様からのお問い合わせ』
ソフトバンク・テクノロジー株式会社
管理本部 経営企画部 皆口
TEL:03-6892-3063
メールアドレス:sbt-pr@tech.softbank.co.jp
『お客様からのお問い合わせ』
下記問い合わせフォームよりお問い合わせください。

お問い合わせ・資料請求

課題や悩みをお持ちのお客様は、
まずお気軽にご相談ください。

総合お問い合わせはこちら

目的別・サービス別のご相談は「お問い合わせ・資料請求先一覧」からお問い合わせください。

ページトップへ