WordPressの脆弱性は、KaliLinuxにデフォルトでインストールされているWPScanユーティリティによって発見できます。また、WordPressを実行しているウェブサイトに関する一般的な偵察情報を収集するための優れたツールでもあります。
WordPressサイトの所有者は、パッチを適用する必要のあるセキュリティの問題が明らかになる可能性があるため、自分のサイトに対してWPScanを実行してみるのが賢明です。また、ApacheまたはNGINX内でオフにされていないディレクトリリストなど、より一般的なWebサーバーの問題を明らかにすることもできます。
WPScan自体は、余分なトラフィック自体が悪意があると見なさない限り、サイトに対して単純なスキャンを実行しているときに悪意を持って使用される可能性のあるツールではありません。しかし、サイトについて明らかにした情報は、攻撃者が攻撃を開始するために利用する可能性があります。 WPScanは、ユーザー名とパスワードの組み合わせを試して、WordPressサイトへのアクセスを試みることもできます。このため、WPScanは、所有しているサイトまたはスキャンの権限があるサイトに対してのみ実行することをお勧めします。
このガイドでは、KaliLinuxでWPScanとそのさまざまなコマンドラインオプションを使用する方法を説明します。以下の例のいくつかを試して、セキュリティの脆弱性について独自のWordPressインストールをテストしてください。
このチュートリアルでは、次のことを学びます。
- WPScanの使用方法
- APIトークンを使用して脆弱性をスキャンする方法

カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
システム | Kali Linux |
ソフトウェア | WPScan |
その他 | rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 |
コンベンション | # –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
WPScanの使用方法
WPScanはすでにシステムにインストールされているはずですが、ターミナルで次のコマンドを入力することにより、WPScanがインストールされて最新であることを確認できます。
$ sudo apt update $ sudo apt install wpscan
ApacheとWordPressがインストールされたテストサーバーをセットアップしました。テストWebサイトのセキュリティを確認する際は、以下のコマンド例に従ってください。
--url
を使用します オプションを選択し、WPScanでスキャンするためにWordPressサイトのURLを指定します。
$ wpscan --url http://example.com
その後、WPScanはWebサイトに対してスキャンを実行します。これは通常、数秒で終了します。追加のオプションを指定していないため、WPScanはパッシブスキャンを実行し、サイトをクロールしてHTMLコードを調べることでさまざまな情報を収集します。
スキャンによって明らかになったいくつかのことは次のとおりです:
- サーバーはUbuntuLinuxでApache2.4.41を実行しています
- WordPressのバージョンは5.6です(一部の古いバージョンには既知の脆弱性があり、WPScanはそれについて通知します)
- 使用されているWordPressテーマはTwentyTwenty-Oneと呼ばれ、古くなっています
- このサイトでは、「ContactForm7」および「YoastSEO」と呼ばれるプラグインを使用しています
- アップロードディレクトリでリストが有効になっています
- XML-RPCとWP-Cronが有効になっています
- WordPressのreadmeファイルがサーバーで見つかりました

この情報の一部は攻撃者に役立つ可能性がありますが、大きな懸念の原因となるものは何も明らかにされていません。ただし、ディレクトリリストはApacheで確実に無効にする必要があり、XML-RPCが使用されていない場合は無効にする必要があります。利用可能な攻撃対象領域が少ないほど、優れています。

サイト管理者は、実行しているテーマ、プラグイン、およびソフトウェアのバージョンを偽装するための対策を講じることもできます。これはこのガイドの範囲外ですが、サイトにこれらの変更を加えることができるWordPressプラグインが利用可能です。

ウェブサイトがWordPress情報を難読化するのに十分な仕事をしている場合、WPScanはサイトがWordPressをまったく実行していないと言って戻ることがあります。これが正しくないことがわかっている場合は、--force
を使用できます。 とにかくWPScanにサイトをスキャンさせるオプション。
$ wpscan --url http://example.com --force
一部のサイトでは、デフォルトのプラグインまたはwp-contentディレクトリも変更される場合があります。 WPScanがこれらのディレクトリを見つけやすくするために、--wp-content-dir
を使用して手動で指定できます。 および--wp-plugins-dir
オプション。以下にいくつかのディレクトリ例を記入しましたので、必ず置き換えてください。
$ wpscan --url http://example.com --force --wp-content-dir newcontentdir --wp-plugins-dir newcontentdir/apps
脆弱性のスキャン
脆弱性をスキャンするには、WPScanのWebサイトからAPIトークンを取得する必要があります。ちょっと面倒ですが、プロセスは非常に簡単で、無料です。トークンを使用すると、1日に50回の脆弱性スキャンを実行できます。さらにスキャンするには、料金を支払う必要があります。
トークンを取得したら、--api-token
を使用できます コマンドに含めるオプション。スキャン後、脆弱性データが自動的に表示されます。
$ wpscan --url http://example.com --api-token TOKEN

より多くの脆弱性や情報を明らかにする可能性のある、より侵襲的なスキャンを実行するには、--detection-mode
を使用して別の検出タイプを指定できます。 オプション。オプションには、パッシブ、混合、またはアグレッシブが含まれます。
$ wpscan --url http://example.com --api-token TOKEN --detection-mode aggressive
上記のコマンドを使用すると、WordPressサイトのすべての弱点を発見するのに役立つはずです。これで、セキュリティを強化するための対策を講じることができます。 WPScanでできることはさらにたくさんあります。オプションの完全なリストについては、ヘルプページをご覧ください。
$ wpscan -h
WPScanには、出力の各セクションの下に参照も含まれています。これらは、WPScanが報告した情報を説明するのに役立つ記事へのリンクです。たとえば、WP-CronをDDoS攻撃に使用する方法を説明するのに役立つ2つのリファレンスがあります。詳細については、これらのリンクを確認してください。
まとめ
このガイドでは、KaliLinuxでWPScanを使用してWordPressサイトをスキャンする方法を学びました。コマンドで指定するさまざまなオプションを確認しました。これは、構成がわかりにくいWebサイトをスキャンするのに役立ちます。また、APIトークンを取得し、積極的な検出モードを使用して脆弱性情報を明らかにする方法も確認しました。
WordPressは、さまざまな作成者による多くのコード、テーマ、プラグインを備えたCMSです。可動部品が非常に多いため、ある時点でセキュリティの脆弱性が発生する可能性があります。そのため、WPScanを使用してサイトのセキュリティ問題をチェックし、最新のセキュリティパッチを適用してサイトのソフトウェアを常に最新の状態に保つことが重要です。