序章


この記事では、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に対してブルートフォース攻撃を実行することもできますが、それはこの記事の範囲外です。

プラグインの列挙


プラグインを列挙するには、--enumerate p引数を指定してwpscanを起動するだけです。

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/

出力から、オーディオプレーヤープラグインはplayeridパラメーターを介してXSS攻撃に対して脆弱であることがわかります。 また、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

投稿者: https ://twitter.com/Su1ph3r