WPScanを使用してWordPressで脆弱なプラグインとテーマをテストする方法
序章
この記事では、wpscanのインストールについて説明し、wpscanを使用して、サイトを攻撃に対して脆弱にする可能性のある既知の脆弱なプラグインとテーマを見つける方法についてのガイドとして機能します。 wpscanを使用すると、攻撃者と同様の方法でサイトの概要を確認できます。 WordPressサイトで使用されているプラグインやテーマには、驚くほど多くのセキュリティ問題があります。 これらの問題は通常、安全でないコーディング慣行が原因で発生し、ユーザーには見落とされがちであり、パッチは、リスクにさらされているユーザーには実装されないことがよくあります。
WPScanをダウンロードしてインストールします
インストールを開始する前に、wpscan はWindowsシステムでは動作しないことに注意することが重要です。そのため、続行するにはLinuxまたはOSXのインストールにアクセスする必要があります。 Windowsシステムにしかアクセスできない場合は、Virtualboxをダウンロードして、仮想マシンとして好きなLinuxディストリビューションをインストールできます。
WPScanはGithubでホストされているため、まだインストールされていない場合は、続行する前にgitパッケージをインストールする必要があります。
sudo apt-get install git
gitをインストールしたら、wpscanの依存関係をインストールする必要があります。
sudo apt-get install libcurl4-gnutls-dev libopenssl-ruby libxml2 libxml2-dev libxslt1-dev ruby-dev ruby1.9.3
次に、githubからwpscanパッケージのクローンを作成する必要があります。
git clone https://github.com/wpscanteam/wpscan.git
これで、新しく作成されたwpscanディレクトリに移動し、bundlerを介して必要なrubygemをインストールできます。
cd wpscan
sudo gem install bundler && bundle install --without test development
wpscanがインストールされたので、このツールを使用して、Wordpressのインストールで潜在的に脆弱なファイルを検索します。 wpscanの最も重要な側面のいくつかは、プラグインとテーマだけでなく、ユーザーとtimthumbインストールも列挙する機能です。 WPScanはWordpressに対してブルートフォース攻撃を実行することもできますが、それはこの記事の範囲外です。
プラグインの列挙
プラグインを列挙するには、wpscanを起動するだけです。 --enumerate p
そのような議論。
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate p
または、脆弱なプラグインのみを表示するには:
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate vp
いくつかの出力例を以下に貼り付けます。
| Name: akismet
| Location: http://********.com/wp-content/plugins/akismet/
| Name: audio-player
| Location: http://********.com/wp-content/plugins/audio-player/
|
| * Title: Audio Player - player.swf playerID Parameter XSS
| * Reference: http://seclists.org/bugtraq/2013/Feb/35
| * Reference: http://secunia.com/advisories/52083
| * Reference: http://osvdb.org/89963
| * Fixed in: 2.0.4.6
| Name: bbpress - v2.3.2
| Location: http://********.com/wp-content/plugins/bbpress/
| Readme: http://********.com/wp-content/plugins/bbpress/readme.txt
|
| * Title: BBPress - Multiple Script Malformed Input Path Disclosure
| * Reference: http://xforce.iss.net/xforce/xfdb/78244
| * Reference: http://packetstormsecurity.com/files/116123/
| * Reference: http://osvdb.org/86399
| * Reference: http://www.exploit-db.com/exploits/22396/
|
| * Title: BBPress - forum.php page Parameter SQL Injection
| * Reference: http://xforce.iss.net/xforce/xfdb/78244
| * Reference: http://packetstormsecurity.com/files/116123/
| * Reference: http://osvdb.org/86400
| * Reference: http://www.exploit-db.com/exploits/22396/
| Name: contact
| Location: http://********.com/wp-content/plugins/contact/
出力から、オーディオプレーヤープラグインがXSS攻撃に対して脆弱であることがわかります。 playerid
パラメータ。 また、bbpressのインストールは、パスの開示とSQLインジェクションの両方に対して脆弱であることがわかります。 スキャナーが誤検知を報告することがあるため、報告された脆弱性を手動で検証することは、可能であれば常に良い考えであることに注意してください。 サイトに対してこれらのテストを実行した後、潜在的な脆弱性が通知された場合は、プラグイン開発者に、利用可能なパッチがあるかどうか、ある場合はパッチをどのようにインストールする必要があるかを確認することが重要です。
テーマの列挙
テーマの列挙は、プラグインの列挙と同じように機能しますが、 --enumerate t
口論。
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate t
または、脆弱なテーマのみを表示するには:
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate vt
サンプル出力:
| Name: path
| Location: http://********.com/wp-content/themes/path/
| Style URL: http://********.com/wp-content/themes/path/style.css
| Description:
| Name: pub
| Location: http://********.com/wp-content/themes/pub/
| Style URL: http://********.com/wp-content/themes/pub/style.css
| Description:
| Name: rockstar
| Location: http://********.com/wp-content/themes/rockstar/
| Style URL: http://********.com/wp-content/themes/rockstar/style.css
| Description:
|
| * Title: WooThemes WooFramework Remote Unauthenticated Shortcode Execution
| * Reference: https://gist.github.com/2523147
| Name: twentyten
| Location: http://********.com/wp-content/themes/twentyten/
| Style URL: http://********.com/wp-content/themes/twentyten/style.css
| Description:
以前と同様に、rockstarテーマのインストールは、認証されていないリモートショートコード実行に対して脆弱であることがわかります。つまり、有効なユーザーとして認証しなくても、サイトでショートコードを実行できる可能性があります。
WPScanを使用して、Wordpressインストールへの有効なログインを持つユーザーを列挙することもできます。 これは通常、ブルートフォース攻撃に備えてユーザーのリストを取得するために攻撃者によって実行されます。
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate u
この記事で説明するwpscanの最後の機能は、timthumbインストールを列挙する機能です。 近年、オンラインフォーラム、メッセージリスト、および諮問委員会に多数の脆弱性が発見されて投稿されたため、timthumbが攻撃者の非常に一般的な標的になっています。 wpscanを使用して脆弱なtimthumbファイルを見つけるには、次のコマンドを使用します。
ruby wpscan.rb --url http(s)://www.yoursiteurl.com --enumerate tt
wpscanを更新するには:
ruby wpscan.rb --update