パスワードを忘れた? アカウント作成
11693321 story
セキュリティ

wgetにシンボリックリンクの扱いに関する脆弱性 25

ストーリー by hylom
続くコマンドラインツールの脆弱性 部門より
あるAnonymous Coward 曰く、

コマンドラインからHTTPやFTPなどでファイルをダウンロードするツールwgetに脆弱性が発見された。すでにパッチが公開されている(eWeekJPCERTマイナビSlashdot)。

問題となる脆弱性は、FTPで再帰的にファイルをダウンロードする際、サーバから取得するディレクトリ一覧のなかに細工されたシンボリックリンクが仕込まれていると、wgetがローカルファイルシステム側の任意のファイルを作成したり上書きしたりする可能性があるというもの。これにより、wgetを実行しているユーザーの権限で任意のファイルが作成されたり、上書きされる可能性があるという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 攻撃の手法 (スコア:3, 参考になる)

    by Anonymous Coward on 2014年10月31日 21時55分 (#2704067)

    https://community.rapid7.com/community/metasploit/blog/2014/10/28/r7-2... [rapid7.com]
    の説明を読むと、前提としては、
    ・攻撃者が(細工された)FTPサーバーを立てられること。
    で、攻撃するには、接続してきた wget の LISTコマンドに対し、以下のようなのを返す。
      lrwxrwxrwx 1 root root 33 Oct 28 2014 TARGET -> /
      drwxrwxr-x 15 root root 4096 Oct 28 2014 TARGET
    wget でファイルを再帰的に取得しようとすると、
    1. 1つめのエントリにより、TARGET -> / なリンクを作る。
    2. 2つめのエントリにより、サーバーの TARGET/ 以下のファイルを、ローカルの TARGET/ 以下にコピーする。
    TARGET は / へのリンクなので、サーバーで TARGET/etc/rc.local とか作っておけば、ローカルで /etc/rc.local に保存される。
    という感じのようです。

    • by kei100 (5854) on 2014年11月01日 1時07分 (#2704167)

      昔、書庫を展開すると意図せずファイルが上書きされるというディレクトリトラバーサルの脆弱性が話題になりましたが、新たな攻撃テクニックになったりするのでしょうか?
      要は、書庫解凍でTARGET -> /へのシンボリックリンク作成>TARGET/ 以下へ展開という流れ。
      展開先がシンボリックリンクだったら展開しないって実装は運用面での影響デカすぎて出来ない気がするし、対処は難しそう。

      親コメント
      • by Anonymous Coward

        そういう古典的なシンボリックリンク攻撃はさすがに対策されていると思うが。
        Windowsはいまさらすべてのアプリにさかのぼって対処とか不可能なのでシンボリックリンクの作成には管理者権限が必要になった。

    • by Anonymous Coward

      wget の脆弱性より /etc/rc.local に書き込み可能な権限で wget 動かしてるシステム管理者のほうがこえぇ

      • by Anonymous Coward

        rootでファイルコピー的な作業をするのって、ファイルの所有者情報も含めてコピーをしたい場合ではないですかね。

        軽く試したのですが、rootでwget -m ftp:// [ftp]〜 してもファイル所有者はrootでしたので、それはないのか。

  • by nemui4 (20313) on 2014年10月31日 16時55分 (#2703887) 日記

    まず対象のサーバーに入ってシンボリックリンクを張っておいてから、外部からwgetを仕掛けるってことかな。
    だとしたらサーバーに入れる時点で好きなことができると思うけどそうでもないのか。

    あるいは、自分では入れないけど何らかの手段でシンボリックリンクを作らせるように「誘導」するか。
    そこに細工されたシンボリックリンクが既に存在していることを知っているような状況か。
    もしや「偶然」そんなシンボリックリンクが存在している環境があるのか。
    /.J諸兄ならどうするんでしょうか。ってやったらダメだけど。

    賢いクラッカーはもっとスマートにあれこれやるんだろうなぁ。
    #わたしゃとてもゆうちゃんの足元にも及びそうもないし・・・

    • by Anonymous Coward on 2014年10月31日 17時16分 (#2703906)

      逆でしょ。

      ・攻撃者はFTPサーバーを運営する。
      ・被害者はそこからwgetでファイルをダウンロードする。(ように、なんかウェブサイトで指示しておく。「ミラーだよ」とか。)

      ときに、wgetがこっちのシンボリックリンクに対してgetをかけてきたら、シンボリックリンクに変なコマンドを仕込んでおいて、被害者側のマシンにファイルを作ることができるってこと。ユーザー権限の設定ファイルを書き換えることもできる、ってこと。bashやXの設定ファイルにキーロガーとかできるんじゃないかな。

      親コメント
    • by Anonymous Coward

      攻撃対象はローカル(wgetを実行している端末)なので。
      たとえば攻撃者がFTPサーバーを用意して、偽の解説ページなどを利用してwgetでアクセスするよう誘導すると、
      ローカルにマルウェアを仕込むことが可能になります。

    • by Anonymous Coward

      お間抜けなftpやhttp管理者が、公開向けディレクトリに/etc/passwordへのシンボリックリンクをうっかり入れちゃっていたような場合に、
      再帰的ダウンロードをしたいDLユーザのwget実行時に、wgetが「誠実なあまり」DLユーザのPCの/etc/passwordへのシンボリックリンクとして解釈して
      DLユーザのPCの/etc/passwordを上書きしちゃう!

      って困った挙動だ、というわけで、攻撃の手段がどうこうというのは違うのでは。

      #ていうか、root権限を持たないで実行すればまあ大体の(システムに影響するような)問題は発生しないんで、
      #(windowsや一部のLinuxみたいに)常時root権限で、rootのままwgetするなんて
      #wgetが作られたころは想定外だったのではないか。

       

      と、タレこみ文とリンク先を見ただけの印象なので嘘かもしれません。

      ↓たぶんエロい人が正解を書いてくれる。

      • by nemui4 (20313) on 2014年10月31日 21時51分 (#2704061) 日記

        /etc/passwd じゃなければよさげ。
        もしそこでシンボリックリンク貼ったとしてpasswd自体のパーミッションは効かないのかな。

        親コメント
      • by Anonymous Coward

        別にrootでなくても ~/.ssh/authorized_keys とか狙えばいいんでは。

        • by Anonymous Coward

          ~/.bashrcを上書きされて任意のプログラム動かされたり、データ送信されるだけでも嫌すぎる感じ。

      • by Anonymous Coward

        #ていうか、root権限を持たないで実行すればまあ大体の(システムに影響するような)問題は発生しないんで、

        んなわけねー。
        じゃあユーザーがrootを取れないAndroidやiPhoneは一切セキュリティの心配がいらないってか?

        #(windowsや一部のLinuxみたいに)常時root権限で、rootのままwgetするなんて

        UACが導入されたの何年前だよ…。エンジニアがそんな不勉強で大丈夫か?

        • by Anonymous Coward

          >#(windowsや一部のLinuxみたいに)
          2014(XPサポート切れ)問題ここに現れるかぁ〜
          ・・・たぶんそのエンジニアは、もうサポート切れなんじゃないか?

        • by Anonymous Coward

          UACなんてどうせ「はい」か「続行」しか選択しないでしょ

          • by Anonymous Coward

            あなたがバカだからといって他人までそうとは限らない

          • by Anonymous Coward

            こういう人はどうせ「自分は知識があるから」って常にrootなんだろうな

        • by Anonymous Coward

          root不要なファイル参照にroot使ってたり、DBでフル権限ユーザしか定義がない大規模システムがあちこちにある現実があります。

          UAC自体をバグだと語ってる場所もあります。

          もう、通常ログオン不可(回避不可)にする時期が来てるのかも。。なんだかなぁ。。。

  • by Anonymous Coward on 2014年10月31日 17時32分 (#2703916)

    お手軽な攻勢防壁組めたのに

    # 罪状は何になるのかな

  • by Anonymous Coward on 2014年10月31日 20時10分 (#2704015)

    --

  • by Anonymous Coward on 2014年11月01日 9時06分 (#2704240)

    http://gnuwin32.sourceforge.net/packages/wget.htm [sourceforge.net]
    は全然更新されていないのですが、Win用の信頼できそうなpackageはどこかにありますか?

typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...