RSS Feed  Twitter  
|
Articles - Tools

WordPress Security Scannerとは?

WordPress Security Scanner(以下WPScan)は、Ryan Dewhurst氏(AKA ethicalhack3r)によるrubyで書かれたオープンソースのWordPressの情報採取~脆弱性踏査までを行うセキュリティスキャナである(ブラックボックスアプローチ)。2011/7/18にバージョン1.0がリリースされた。

wpscan - WordPress Security Scanner - Google Project Hosting

WPScanで調査やスキャンできる内容は以下のようなものだ。

  • ターゲットのユーザー名の列挙
  • 脆弱なパスワードのクラックキング(マルチスレッド対応)
  • バージョンの確認(メタタグより)
  • 脆弱なWordPressのバージョンであるかの判定
  • インストールされているプラグインの列挙、脆弱性の有無
  • プラグインリストの生成
  • その他(テーマの名前の表示など)

 

インストール

WPScanのインストール方法に難しい点は無く、また、READMEにも記載されているので、ここでは、今回テストしたBacktrack 5でのインストール方法のみ簡単に記載しておく。

以下がREADMEに記載されているBacktrack 5へのインストール方法である。それぞれのインストールが完了した後に、WPScanをダウンロードして、展開すればよい。

sudo apt-get install libcurl4-gnutls-dev 
sudo gem install --user-install mime-types 
sudo gem install --user-install typhoeus 
sudo gem install --user-install xml-simple

Backtrack 5の場合、/pentest以下にweb/scannersというディレクトリがあるので、ここに置くこととした。

root@bt:~#cd /pentest/web/scanners
root@bt:/pentest/web/scanners#ls
joomscan  plecost  sqlmap  wpscan

 

コマンド

WPScanのコマンドオプションは以下である。

--url			スキャンするWordPressのURL/ドメイン名指定 
--enumerate		列挙の指定(u:ユーザ名/v:バージョン/p:プラグイン) 
--wordlist 		パスワードクラックの辞書指定 --threads マルチスレッド指定

--username 		パスワードクラックのユーザー名を指定 
--generate_plugin_list 	新しいdata/plugins.txtファイルを生成する 
-v 			冗長出力 
-h 			ヘルプ

 

ターゲットの調査

WPScanの作者であるethicalhack3rは、テスト用にこれまでリリースされたすべてのWordPressを導入済みのVirtualBoxイメージ(OVAファイル)も配布しているので、今回はこれをターゲット用のベースに利用している。WordPress CD | ethicalhack3r

さて、WPScanを単純にURLのみを指定して実行した例が以下である。ターゲットは、上記のVirtualBoxの仮想サーバーに設置されたWordPressである。

root@bt:/pentest/web/scanners/wpscan#./wpscan.rb --url lamp/wordpress-3.1.3/
____________________________________________________
 __          _______   _____                  
 \ \        / /  __ \ / ____|                 
  \ \  /\  / /| |__) | (___   ___  __ _ _ __  
   \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \ 
    \  /\  /  | |     ____) | (__| (_| | | | |
     \/  \/   |_|    |_____/ \___|\__,_|_| |_| v1.0

  WordPress Security Scanner by ethicalhack3r.co.uk
 Sponsored by the RandomStorm Open Source Initiative
_____________________________________________________

# Copyright (C) 2011 Ryan Dewhurst
# This program comes with ABSOLUTELY NO WARRANTY.
# This is free software, and you are welcome to redistribute it
# under certain conditions. See GNU GPLv3.

| URL: http://lamp/wordpress-3.1.3/
| Started on Fri Jul 22 22:38:54 2011

[+] The WordPress theme in use is called twentyten
[+] The WordPress http://lamp/wordpress-3.1.3/readme.html file exists.
[+] WordPress version 3.1.3 identified from meta generator.
[+] We have identified 1 vulnerabilities from the version number:

* Title: Multiple SQL Injection Vulnerabilities
* Reference: http://www.exploit-db.com/exploits/17465/

[+] Finished at Fri Jul 22 22:38:56 2011

ターゲットのWordPressテーマの名前、readme.htmlが存在すること、また、バージョンが3.1.3で脆弱性のあるバージョンであることが表示されている。

次に、プラグインに脆弱性がないかを調査してみよう。これは、--enumerateオプションで実行すればよい。--enumerateオプションで指定できるのは、ユーザー名(u)、プラグイン(p)、バージョン(v)の3つで、プラグインを調査する際には、pを付加すればよい。

root@bt:/pentest/web/scanners/wpscan# ./wpscan.rb --url lamp/wordpress-3.2.1/ --enumerate p
____________________________________________________
 __          _______   _____                  
 \ \        / /  __ \ / ____|                 
  \ \  /\  / /| |__) | (___   ___  __ _ _ __  
   \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \ 
    \  /\  /  | |     ____) | (__| (_| | | | |
     \/  \/   |_|    |_____/ \___|\__,_|_| |_| v1.0

  WordPress Security Scanner by ethicalhack3r.co.uk
 Sponsored by the RandomStorm Open Source Initiative
_____________________________________________________

# Copyright (C) 2011 Ryan Dewhurst
# This program comes with ABSOLUTELY NO WARRANTY.
# This is free software, and you are welcome to redistribute it
# under certain conditions. See GNU GPLv3.

| URL: http://lamp/wordpress-3.2.1/
| Started on Sat Jul 23 01:52:21 2011

[+] The WordPress theme in use is called twentyeleven
[+] The WordPress http://lamp/wordpress-3.2.1/readme.html file exists.
[+] WordPress version 3.2.1 identified from meta generator.

[+] Enumerating installed plugins...

Checking for 2127 plugins...

We found 1 plugins:

php_speedy_wp

[+] There were 1 vulnerabilities identified from the plugin names:

* Title: PHP Speedy <= 0.5.2 Wordpress Plugin (admin_container.php) Remote Code Exec Exploit
* Reference: http://www.exploit-db.com/exploits/16273/

Directory listing enabled: http://lamp/wordpress-3.2.1/wp-content/plugins/php_speedy_wp/

[+] Finished at Sat Jul 23 01:52:40 2011
root@bt:/pentest/web/scanners/wpscan# 

プラグインであるphp_speedy_wpが検出され、脆弱性があるバージョンであるということが結果としてわかる。