
TwonkyMedia Server 7.0.11-8.5 ディレクトリトラバーサル CVE-2018-7171
これは、CVE-2018-7171に関するすべての関連情報を保持するGitHubリポジトリです。(その他も含む)
CVE-2018-7171は、TwonkyMedia Serverにおけるディレクトリ/ファイルトラバーサル(パストラバーサル)の脆弱性です。 バージョン7.0.11-8.5(最新版)に影響します。この脆弱性を悪用すると、攻撃者は TwonkyMedia Serverを実行しているデバイス上のすべてのファイルを、プラットフォームに依存せず一覧表示できます。 さらに、攻撃者はこの脆弱性を悪用した後、デバイスからすべてのメディアファイル(画像、動画、音楽)を ダウンロードできます。この脆弱性を悪用するには、TwonkyMedia Serverが パスワードで保護されていない必要があります(これがデフォルト設定です)。
パスワードで保護されていることがまれな約24,000のTwonkyMedia Serverインスタンスが インターネット経由で到達可能であるため、研究者はこの脆弱性を公開することを決定しました。
もしかすると、お使いのデバイスでTwonkyMedia Serverが動作していることや、それが インターネットに公開されていることをご存じないかもしれません。これは、TwonkyMedia Serverが多くのNASデバイスに プリインストールされているためです。ルーターがUPnPポート(例:9000)を自動的に転送する場合があり、これにより TwonkyMedia Serverが公開アクセス可能になります。
この脆弱性の影響を受けるデバイスでは、デバイス上のすべてのファイルがもはや プライベートではないと考えてください。
この脆弱性に対する修正プログラムがないため、TwonkyMedia Serverをオフにするか パスワードで保護してください。
このリポジトリに含まれる資料に関連するいかなる行動または活動も、すべてあなた自身の責任です。 このリポジトリの情報の誤用は、当該人物に対する刑事告訴につながる可能性があります。 このリポジトリの情報を法律違反のために誤用する個人に対して刑事告訴がなされた場合、著者は 責任を負いません。
事前の相互同意なしにターゲットを攻撃するためにtwonky.pyを実行することは違法です。 適用されるすべての地方、州、連邦の法律を遵守するのはエンドユーザーの責任です。
2018-01-20 脆弱性発見
2018-03-28 セキュリティアドバイザリ公開
twonky.pyは、TwonkyMedia Serverを実行しているデバイスを快適にブラウズするために使用できます。 また、ファイル名とディレクトリ名を組み込みの 拡張可能なワードリスト内のキーワード(例:"wallet")と照合する機能も実装されています。さらに、興味深いシステム情報 が要求され、ユーザーに表示されます。また、PHPSESSIDクッキーが発見された場合(通常は/tmp/ ディレクトリ内)、Western Digital APIに対するチェックが自動的に実行されます。成功した場合、この クッキーの値を使用してWD NASデバイスを乗っ取ることができる可能性があります。
downloadFiles.py(実験的)は、TwonkyMedia Serverがインデックスを作成したディレクトリの 一括ダウンロードを実行するために使用できます。
「Lynx TechnologyのTwonkyを使えば、デジタルビデオ、 写真、音楽のメディアライブラリを家庭内ですばやく見つけ、モバイルデバイスから操作し、接続されたスクリーンやスピーカーで楽しむことができます。
Twonky Serverは、Lynx Technologyによる業界をリードするDLNA/UPnPメディアサーバーであり、接続されたデバイス間でのメディアコンテンツの共有を可能にします。 Twonky Serverは世界中で使用されており、スタンドアロンサーバー (エンドユーザーがインストール可能、例:PC/Mac用)または、NAS、ルーター/ゲートウェイ、STBなどのデバイス向けの組み込みサーバーとして利用できます。
Twonky ServerのWeb UIは、メディアファイルをさまざまな方法で簡単かつ確実に操作および再生し、 それらのメディアファイルを他の接続デバイスに「ビーム」するための最適な機能を提供します。」 -- https://twonky.com からの抜粋
$ git clone https://github.com/mechanico/sharingIsCaring.git
$ cd sharingIsCaring
$ sudo pip install -r requirements.txt
準備完了です!
twonky.py [IPアドレス] [ポート] を実行すると、TwonkyMedia Serverのcontentbaseパラメータが /../ に設定され、以降、デバイス上で利用可能なすべてのメディアファイルの発見、インデックス作成、ダウンロードが デバイスおよび接続された周辺機器(例:USBドライブ)上で可能になります。

以下のスクリーンショットは、TwonkyMedia Serverを使用して デバイス上のすべてのメディアファイル(例:/rootディレクトリ内)にアクセスできることを示しています。 TwonkyMedia ServerはUnixだけでなくWindowsでも動作するため、すべての デモは複数のオペレーティングシステムに適用可能であることに注意してください。

ステップ1: TwonkyMedia Serverによって共有されているファイルの一括ダウンロードを開始するには、対象の フォルダのURLをコピーするだけです:

ステップ2: 次に downloadFiles.py [保存先パス] を起動します。このパスパラメータは、 ダウンロードしたファイルを保存する場所を指定します。次に、先ほどコピーしたTwonkyMedia ServerフォルダのURLをスクリプトに渡します。 するとスクリプトは、IPアドレスを名前とする新しいフォルダを作成し、 そのフォルダ内のすべてのファイルのダウンロードを自動的に開始します。メディアファイルが30個を超える場合、スクリプトはプロンプトを表示します。 発見されたメディアファイルの総数が表示されます。"Y" と答えると、一括ダウンロードが開始されます。
