WindowsのVirtualBox Ubuntu18.04にWPScanをインストール

wordpress,Linux,Web開発,システム開発

WPScanはWordPress脆弱性スキャナーです。脆弱性の他、ログインユーザ一覧の取得や、ログインパスワードのブルートフォースアタックと取得等もできる強力なハッキングツールです。逆に考えると、攻撃パターンを予想した対策が打てるという意味で、とても有効なセキュリティ対策の1つだと思います。なお当然ですが悪用は厳禁です。自分が管理してないサイトに対しWPScanを行えば、アタックと勘違いされ場合によっては報復を食らいます。 それでは以下、自分用のφ(..)メモメモですが、インストール方法や操作手順を紹介したいと思います。なお私のテスト環境の情報です。
■環境情報■
Windwos 10 Home (64bit)
Oracle VirtualBox 6.1.8
ubuntu-ja-18.04.3

インストール

ます最初にWPScanのインストールに必要になるRuby等、依存関係をインストールします

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install curl git libcurl4-openssl-dev make zlib1g-dev gawk g++ gcc libreadline6-dev libssl-dev libyaml-dev libsqlite3-dev sqlite3 autoconf libgdbm-dev libncurses5-dev automake libtool bison pkg-config ruby ruby-bundler ruby-dev -y

次にRubyGemリポジトリからWPScanをインストールします。(wget等は必要ありませんよ♪)

$ sudo gem install wpscan

これだけで正常にインストールされるはずです。まずは確認も含め、WPScanコマンドラインオプションの説明を取得してみましょう。コマンドより-h/–helpを実行します。

$ wpscan -h
_______________________________________________________________
         __          _______   _____
         \ \        / /  __ \ / ____|
          \ \  /\  / /| |__) | (___   ___  __ _ _ __ R
           \ \/  \/ / |  ___/ \___ \ / __|/ _` | '_ \
            \  /\  /  | |     ____) | (__| (_| | | | |
             \/  \/   |_|    |_____/ \___|\__,_|_| |_|

         WordPress Security Scanner by the WPScan Team
                         Version 3.8.1

       @_WPScan_, @ethicalhack3r, @erwan_lr, @firefart
_______________________________________________________________

Usage: wpscan [options]
        --url URL                                 The URL of the blog to scan
                                                  Allowed Protocols: http, https
                                                  Default Protocol if none provided: http
                                                  This option is mandatory unless update or help or hh or version is/are supplied
    -h, --help                                    Display the simple help and exit
        --hh                                      Display the full help and exit
(~以下、省略~)

上記オプションに記載されていますが、念のため、アップデートは行っておきましょう。

$ wpscan --update

wpscanの使用方法

基本的な使い方

前回の記事でローカルにwordpressをインストール済みなので、それに対してスキャンしてみます。

$ wpscan --url localhost

※なお私はローカルでテストしていますが、ホスティングサービス等をご利用の場合は、localhostの部分に「http://xxxxx.com」などURLを入れてください。ちなみにhttpプロトコルとhttpsプロトコルの両方をスキャンできます。指定しない場合、デフォルトでhttpをスキャンします。

スキャナーの出力結果をファイルに保存する場合は、-o/–outputオプションを使用します。

$ wpscan --url http://localhost -o scan-test

検出モードを指定するには以下です。

$ wpscan --url http://localhost -o test --detection-mode aggressive

なお上記はaggressiveを指定した例ですが、その他にも検出モードは3つあります。

  • passive : サーバーに少しリクエストしか送信しない、non-intrusive(でしゃばらない)検出モードで実行します。通常、ホームページをスキャンして脆弱性を探します。パッシブモードは、IDS / IPSソリューションによって検出される可能性が低くなります。
  • aggressive : 一方このモードでは、サーバーに多くのリクエストが送信されるため、より煩わしいスキャンが実行されます。プラグインに既知の脆弱性がリンクされていない場合でも、可能なすべてのプラグインを試します。これによりサーバーの負荷が増加する可能性があります。
  • mixed(default) : アグレッシブとパッシブの両方を組み合わせて使用​​します。

脆弱なプラグインを確認する

WordPressブログの脆弱なプラグインをスキャンするには、-e/–enumerate [OPTS]オプションと共に、vp (vulnerable plugins)、ap (all plugins)、p (plugins)を指定します。たとえば、脆弱性がリンクされているすべてのプラグインをスキャンするには以下のコマンドを実行します。

$ wpscan --url http://localhost -e vp

脆弱なテーマを確認する

上記、脆弱なプラグインをチェックしたのと同様に、脆弱なテーマをチェックする場合[OPTS]も、次のいずれかで同じことができます。vt (Vulnerable themes)、at (All themes)、t (Themes)。たとえば、既知の脆弱性のあるテーマをスキャンするには以下のコマンドを実行します。

$ wpscan --url http://localhost -e vt

WordPressユーザーの列挙

WordPressサイトにログインできるユーザーを見つけるには、基本的にユーザーIDを意味する「-e/–enumerate u」オプションをwpscanに渡します。

$ wpscan --url http://localhost -eu

パスワードのクラック/ブルートフォース攻撃

ユーザー名を列挙したら、以下に示すように、それらを再度ブルートフォース攻撃の実行を試みることができます。このプロセスは、パスワードファイルで指定されたパスワードの数(-P, –passwords FILE-PATH)と使用しているスレッドの数(-t, –max-threads VALUE)によっては少々遅くなる場合があります。たとえば管理者(admin)をブルートフォースにするには以下のコマンドを実行します。

$ wpscan --url http://localhost -P password-file.txt -U admin -t 50

複数のユーザーのパスワードの強度をテストするには、特定のユーザー名を指定せずに上記と同じコマンドを使用します。

$ wpscan --url http://localhost -P password-file.txt -t 50

検出不能モードでWordPressスキャンを実行

基本的にを意味するステルスモードでwpscanを実行(–random-user-agent –detection-mode passive –plugins-version-detection passive)するには、–stealthyオプションを指定します。

$ wpscan --url http://localhost --stealthy

WPScanについては以上です。この記事がお役に立てば幸いです。

Print Friendly, PDF & Email