はじめに
WPScanは、セキュリティの専門家やブログの管理者がサイトのセキュリティをテストするために作成された、非営利目的の無料のブラックボックスWordPressセキュリティスキャナーです。
WPScanは何をチェックできますか?
- インストールされているWordPressのバージョンと関連する脆弱性
- インストールされているプラグインと関連する脆弱性
- インストールされているテーマと関連する脆弱性
- ユーザー名の列挙
- パスワードブルートフォーシングによる弱いパスワードを持つユーザー
- バックアップされ、一般にアクセス可能なwp-config.phpファイル
- 一般公開されている可能性のあるデータベースダンプ
- プラグインによってエラーログが公開されている場合
- メディアファイルの列挙
- 脆弱なTimthumbファイル
- WordPressのreadmeファイルが存在する場合
- WP-Cronが有効になっている場合
- ユーザー登録が有効になっている場合
- フルパス開示
- ディレクトリリストをアップロード
Rubygemを使用してWPScanをインストールする
以下の手順に従ってください:
- CURLをインストールする
sudo apt update && sudo apt -y install curl #On Debian/Ubuntu
sudo yum -y install curl #On RHEL/CentOS
- 次に、GPG署名をインポートします。
curl -sSL https://rvm.io/mpapis.asc | gpg --import -
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
- LinuxにRVMをインストールする
注 : RVM (Rubyバージョンマネージャー)は、複数の Ruby を簡単にインストール、管理、操作できるコマンドラインツールです。 通訳者から宝石のセットまでの環境。
curl -L get.rvm.io | bash -s stable

- RVMパスを調達します。
source /home/$USER/.rvm/scripts/rvm
- RVMを使用してRuby2.5.8をインストールします。
export RUBY_VER='2.5'
rvm install ${RUBY_VER}

- インストールされているRubyバージョンをデフォルトとして使用します。
rvm use ${RUBY_VER} --default
- インストールされているRubyのバージョンを確認してください。
ruby -v

- ノコギリをインストールします。
注 :ノコギリ HTMLを解析するためのオープンソースソフトウェアライブラリです およびXML Rubyで。 libxml2に依存します およびlibxslt その機能を提供するため。
注 :Ruby&RubyGemsをサポートするnokogiriの最後のバージョン(> =0)は1.12.5でした。 gem install nokogiri -v 1.12.5
を使用してインストールしてみてください
nokogiriにはRubyバージョン>=2.6、<3.2.devが必要です。現在のルビーバージョンは2.5.8.224です。
そこで、nokogiriv1.12.5をインストールします
gem install nokogiri -v 1.12.5

- WPScanのインストール–RubyGemsを使用したWordPressセキュリティスキャナー。
gem install wpscan

- wpscanを更新します 以下のコマンドを使用して
gem update wpscan
- wpscanのバージョンを確認してください
wpscan --version

Dockerを使用してWPScanをインストールする
- システムにDockerをインストールする必要があります。これは、以下の専用ガイドを使用して実現できます。
CentOS8にDockerをインストールする方法
RockyLinux8にDockerCEをインストールする方法
DockerをDebian11にインストールする方法
- Dockerをインストールして実行したら、ユーザーをDockerグループに追加します。
sudo usermod -aG docker $USER
newgrp docker
- WPScanコンテナイメージをプルします。
docker pull wpscanteam/wpscan
- これで、以下のようにWPScanを実行できます。
docker run -it --rm wpscanteam/wpscan [option]
WPScanの使用方法
WPScanは、脆弱性をスキャンするために使用できます。 注 つまり、以下のスキャンは自分のブログに対して実行する必要があります。
1。ブログサイト全体をスキャンする
ブログをスキャンするには、
を実行しますwpscan --url wordpress.example.com
Dockerの場合 :
docker run -it --rm wpscanteam/wpscan --url wordpress.example.com

WPScanはHTTPをスキャンします 、HTTPSをスキャンする場合は、URLを変更します
wpscan --url https://wordpress.example.com -o scan-test
-o フラグを使用して、スキャン結果をファイルに出力できます。
WordPressサイトで実行できる3つの検出モードがあります。つまり
- アグレッシブモード –サーバーに1000のリクエストを送信することで、より煩わしいスキャンを実行できます。
- パッシブモード –サーバーにいくつかのリクエストを送信します。これは通常、ホームページをスキャンするために使用されます。
- 混合(デフォルト) –アグレッシブモードとパッシブモードの両方を使用します。
特定の検出モードは、以下のように指定できます。
wpscan --url wordpress.example.com -o test --detection-mode aggressive
2。脆弱なプラグインをスキャンします。
プラグインの脆弱性を確認します。次の引数が使用されます:
-e/--enumerate [OPTS]
を列挙します wpscanのオプション。 [ OPTS ]ここにap
を指定できます すべてのプラグインについて、vp
脆弱なプラグインとp
プラグイン用。
対象 例 、脆弱なプラグインをスキャンするには、次のコマンドを使用します:
wpscan --url wordpress.example.com -e vp
3。脆弱なテーマをスキャンする
プラグインと同様に、テーマは -e/--enumerate [OPTS]
を使用してスキャンできます。 指図。しかし今、[ OPTS ]はvt
に置き換えられます (脆弱なテーマ)、at
(すべてのテーマ)、またはt
(テーマ)。
たとえば、既知の脆弱性を持つテーマは、以下のようにスキャンできます。
wpscan --url wordpress.example.com -e vt
4。パスワード強度テスト。
パスワードの強さを知ることができるようにするために、あなたはそれらを総当たり攻撃することを試みることができます。スキャンするパスワードファイル内のパスワードの数によっては、このプロセスが少し遅くなる場合があります-P, --passwords FILE-PATH
、-t, --max-threads VALUE
スレッドの数を指定します。
たとえば、管理者ユーザーをブルートフォースするには、次のコマンドを実行します。
wpscan --url wordpress.example.com -P password-file.txt -U admin -t 50
ユーザー名を指定しなくても、多くのユーザーのパスワード強度をテストできます。
wpscan --url wordpress.example.com -P password-file.txt -t 50
5。 WordPressユーザーを列挙します。
サイトにログインできるユーザーを知るには、-e/--enumerate u
を使用します オプション。ここで、 u ユーザーIDを表します。
wpscan --url wordpress.example.com -e u
6。検出不能モードでWordPressをスキャンします。
上記のスキャンは、引数 --stealthy
を追加することにより、ステルスモードで実行することもできます。
例:
wpscan --url wordpress.example.com --stealthy
WPScanの使用時にヘルプが必要な場合は、以下のヘルプを見つけてください。
wpscan -h

結論
以上です!
WPScan –WordPressセキュリティスキャナーをインストールして使用する方法を紹介しました。
ありがとう。