起きたこと
ある日、お客様のWordPressサイトにアクセスすると
外部サイトへ勝手にリダイレクト されていました。
調査すると、確認する数時間目に改ざんており、以下の状態でした。
結論から言うと、今回のWordPress改ざんは
「その場しのぎの修復」では対応できないレベルでした。
部分的に直すのではなく、
データを救出して“作り直す”判断が最も安全でした。
.htaccessが全階層に自動生成され、削除しても復活index.phpなどの PHP ファイルが書き換えられている- .tmbフォルダ、
about.php/file.php/sid3.phpなど不審なPHPファイルが存在 - WordPress管理画面に 見覚えのない管理者ユーザー

この時点でもう手に負えないと思い絶句….
.htaccess が自動生成され続ける、
見覚えのないPHPファイルが複数存在する、
管理者ユーザーまで作られている状態は、
「侵入経路が複数ある可能性が高い」状態です。
この場合、1ファイルずつ修正しても
原因を取り切れず再感染するリスクが高いため、
作り直す判断をしました。
実際に行ったこと
① データベースを救出
投稿記事などを復元するため、
ロリポップのコントロールパネルからDBバックアップ を取得しました。
② テーマをバックアップ

テーマのバックアップはWPvivid Backup Pluginプラグインでとっていたので、FTPからデータを取得し、
本番環境のwordpressやデータベースは新規インストールしクリーンな状態 を用意。
③ ローカル(MAMP)で復元
ローカル環境に新規でWordPressを立て、
バックアップで取得したデータベースとテーマを復元して 正常に表示される状態 を確認。
※ 注意
ローカルでWordPressを立てる際は、
テーブル接頭辞や options テーブルの siteurl / home を
正しく設定しないとエラーになります。
テーマのバックアップで復元させたサイトのデータベースは最新の状態ではなかったので一旦削除し、バックアップしていたデータベースをインポートし復元させました。
④ 画像が表示されない問題
記事は復元できたもののこのままでは投稿の画像が表示されなかったため、
wp-content/uploads/2024
wp-content/uploads/2025
wp-content/uploads/2026
必要な年フォルダのみを上書きして復旧しました。
⑤ 本番は別ディレクトリで再構築
元の wp/ ディレクトリは使わず、
/wp ← 使わない(汚染の可能性あり)
/wp2026 ← 新規
という わかりやすいサブディレクトリ名をつけその新しいディレクトリにWordPressを設置し、
ローカルで復元した環境をプラグインで移設しました。
FTPだけでは不十分だった(重要)
今回の改ざんでは、
FTPでは見えないWebディレクトリと同じ階層
にも不審なファイルが存在していました。

.WordPress.phpというファイルが…
そのため SSHで接続し、FTPでは触れない階層も確認・削除 しました。
ロリポップのSSH設定方法:
https://lolipop.jp/manual/user/ssh
FTPだけで作業すると、
再感染の原因を取り切れない可能性があります。
追加で行った対応
改ざんされたファイルはすべて破棄
FTPパスワード変更
DBを新規作成
不審なWordPressユーザー削除
改ざんされてしまった原因
あくまで憶測ですが、このサイト公開するまでかなり時間がかかり、放置されていたサイトでした。
その際、サイトが見られないように普段使わないメンテナンスのプラグインを入れており、おそらくそのプラグインの軟弱性から侵入されたのではないかと推測してます。
放置は良くないですねやはり。
同じ状況の人へ
- 勝手にリダイレクトされる
.htaccessが復活する- 見覚えのないPHPファイルがある
この状態なら、
その場で修復しようとせず、作り直す方が安全かと思います。
以上wordpressが改竄されたときの対処法でした。