「WordPressしか入れていないはずのサーバーに、見覚えのないPHPやZIP、DLLがある」と困っていませんか?
自社ドメインで銀行のログイン画面が表示されたり、サーバー会社からフィッシングサイトの設置を指摘されたりすると、
何を消せばよいのか、情報漏洩が起きたのか判断できず不安になるものです。
今回、ご依頼によって実際に保全したファイルを調べたところ、米国の銀行を装うフィッシングキットと、
Windows向け遠隔支援ソフトの配布につながるファイル群を確認しました。
WordPressの復旧を多数手がけてきたよこやま良平です。わたしの現場経験と今回の静的解析をもとに、確認できた事実、まだ断定できないこと、復旧の進め方を初心者にもわかる言葉で解説します。
- WordPressに設置された銀行フィッシングサイトの実例
- 偽画面・アクセス選別・Telegram送信処理の役割
- PHPとWindows向けMSI・DLLの違い
- 確認できた事実と、ログがなければ断定できないこと
- 削除前に行う初動対応と完全復旧の流れ
本稿は、保全したファイルを実行せずに調べる静的解析を中心とした結果です。コード上の送信処理や埋め込み設定は確認しましたが、実際の情報送信、利用者による入力、ファイルのダウンロード、Windows端末での実行、遠隔接続、侵入経路、各ファイルを設置した人物の同一性については、検体だけでは確認できません。
結論からいえば、これは認証情報やカード情報の窃取、Windows端末への遠隔アクセスにつながる機能を含む重大インシデントです。
見つけたファイルだけを消さず、公開停止、証拠保全、感染範囲の調査、侵入口の封鎖まで一連で進める必要があります。
WordPress改ざんで銀行フィッシングサイトを確認した事例
今回保全したファイルから、WordPressが置かれた環境に、銀行を装うフィッシングサイト用のファイル群が設置されていたことを確認しました。
WordPress直下に管理者が知らないファイルが追加されていた
最初の手がかりは、WordPressのファイルと同じ場所にあった、身に覚えのないPHPファイルとフォルダです。
通常のWordPress本体には含まれない名前が並び、更新日時も正規ファイルとは異なっていました。

ただし、index.phpやpost.phpのような一般的な名前は、正常なサイトでも使われます。
ファイル名だけで決めつけず、設置場所、コード、更新日時、通信先、正規ファイルとの差を合わせて調べることが大切です。

Chaseを装う偽ログイン画面のコードを確認
PHPとHTMLを確認すると、米国の銀行Chaseを装う画面用のCSS名とページタイトルが記述されていました。
ログイン情報、カード情報、SMSで届く認証コードを段階的に入力させる構成です。

フィッシングキットとは、本物に似せた偽画面を表示し、利用者が入力した認証情報などを集めるためのファイル一式です。
今回は偽画面だけでなく、入力値を外部へ送る処理まで組み込まれていました。
- 銀行サービスのユーザー名とパスワード
- カード名義、カード番号、有効期限、セキュリティコード
- SMSで届く認証コード(ワンタイムパスワード)
- アクセス元のIPアドレスなどの通信情報
WordPressのフィッシングサイトに組み込まれていた仕組み
確認した仕組みは、訪問者を選別し、標的には偽画面を見せ、入力された情報を外部へ送るよう設計された構成でした。
botMotherで調査用アクセスを選別する
コードには、botMotherというアクセス選別用の仕組みが読み込まれていました。
検索エンジンやセキュリティ調査と判断したアクセスを除外し、標的だけに偽画面を見せるための処理です。

相手によって表示を変える手法は、一般にクローキングと呼ばれます。
サイト管理者が自分のパソコンで開いたときは正常に見えることがあり、「トップページが表示されるから安全」とは判断できません。
入力情報をTelegramへ送るPHP処理
別のPHPファイルには、Telegram Bot APIのsendMessageを使う処理がありました。
フォームの入力値を、検体に設定されたチャットIDへテキストとして渡す実装です。

https://api.telegram.org/bot<token>/sendMessageTelegramやBot API自体は正規のサービスです。
今回は、偽画面に入力された情報を外部へ届ける目的で悪用できる形になっていたことが問題です。
「入力情報をTelegramの指定チャットへ送るよう実装されていた」とはいえます。一方、APIの成功応答、外向き通信ログ、Telegram側の受信記録がないため、「実際に送信された」とまでは断定できません。
https://core.telegram.org/bots/api#sendmessage
ZIP・MSI・DLLとScreenConnectの設定
追加調査では、米国社会保障局(SSA)を装うZIP、Windows用MSI、DLLも同じ環境から見つかりました。
検体には、ScreenConnectクライアントとみられるパッケージと、未承認の外部管理先を示す設定が含まれていました。

ScreenConnectは、遠隔サポートで使われる正規製品です。
製品そのものがウイルスなのではなく、利用者の同意なしに導入され、第三者の管理先へ接続する設定なら悪用につながります。
DLL内には、埋め込みMSI、Windowsの一時フォルダへの書き出し先、msiexecを起動するコードパスがありました。
ただし、DLLは通常ほかのプログラムから読み込まれる部品であり、その処理が実際に呼び出されたかは確認できていません。
msiexec.exe /i "%TEMP%\zoom-installer.msi"WordPressフィッシングサイト調査で確認できた事実と未確認事項
確認できたのはコード上の機能とファイル配置です。
実際の情報送信やWindows端末での実行まで、検体だけで被害を広く断定してはいけません。
静的解析で確認できたこと
- Chaseを装う偽画面用のファイルと入力フォームがあった
- botMotherによるアクセス選別と正規Chaseサイトへの転送設定があった
- 入力情報をTelegram Bot APIへ渡すPHP処理があった
- SSAを装うZIPとWindows向けMSI・DLLがあった
- DLL内にMSIの書き出しとインストーラー起動のコードパスがあった
アクセス・通信・端末ログがなければ断定できないこと
- 実在する利用者が偽画面へアクセスし、情報を入力したか
- Telegramへの送信が成功したか
- ZIP・MSI・DLLが実際にダウンロードされたか
- Windows端末へインストールされ、外部管理先へ接続したか
- フィッシングキットとWindows向けファイル群を同じ人物が設置したか
- どの脆弱性や認証情報から侵入されたか
実被害を確かめるには、該当URLへのGET・POST記録、外向き通信ログ、サーバーパネルやFTP・SFTPのログ、
Windows端末のサービス・プロセス・通信記録を照合する必要があります。
LinuxサーバーとWindows端末では役割が違う
PHPのフィッシングキットは、LinuxのWebサーバー上でも動作します。
フォームを表示し、入力値を受け取り、外部APIへ通信する処理はサーバー側で実行されるためです。
一方、MSIとDLLはWindows向けです。Linuxサーバーに置かれていただけなら、通常はWindows Installerとして動かず、
サーバー上では保管・配布物だった可能性が高いと考えられます。
- Webサーバー:PHPの偽サイトが動作し、不正ファイルの保管・配布にも使われ得る
- Windows端末:利用者がMSIを実行した場合、遠隔支援ソフトが導入される可能性がある
- サーバー復旧とWindows端末調査は、必要に応じて別々に行う
WordPress本体やPHP 7.4が侵入原因とは断定できない
本件はWordPressサイトが置かれた環境に、管理者が設置していないファイル群が追加されていた事例です。
サーバーへの不正な書き込みは確認できますが、WordPress本体の脆弱性が侵入原因だったと確認されたものではありません。
.htaccessにはPHP 7.4を指定する記述もありました。PHP 7.4の公式サポートは2022年11月28日に終了していますが、
実際の稼働バージョンはサーバー設定で別途確認が必要です。また、PHP 7.4が今回の侵入原因だったとはいえません。

侵入経路としては、古いテーマやプラグイン、盗まれたWordPress・FTP・SFTP認証情報、同居サイト、管理用パソコンなど複数の可能性があります。
先入観を持たず、ログとファイルの時系列から調べることが必要です。

WordPress改ざんが疑われた時に今すぐ行う初動対応
不審ファイルを削除する前に、公開停止と証拠保全を優先してください。
慌てて消すと、侵入口や実被害を判断する手がかりまで失うおそれがあります。
不審なURLとファイルの公開を止める
最初に、フィッシングページやダウンロードファイルへ外部からアクセスできない状態にします。
サーバー会社へ連絡し、対象ディレクトリの隔離、アクセス制限、必要に応じたサイト一時停止を相談してください。
- ZIP・MSI・DLLを自分のWindowsパソコンで開く
- 証拠を残さず不審フォルダを丸ごと削除する
- 感染が疑われる端末で重要なパスワードを変更する
- トップページが表示されるだけで復旧完了と判断する
ファイル原本・時刻・ログを保全する
不正と疑われるファイルは、実行せずに別の安全な場所へコピーし、元のパス、更新日時、所有者、権限を記録します。
Webアクセスログ、エラーログ、サーバーパネル、FTP・SFTP、SSHのログも保存してください。
現在のファイル一式とデータベースも保全します。
ただし、侵害後のバックアップには不正ファイルが含まれる可能性があるため、「安全な復元元」とは分けて管理します。

安全な端末から認証情報を失効・変更する
侵害の可能性がある場合は、WordPress管理者、レンタルサーバー、サーバーパネル、FTP・SFTP、SSH、データベース、関連メールの認証情報を見直します。
変更は、感染の疑いがない別端末から行ってください。
知らない管理者ユーザー、アプリケーションパスワード、APIキー、Cron、MUプラグインも確認します。
パスワードだけ変えても、別の裏口や有効なセッションが残っていれば再侵入される可能性があります。

JPCERT/CCへフィッシングを報告する
フィッシングサイトを確認した場合は、JPCERT/CCの専用フォームからURL、確認時刻、偽装対象、関連ファイルなどを報告できます。
ホスティング事業者や関係先との調整に役立ちます。
ただし、報告は復旧作業の代わりではありません。
公開停止、証拠保全、侵入口調査、駆除、認証情報の失効、再発防止は別途進める必要があります。
WordPressフィッシングサイトを完全復旧する流れ
完全復旧には、偽ページだけでなく、バックドア、侵入口、不正ユーザー、認証情報、端末側の影響まで調べる必要があります。
サーバー全体から不正ファイルとバックドアを探す
確認範囲は、見つかったフォルダだけでは足りません。
WordPress本体、テーマ、プラグイン、アップロード、MUプラグイン、.htaccess、.user.ini、Cron、データベースを調べます。
WordPress公式のチェックサム確認は、コアファイルの差分を見つける手がかりになります。
ただし、警告されたファイルがすべてマルウェアとは限らないため、結果を見て自動削除しないでください。
wp core verify-checksums --include-root有料プラグイン、独自テーマ、業務用ファイルは公式チェックサムの対象外になる場合があります。
正常な原本との比較、更新日時、コード、外部通信を組み合わせて判定します。
クリーンな環境へ復元し侵入口を塞ぐ
調査後は、正規配布元から取得したWordPress本体・テーマ・プラグインを使い、不正ファイルと設定を除去します。
信頼できる侵害前バックアップがある場合も、戻す前に安全性を確認してください。
復元後はWordPress、テーマ、プラグイン、PHPを互換性確認のうえ更新し、不要なアカウントやファイルを削除します。
認証情報を再発行し、二段階認証、WAF、権限、バックアップ、ログ保存も見直します。

Windows端末と公開後の再発を確認する
不審なZIP・MSI・DLLをWindowsで開いた可能性がある場合は、対象端末をネットワークから隔離し、端末調査を行います。
ScreenConnectのサービス、プロセス、外部通信、常駐設定、追加ファイル、アカウントのログイン履歴を確認してください。
サイト側は、ログイン中・ログアウト状態、パソコン・スマートフォン、検索結果からのアクセスなど条件を変えて確認します。
クローキングがあると、管理者の通常確認だけでは再発を見逃すためです。
- フィッシングページと配布ファイルが外部から開けない
- 不正ファイル・バックドア・不正ユーザーを除去した
- 侵入口を塞ぎ、認証情報とセッションを失効した
- 複数条件で不審表示・転送・外向き通信が再発しない
- 必要に応じてWindows端末と関係アカウントも確認した
WordPressフィッシングサイトを自力で直せない時の判断基準
不審ファイルが複数あり、侵入経路や利用者被害を自分で確認できない場合は、作業を止めて専門家へ依頼すべきです。
- 銀行を装う画面や入力フォームが自社ドメインで表示される
- PHPだけでなくZIP・MSI・DLLなど複数種類のファイルがある
- 外部APIへの送信処理や見覚えのない転送設定がある
- ファイルを消しても再作成される、または別の場所で再発する
- アクセスログや外向き通信ログの見方がわからない
- 顧客情報、決済、企業信用への影響を否定できない
見えているファイルだけを消すと再発と証拠消失につながる
フィッシング画面のフォルダを消すと、表面上は直ったように見えます。
しかし、別のバックドア、不正管理者、漏洩したFTP認証情報が残れば、同じファイルを再設置される可能性があります。
また、先に削除すると、いつ侵入され、誰がアクセスし、どこへ通信したかを判断する証拠が失われます。
情報漏洩や端末感染の有無を説明する必要がある企業サイトほど、調査前の削除は避けるべきです。
依頼前にわかる範囲だけ整理する
専門家へ相談するときは、原因を自分で特定する必要はありません。
気づいた日時、見つかった場所、直前の作業、サーバー会社からの通知を、わかる範囲で伝えれば調査を始められます。
気づいた日時:
確認した症状・URL:
見つかったファイル名:
サーバー会社からの通知:
直前に行った更新や作業:
自分で変更・削除した内容:
Windowsで不審ファイルを開いた可能性:WordPressフィッシングサイトのよくある質問
WordPressにフィッシングサイトが設置されたときに、特に多い疑問をまとめます。
WordPress改ざん・銀行フィッシングサイト調査のまとめ
今回のWordPress環境では、Chaseを装う偽画面、botMotherによるアクセス選別、Telegram Bot APIへの送信処理、
SSAを装うZIP、Windows向けMSI・DLL、ScreenConnectの外部管理先設定を確認しました。
一方、実際の利用者による入力、Telegramへの送信成功、ファイルのダウンロード、Windows端末での実行・遠隔接続、侵入経路は、検体だけでは未確認です。
事実と可能性を分けたうえで、ログと端末まで調査する必要があります。
- WordPressが普通に表示されても安全とは限らない
- 不審なAPIは通信先と送信内容まで確認する
- 正規の遠隔支援ソフトも無断導入なら攻撃に悪用され得る
- サーバー上のPHPとWindows向け配布物を分けて調査する
- 削除前に公開停止と証拠保全を行う
- 侵入口とバックドアを除去するまで復旧は終わらない
見覚えのない銀行ページやPHP・ZIP・DLLを見つけたら、ファイルを開いたり消したりする前に調査を依頼してください。
対応が早いほど、ログを残し、被害拡大と再発を防ぎやすくなります。
WordPressのフィッシングサイト被害は今すぐ復旧をご依頼ください

今回のようにPHP・ZIP・DLL・外部送信処理が同時に見つかった場合、
見えているファイルだけを削除しても安全とは判断できません。
公開停止、証拠保存、バックドア除去、侵入経路の確認、認証情報の変更、再発防止まで、
クイックレスキューが一つずつ調査して復旧します。被害を広げる前に、今すぐご依頼ください。
- 自社ドメインに銀行の偽ログイン画面がある
- 見覚えのないPHP・ZIP・MSI・DLLが見つかった
- Telegramなど外部APIへの通信処理がある
- 不正ファイルを消しても再発する
- 情報漏洩や端末感染の有無を判断できない
- 証拠を残したままWordPressを完全復旧したい
- 万一復旧できない場合やマルウェア駆除できない場合は全額返金保証で安心
- 90日間再感染保証・動作保証で安心
- 初期費用・調査費用0円で安心

