私たちのサイトではWordPressでブログサイトを開いています。セキュリティ的に安全に守られているのか気になるところです。 そこで、今回のテーマはWordPressのセキュリティ診断ツール「WPScan」です。WPScanは、Rubyで開発されています。
WPScanの概要
WPScanの主な機能を挙げます。
- ログインユーザー名/表示名を列挙
- WordPressやインストールされているプラグインやテーマのバージョンを取得
- バージョンによるプラグインやテーマの脆弱性を列挙
- ログインパスワードをブルートフォースアタックで取得 など
インストール
http://wpscan.org/を参照のこと。ここでは、CentOS6.5にインストールしたときのメモを書きます。
やったことは先のホームページに記載されていることをしただけですが、1つ変更を加えたのは.ruby-version
でした。CentOS6.5にRubyのversion2.2.2
はインストールできなかったので、wpscan/.ruby-version
の記述を変更し、インストールできていたバージョン2.1.4
にすることでwpscan.rb
を実行することができました。
やったこと
セキュリティチェック
基本のコマンドは
になります。
また、(オプション)引数を調べるときには、
で調べることができます。
いくつかをここで紹介します。
列挙(Enumeration)
引数に--enumerate
または-e
をあたえると以下のようなものを探して列挙してくれます。
次の引数指定では、「インストールされているプラグイン」と「インストールされているテーマ」を探してバージョンをチェックし、データベースにある脆弱性を持つバージョン情報などを表示してくれます。
は次と同じです。
実行結果の一例をお見せします。
使用中のテーマについての情報やインストールされているプラグインについて異なるバージョンの脆弱性についての情報も表示されています。
wpscanが見つけてくれた物事(ファイルが一覧できるディレクトリがあることなど)に対してどのように対処するかは、サイト管理者自身の判断ということですね。
列挙(Enumeration)のオプション
列挙(Enumeration)のオプションには次のものがありますが、オプションなしで実行すると-e vt,tt,u,vp
がデフォルトで実行されます。
-
u
ログインユーザーのログインIDと表示名 -
p
インストールされているプラグイン -
vp
攻撃を受けやすいプラグイン -
ap
全てのプラグイン -
t
インストールされているテーマ -
vt
攻撃を受けやすいテーマ -
at
全てのテーマ -
tt
チムサムファイル
最後にあげたチムサム(timthumbs)ファイルとは何だろうと思い、少し調べてみたらWordPressのテーマで使われていたプラグインのことなのですね。画像のサムネイルを自動的にリサイズしてくれるものだそうですが、脆弱性が見つかりそれに対しては対策が施されたようです。作者の方は、現在はサポートもメンテナンスも行っておらず、I No Longer Use TimThumbとおっしゃっています(バグフィックスはGoogle Codeで行われています)。
ブルートフォースアタック
引数-e u
でログインユーザーのIDが取得できました。そのログインIDに対してWPScanは、ブルートフォースアタックを行うことができます。
「ブルートフォースアタック」とは、パスワードのリストに従って力ずくでパスワードを探し出す、というものです。しかもWPScanはマルチスレッドで実行できます。
ここでdarkc0de.lst
がパスワードのリストを書き込んだファイルです。特定のログインユーザーを指定して実行もできます。
アップデート
- データベースのアップデート テーマやプラグインの情報をアップデートします。
- ソースコードのアップデートはGithubでインストールしていれば
git pull
でできます。