この技術ブログのgomokulogが、先日2026年7月22日にIPAからも発表があった脆弱性を利用して、ほぼ乗っ取られていました。
WordPressの脆弱性対策について(CVE-2026-60137、CVE-2026-63030:wp2shell)
https://www.ipa.go.jp/security/security-alert/2026/alert20260722.html
私は、LaravelやCakePHPとかでサービスを作ることが専門なので、WordPressはあまり詳しくは無いのですが、とりあえず起ったことや修復作業などを軽く書き留めておく。
乗っ取りに気づくまでの経緯と気づいた後の応急処置
経緯としては、最近gomokulogを更新していなかったこともあり、PHP7.4のサーバーに置いたままだった。
ただちょっと時間が出来たので、そろそろPHP8系に移す準備をしていた。
そこで、7月の上旬にひとまずWordPressとプラグインの最新化を行い、下準備をしていた。
この時点ではWordPressのバージョンは7.0.0か7.0.1だったかと思う。
なお、引っ越しの最中にデータが壊れるのが怖いので自動更新は止めてた。
引っ越し先のPHP8系のサーバーのほうの準備も整い、7月22日に、いざバックアップを取って引っ越し作業をしていたところ、見慣れないプラグインができていた。

ネットで調べても出てこないので、前回WordPressを更新したときに何か勝手なプラグインをWordPress自身が入れたのかな?と考えた。
冒頭でも述べたように私はWordPressは詳しくないので、そういうものか?と考えた。
ただ、下記のプラグインが入っており、有効化になっていた。

これは、自由にファイルを置けるプラグインとして有名らしく、入れた覚えも有効化した覚えもない。
自動更新も止めているのに、余計なプラグインが入っているので、今一度プラグインの一覧が何なのかをAIに調査させたところ、聞いたことのないプラグインや勝手にWP File Managerの組み合わせは、ちょっと怪しいので、念のため管理者一覧を見てくださいとのこと。
いやいや、流石につい先日色々と最新化してデータの中身とか軽く見てその時問題なかったし、まさかなぁ・・と思っていたが。
見事に侵入されて見知らぬ管理者がズラリと作られていた。\(^o^)/

最初の追加した二つは、どっかの情報から引っこ抜いただれかの情報だろうか・・?それっぽいユーザーが作れていたが、残り二つは隠す気もないアカウントだった。
adminのパスワードこそ変えられていないが、ほぼ完全に乗っ取られていた。
(このadminも大昔に適当に作ってたらそのままデフォルトになっちゃったんだけど変えたいんだよなぁ・・・)
PHPこそ7.4だが、OSのアップデートやWordPressのアップデートとプラグインのアップデートは引っ越し準備のために7月の上旬に最新にしていた。
さらに、ただの技術ブログなので、プラグインは以下の3つのみ。
akismet
highlighting-code-block
wp-multibyte-patch
流石におかしい・・。どういうこと・・?
このレベルでこんな感じにあっさり乗っ取られたら、世界中で大騒ぎになってるだろうと、WordPressをキーワードにグーグルで検索しても何も出てこない・・・。
ってことで、X(Twitter)で検索したら、IPAが本日発表のWordPressの脆弱性を報告していた。
そして、続々と関連記事やツイートがあがり、急ぎ更新を!!7.0.2に更新を!!!の祭り状態。
いや、もう遅いんじゃぁ・・・。(ToT)
幸い、目的が完全な乗っ取りではなく、セキュリティデータの引っこ抜きやフィッシングや踏み台が目的だったためか、adminのパスワードやデータベースの中身の暗号化とかは行われていなかった。
急ぎ閉じて消しさりたいところだが、アクセスできなくなったことを相手に知らせる前に、ちょっと準備できることはしておきたい。
ってことで、まずはフォルダごとバックアップを作成。データベースのダンプは自動で取っていたのでそれらをローカルに落としておく。
他の同居しているサービスも同じようにバックアップをとってデータをローカルに落としておく。
WordPressのファイルはすべて見られたと考え、WorePressで使用しているパスワード系とかを確認。
その後、他にgomokulog以外に何かバックドアが作られていないか、直近の変更されたファイルなどを調査。
*他にも怪しいphpを探したりしたが見当たらなかった。
find /home/xxxxxx/ -type f -ctime -30あらかた確認したら、publicになっているフォルダごとずどんとmvでリネーム。
あえて消さないのは、何をいじられたか知りたいため。
新しく空のgomoukulogフォルダを作成して、メンテ中とだけ書いたindex.htmlファイルだけを設置。(数日、このサイトはメンテ中とだけ書いたページしかなかった)

WordPressで使用していた漏れたDBのパスワードとかを変更。
一旦これで、何もできなくなったと思われ。
改ざんされた中身とかを確認
改ざんされた中身などを確認していく。直近で更新されているファイルとかを見て覚えないがないものを確認する。
なお、ctimeなのは、mtimeは改ざんできるらしいのでctimeで探している。
sudo find -type f -ctime -30荒らされたプラグイン
プラグインの中身を見ると、自分が入れてないあれやこれが入っている。

今回の首謀者と思われるwp2shellが7月19日に作られている。
WordPressのバッチが公開されたのが7月17日っぽいので、自動更新が動いていれば止められたかもしれない。
ん~、引っ越しのタイミングに重なるなんて・・・。
なお、wp2shellは管理画面のプラグイン一覧には出てこない。
公開ディレクトリ直下に見覚えの無いphpファイル
そして、このWordPressが置いてある公開ディレクトリであるwww直下には見覚えのない3rl9.phpと.903a・・・.phpが作られている。
wp-file-managerが入れられたので、好きにファイルを配置されたのかもしれない。
こちらは、Modifiedが、Feb 10 となっているが、

ctimeで確認すると
sudo find ./ -maxdepth 1 -type f -ctime -30 -exec stat {} \;
7/20に作られていることが分かる。
ファイルを配置した後、自身のModifyを変えている。
wp-file-managerがインストールされたのが、7/20の21時なので、wp-file-managerを入れた後にこのファイルが配置されたと思われる。
中身はデータベースへ直接アクセスするツールや、サーバー内のconfig系のファイルを手あたり次第取得する系のプログラムが書いてある模様。
(とても見ていられない量だったので、AIに解析してもらった。見た感じこのファイル自体もAIで書かれていそう)
今回のやらかしと感想
WordPressはよく自動更新で壊れることが大昔にあったせいで、あまり信用していなかった。
PHP8への引っ越し作業だったので、それがよぎり、自動更新を一時的にOFFにしてた。
まさか、その一週間ちょっとの間に致命的な脆弱性が発見されて乗っ取られるとは思わなかった。
脆弱性発見から脆弱性攻撃ツールが出回るまでの速度が恐らくAIのせいで爆速になっている。
また乗っ取った後の次のステップまでAIが教えてくれて、配置するツールもAIが作ってくれてそう。
ん~、ちょっとこのAI進化世界だとWordPressちょっと怖いなー。
まぁ、ブログやコーポレートサイトレベルなら十分だけど、プラグインで外部サービスと連携とかなると、そこら辺のパスワードとか書くことになるから、全部漏れすると影響が大きくなるなー。
仕様上仕方ないけど、公開領域内にすべて入っていて、すべてapache権限なのがなー。
いくら乗っ取られたとしても、public直下にphpファイルを置かれるって普通じゃありえないからな・・。
wp-cliってのでcron更新にすれば、apacheの書き込み権限をはく奪できるかもしれないが・・、う~ん・・・。。
まぁ、便利だから世界中で使われているってのがメリットでありデメリットだから、なんか落としどころを探すか。
気が向いたら、復旧作業編も書こうかな。
*小規模サイトで同じ状況で困っている方おられたら相談に乗ります。