ターゲットサイトが脆弱な設定でWebDavを使用している場合、WebDavクライアントのcadaverを利用して
    不正にファイルをアップロードすることができる。使い方はFTPコマンドなんかの操作に少し似ている。
    WebDavとはWebポート(80,443)を使用してファイルの編集や共有ができる仕組みで、
    WebDavサーバーのシステム構成例にはApache + mod_dav、Nginx + ngx-dav-ext-module、IIS、Jigsaw などがある。


    以下はcadaverを用いて不正にファイルをアップロードする例。
    ターゲットは脆弱性が意図的に仕込まれたUbuntuディストリビューションのMetasploitable2を利用。IPは192.168.0.110。
  
    (1) dirbdirbusterowaspzapburpsuiteWebsploitなどを利用してWebDav用にディレクトリを切っていそうか調査。

    (2) ターゲットのポートとサービスをスキャンしてWebDavが動作していることを確認。
            ※Nmapはデフォルトのままでは約1650個しか対象ポートとしない。
        # nmap -sV 192.168.0.110 -vv -oN metasploitable2_scanned_nmap.txt

    (3) http://192.168.0.110/dav/を発見したので、cadaverでtest.htmlをアップロードできるか試してみる。
        # cadaver http://192.168.0.110/dav/
        > put test.html

    (4) 確認
        # firefox http://192.168.0.110/dav

    (5) あとは、これらの不備とPHPの脆弱性を利用しサーバーへエクスプロイトなどを行う。こちらにペイロードジェネレーターのmsfvenomや
            攻撃の手順がフレームワーク化してあり、簡単にエクスプロイトを試みることができるMetasploitFrameworkを用いた攻撃例があるので確認してみると良い。

    ターゲットサーバーが認証なしにWebDavを利用していた場合は攻撃チャンスになる。
    仮に認証する設定があったとしてもログイン情報がデフォルトのままということもありえる。
    XAMPPパッケージなんかはデフォルトでユーザー名がwampp、パスワードがxamppでWebDavが起動するようになっていたりする。
    もしWebDavを用いてるシステムを運用している場合はDigest認証なりBasic認証なりを忘れないようにすべき。(Basic認証はスニッフィングされたら意味ないが。。)
    IPAが公開しているWebDAV システムのセキュアな設定・運用に関する調査を読めば読むほどわかるが、WebDavなんて利用しない方が良い。


    引用・参考
    https://www.kagoya.jp/howto/network/webdav/
    https://httpd.apache.org/docs/2.4/mod/mod_dav.html

トップへ