【Kali linux】WPScanでデフォルト状態のWordPressを脆弱性診断した結果

Kali linux + WPScanでデフォルト状態のWordPressを脆弱性診断した結果をまとめました。

はじめに

注意事項

本記事で紹介する脆弱性診断を許可を得ずに他人や団体、インフラなどへ行った場合、犯罪となる可能性が有ります。
あくまでも、本記事の内容は学習用であるため、脆弱性診断は自身のシステムに対して、自己責任で実施してください。

デフォルトで起動したWordPressの脆弱性診断をWPSCANで行います。
なお、以下の記事でインストールして起動したWordPressが対象です。

【Ubuntu】WordPressをインストールする方法
UbuntuにWordPressをインストールする方法について紹介します。

WPScanの実行結果

$ wpscan --url 診断対象のアドレス

HTTPヘッダからWebサーバの種類、バージョンが特定

[+] Headers
 | Interesting Entry: Server: Apache/2.4.52 (Ubuntu)
 | Found By: Headers (Passive Detection)
 | Confidence: 100%

Webサーバの種類、Apacheのバージョンが特定されました。
特にWebサーバのバージョンがばれると、そのバージョンに存在する脆弱性から攻撃を受ける危険があります。
バージョンを見せないようにすることができます。詳細は以下ページで紹介しています。

【WordPress】Webサーバーのバージョンを見えないようにする方法
WordPressがあるWebサーバーのバージョンを見えないようにする方法をまとめました。

xmlrpc.phpファイルが有効

[+] XML-RPC seems to be enabled: 診断対象のアドレス/xmlrpc.php
 | Found By: Direct Access (Aggressive Detection)
 | Confidence: 100%
 | References:
 |  - http://codex.wordpress.org/XML-RPC_Pingback_API
 |  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_ghost_scanner/
 |  - https://www.rapid7.com/db/modules/auxiliary/dos/http/wordpress_xmlrpc_dos/
 |  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_xmlrpc_login/
 |  - https://www.rapid7.com/db/modules/auxiliary/scanner/http/wordpress_pingback_access/

xmlrpc.phpファイルが有効になっています。
xmlrpc.phpファイルは、WordPressのシステムと遠隔に通信する機能をもち、「スマホアプリからのリモート投稿」「ピンバック」「トラックバック」に使用されます。
しかしながら、DoS攻撃に悪用されてしまう可能性があるため、リモート投稿等することがなければ、無効にします。

やり方は以下のページで解説しています。

【WordPress】xmlrpc.phpを無効化する方法
WordPressのセキュリティ対策として、xmlrpc.phpを無効化する方法をまとめました。

readme.htmlの削除

[+] WordPress readme found: 診断対象のアドレス/readme.html
 | Found By: Direct Access (Aggressive Detection)
 | Confidence: 100%

デフォルト状態のWordPressには、インストールしたディレクトリにreadme.htmlファイルがあり、それにアクセス可能になっています。
readme.htmlには、ログイン画面のURLなどが記載されているため、削除するのが望ましいです。

Uploadディレクトリがアクセス可能になっている

[+] Upload directory has listing enabled: 診断対象のアドレス/wp-content/uploads/
 | Found By: Direct Access (Aggressive Detection)
 | Confidence: 100%

上記メッセージは、Uploadディレクトリにアクセス可能になってることを示します。

wp-cron.phpファイルが有効になっている

[+] The external WP-Cron seems to be enabled: 診断対象のアドレス/wp-cron.php
 | Found By: Direct Access (Aggressive Detection)
 | Confidence: 60%
 | References:
 |  - https://www.iplocation.net/defend-wordpress-from-ddos
 |  - https://github.com/wpscanteam/wpscan/issues/1299

上記メッセージは、wp-cron.phpファイルが有効になっていることを示します。
wp-cron.phpは、WordPressで「予約投稿」「バックアップ処理」「自動更新」「XML-Sitemap」などに使用されます。
通常はサイトへのアクセスがあるたびに実行されるため、アクセスが多いサイトの場合は無駄に負荷が増えてパフォーマンスが低下する可能性があります。
また、DDoS攻撃に悪用される危険性があるため、wp-cron.phpを無効化し、Webサーバー側のcronでwp-cron.phpを一定時間毎にだけ実行するようにするのがおすすめです。

【WordPress】wp-cron.phpを無効化し、cronで定期実行する方法
WordPressのwp-cron.phpを無効化し、cronで定期実行する方法をまとめました。

WordPressのバージョンがバレる

[+] WordPress version 6.4.2 identified (Latest, released on 2023-12-06).
 | Found By: Emoji Settings (Passive Detection)
 |  - 診断対象のアドレス/, Match: 'wp-includes\/js\/wp-emoji-release.min.js?ver=6.4.2'
 | Confirmed By: Meta Generator (Passive Detection)
 |  - 診断対象のアドレス/, Match: 'WordPress 6.4.2'

→ WordPressのバージョンが6.4.2(診断時は最新版)

使用しているテーマ

[i] The main theme could not be detected.

デフォルト状態だと、使用されているテーマが不明という結果でした。

使用しているプラグイン

[+] Enumerating All Plugins (via Passive Methods)
[i] No plugins Found.

使用しているプラグインを一覧表示します。
デフォルト状態だとプラグインは何もインストールされえていないため、何もなしという結果になりました。

Configのバックアップ

[+] Enumerating Config Backups (via Passive and Aggressive Methods)
 Checking Config Backups - Time: 00:00:00 <=> (137 / 137) 100.00% Time: 00:00:00

[i] No Config Backups Found.

[!] No WPScan API Token given, as a result vulnerability data has not been output.
[!] You can get a free API token with 25 daily requests by registering at https://wpscan.com/register

Configのバックアップは無いという結果でした。

関連記事

【Kali Linux】WPScanでWordPressの脆弱性診断を行う方法
Kali LinuxのWPScanでWordPressの脆弱性診断を行う方法を初心者向けに解説します。
【Kali linux】脆弱性診断する方法を初心者向けに解説
Ubuntuの使い方を初心者向けに解説します。
404 NOT FOUND | Linux超入門

コメント