※本記事にはプロモーションが含まれています。
WordPressを運用していると、特定のURLに対して繰り返しアクセスされることがあります。
その中でも特に多いのが、以下のようなセットアップやインストール関連のページです。
/wp-admin/setup-config.php/wp-admin/install.phpこれらはWordPressがまだセットアップされていない状態で表示されるページです。
本記事では、実際のサーバーログをもとに、これらのページを狙うスキャンBotの挙動と、その意図を解説します。
WordPressのセットアップページの仕組みについては、以下の記事で詳しく解説しています。
▶ WordPressの /setup-config.php を探すBotアクセス|アクセスログ分析
WordPressセットアップページとは
WordPressは、インストール時にデータベース情報などを設定する必要があります。
その際に使用されるのが、以下のページです。
- setup-config.php:データベース設定
- install.php:管理者アカウント作成
通常は一度設定が完了すれば不要になりますが、未設定のまま公開されている場合、第三者に悪用される可能性があります。
実際のサーバーログ
以下は、実際に観測されたアクセスログの一部です。
挙動が分かりやすい部分を抜粋しています。
vivisec.net 128.90.157.5 - - [20/Apr/2026:20:40:59 +0900] "GET / HTTP/1.1" 301 228 "-" "Go-http-client/1.1"
www.vivisec.net 128.90.157.5 - - [20/Apr/2026:20:41:05 +0900] "GET / HTTP/1.1" 200 19909 "http://vivisec.net" "Go-http-client/1.1"
www.vivisec.net 128.90.157.5 - - [20/Apr/2026:20:41:07 +0900] "GET /wp-admin/setup-config.php?step=1&language=en_GB HTTP/1.1" 401 2784 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
www.vivisec.net 128.90.157.5 - - [20/Apr/2026:20:41:07 +0900] "GET /wp-admin/install.php?step=1&language=en_GB HTTP/1.1" 401 2784 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)"
www.vivisec.net 128.90.157.5 - - [20/Apr/2026:20:41:07 +0900] "GET /wordpress/wp-admin/setup-config.php HTTP/1.1" 403 1782 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp)"
www.vivisec.net 128.90.157.5 - - [20/Apr/2026:20:41:09 +0900] "GET /wp/wp-admin/setup-config.php HTTP/1.1" 403 1782 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
www.vivisec.net 128.90.157.5 - - [20/Apr/2026:20:41:09 +0900] "GET /new/wp-admin/setup-config.php HTTP/1.1" 403 1782 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0)"
www.vivisec.net 128.90.157.5 - - [20/Apr/2026:20:41:11 +0900] "GET /old/wp-admin/setup-config.php HTTP/1.1" 403 1782 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:108.0)"このログから分かるポイント
このログから分かるポイントは以下の通りです。
- 同一IPからアクセスしている
- User-Agentが短時間で変化している
- WordPressの初期化ページを複数パスで探索している
- 401 / 403 によりアクセスはブロックされている
一見ランダムに見えますが、実際には意図的なスキャンです。
このようなアクセスは、一般的なクローラーとは異なり、スキャンや探索を目的としたBotである可能性があります。
▶ WordPressのアクセスログで見るクローラーと攻撃botの違い|見分け方を実例で解説
なぜこの順番でアクセスしているのか
今回のログは、一見バラバラにアクセスしているように見えますが、実際には効率よく脆弱なポイントを探すための順番があります。
まず最初に、トップページ(/)へアクセスしています。
これは、
- サイトが稼働しているか
- ドメイン構成(wwwの有無)
- 基本的なレスポンス
を確認するためのものです。
つまり、このサイトに対してスキャンを続ける価値があるかを判断しています。
その後、すぐに以下のURLへアクセスしています。
/wp-admin/setup-config.php/wp-admin/install.phpこれらは、未設定であれば即座に悪用可能なため、優先的にチェックされます。
さらに、
- /wordpress/
- /wp/
- /new/
- /old/
といったディレクトリにもアクセスしています。
これは、実際の運用でよくある配置パターンを想定したものです。
- サブディレクトリに設置されたWordPress
- 移行後に残された旧環境
- テスト用に作られた環境
また、途中でUser-Agentが変更されている点も特徴です。
これは、単純なアクセス制限を回避するために、複数のUser-Agentを使い分けていると考えられます。
これらの処理はすべて自動化されており、短時間で一気に実行されています。
攻撃者の意図と狙い
このようなスキャンの目的は、脆弱なWordPress環境を見つけることです。
未設定のWordPressの乗っ取り
初期化ページが開いたままの場合、
- データベース設定の書き込み
- 管理者アカウントの作成
が可能になり、サイトを乗っ取られる可能性があります。
放置された旧環境の悪用
特に狙われるのが以下のようなディレクトリです。
- /old
- /backup
- /test
これらは管理が行き届いていないことが多く、
- 更新されていない
- セキュリティ設定が甘い
といった理由で侵入されやすくなります。
スパム・マルウェアの設置
侵入後は、以下のような用途に悪用されることがあります。
- SEOスパムページの生成
- フィッシングサイトの設置
- 他サイト攻撃の踏み台
なぜこの方法が使われるのか
このようなスキャンは、効率が非常に高いため多く使われています。
自動ツールで大量のサイトに対して同じ処理を繰り返すことで、成功率が低くても、一定数の脆弱なサイトを見つけることができます。
WordPressを狙うスキャンへの対策
基本的な対策はシンプルですが重要です。
不要なWordPressを削除する
以下のようなディレクトリは特に注意が必要です。
- /old
- /test
- /backup
使っていない環境は削除するのが最も安全です。
wp-adminへのアクセス制限
- Basic認証
- IP制限
これだけでもスキャンの多くを防ぐことができます。
WAFの活用
レンタルサーバーのWAF機能を活用することで、こうしたスキャンの多くを自動的にブロックできます。
エックスサーバーでは標準でWAFが提供されており、特別な設定をしなくても基本的な防御が可能です。
セキュリティプラグインの導入について
WordPressにはセキュリティプラグインもありますが、サーバー側での対策(WAFやアクセス制御)がしっかりしていれば、必ずしも多機能なプラグインを導入する必要はありません。
まとめ
WordPressのセットアップページを狙うスキャンは、
- 自動化されている
- 複数パスを総当たりする
- User-Agentを偽装する
といった特徴があります。
今回のログのように適切な制御がされていれば問題はありませんが、放置された環境がある場合は侵入される可能性があります。
一度、自分のサーバー内に不要なWordPressが残っていないか確認してみることをおすすめします。
WordPressには、このようなスキャンや攻撃が日常的に行われています。
他にも実際のログをもとにした記事をまとめています。
▶ WordPress公開直後に来たxmlrpc.php POSTリクエスト
▶ WordPress公開直後に来たBotの種類を調査
▶ WordPressサイトに「/.env」スキャンが来た理由
