2026年5月20日
2026年5月20日
WordPressのハッキングされたアカウントを回復する方法
はじめに
WordPressの管理者アカウントが乗っ取られた場合、迅速に回復し再発防止策を講じる必要があります。ログインできない状態でも、サーバーのSSHアクセスやデータベース直接操作で回復できます。
緊急対応手順
ステップ1:まずサイトをオフラインにする
# .htaccess でサイトへのアクセスをブロック(SSH経由)
echo "Deny from all" >> /path/to/public_html/.htaccess
# または wp-config.php にメンテナンスモードを追加
echo "<?php header('HTTP/1.1 503 Service Unavailable'); die('Maintenance'); ?>" \
> /path/to/public_html/wp-content/maintenance.php
ステップ2:WP-CLIでパスワードを変更する
# 管理者のユーザーIDを確認
wp user list --role=administrator
# パスワードを変更
wp user update 1 --user_pass='NewSecure!Pass#2024'
# 全セッションを無効化(salt をリセット)
wp config shuffle-salts
# 不審なユーザーを確認
wp user list --fields=ID,user_login,user_email,user_registered,roles
ステップ3:データベース経由でパスワードをリセットする(WP-CLIが使えない場合)
-- phpMyAdmin または mysql コマンドで実行
UPDATE wp_users
SET user_pass = MD5('TempPassword123!')
WHERE user_login = 'admin';
-- より安全なハッシュ(WordPressのハッシュ形式)
-- WP-CLIが使えるなら wp user update を使うこと
ステップ4:不正なユーザーと管理者権限を削除する
# 不審な管理者ユーザーをリストアップ
wp user list --role=administrator --fields=ID,user_login,user_email,user_registered
# 不審なユーザーを削除(投稿を別ユーザーに再割り当て)
wp user delete {suspicious_user_id} --reassign=1
# 管理者権限を付与した痕跡をユーザーメタから確認
wp user meta get {user_id} wp_capabilities
ステップ5:マルウェアスキャンと後処理
# コアファイルの整合性チェック
wp core verify-checksums
# プラグインファイルの整合性チェック
wp plugin verify-checksums --all
# 最近変更されたPHPファイルを確認
find /path/to/wordpress -name "*.php" -newer /path/to/wordpress/wp-config.php -type f
# 不正なファイルが見つかった場合、コアを再インストール
wp core download --force
ステップ6:セキュリティ強化
# 管理者メールアドレスを変更
wp option update admin_email 'new-secure@example.com'
# 二段階認証プラグインをインストール
wp plugin install two-factor --activate
# ログイン試行制限をインストール
wp plugin install limit-login-attempts-reloaded --activate
# ファイルパーミッションを修正
find /path/to/wordpress -type f -name "*.php" -exec chmod 644 {} \;
find /path/to/wordpress -type d -exec chmod 755 {} \;
chmod 600 wp-config.php
注意事項
- 回復後は必ずすべての管理者パスワードを変更してください
- ハッキングされた場合、バックアップからの復元も検討してください。感染したファイルが残っている可能性があります
- Wordfence や Sucuri セキュリティプラグインでフルスキャンを実施してください
まとめ
ハッキングされたアカウントの回復は、(1) サイトをオフラインに → (2) WP-CLIでパスワードリセット → (3) 不正ユーザー削除 → (4) マルウェアスキャン → (5) セキュリティ強化 の順で対応してください。