WordPress改ざんで銀行フィッシングサイトを確認|調査・復旧事例【実際の例】

WordPressサーバーに銀行を装うフィッシングキットが設置された事例を示すセキュリティイラスト

「WordPressしか入れていないはずのサーバーに、見覚えのないPHPやZIP、DLLがある」と困っていませんか?

自社ドメインで銀行のログイン画面が表示されたり、サーバー会社からフィッシングサイトの設置を指摘されたりすると、
何を消せばよいのか、情報漏洩が起きたのか判断できず不安になるものです。

今回、ご依頼によって実際に保全したファイルを調べたところ、米国の銀行を装うフィッシングキットと、
Windows向け遠隔支援ソフトの配布につながるファイル群を確認しました。

よこやま良平

WordPressの復旧を多数手がけてきたよこやま良平です。わたしの現場経験と今回の静的解析をもとに、確認できた事実、まだ断定できないこと、復旧の進め方を初心者にもわかる言葉で解説します。

この記事でわかること
  • WordPressに設置された銀行フィッシングサイトの実例
  • 偽画面・アクセス選別・Telegram送信処理の役割
  • PHPとWindows向けMSI・DLLの違い
  • 確認できた事実と、ログがなければ断定できないこと
  • 削除前に行う初動対応と完全復旧の流れ
本稿の調査範囲

本稿は、保全したファイルを実行せずに調べる静的解析を中心とした結果です。コード上の送信処理や埋め込み設定は確認しましたが、実際の情報送信、利用者による入力、ファイルのダウンロード、Windows端末での実行、遠隔接続、侵入経路、各ファイルを設置した人物の同一性については、検体だけでは確認できません。

結論からいえば、これは認証情報やカード情報の窃取、Windows端末への遠隔アクセスにつながる機能を含む重大インシデントです。
見つけたファイルだけを消さず、公開停止、証拠保全、感染範囲の調査、侵入口の封鎖まで一連で進める必要があります。

【無料プレゼント】
WordPress緊急チェック50

「自分のサイトは今、安全なのか?」
自信を持って答えられますか?

WordPress緊急チェック50

こんなお悩みはありませんか?

  • ある朝、サイトを開いたら真っ白画面になっていた
  • 管理画面にログインできなくなって手が止まった
  • 身に覚えのない記事やページが勝手に増えていた
  • プラグインを更新したらサイト全体が崩れてしまった
  • 以前バックアップを取ったか自分でも覚えていない

累計1,000件以上のWordPressトラブル対応の経験から、「壊れる前に備える」ためのチェックリストを1冊にまとめました。
ログイン・本体・バックアップ・サーバー・運用の5分野を、50項目で「危険度・確認方法・対処法」まで解説しています。

セキュリティプラグイン・WordPressの教科書も含めた3大特典を、
今なら無料で受け取れます。

今すぐ無料ダウンロードする →

※登録後すぐにメールで特典をお届けします

WordPress改ざんで銀行フィッシングサイトを確認した事例

今回保全したファイルから、WordPressが置かれた環境に、銀行を装うフィッシングサイト用のファイル群が設置されていたことを確認しました。

WordPress直下に管理者が知らないファイルが追加されていた

最初の手がかりは、WordPressのファイルと同じ場所にあった、身に覚えのないPHPファイルとフォルダです。
通常のWordPress本体には含まれない名前が並び、更新日時も正規ファイルとは異なっていました。

WordPress直下に管理者が設置していないフォルダやPHPファイルが追加されていた例
WordPress直下で確認された不審なファイル群。クライアントを特定できる情報は含めていません。

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

Chaseを装う偽ログイン画面のコードを確認

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

米国の銀行Chaseを装う画面のCSS名とページタイトルが記述されたPHPコード
Chaseを装う画面のコード。Chase本体の侵害や関与を示すものではありません。

フィッシングキットとは、本物に似せた偽画面を表示し、利用者が入力した認証情報などを集めるためのファイル一式です。
今回は偽画面だけでなく、入力値を外部へ送る処理まで組み込まれていました。

入力させるよう作られていた情報
  • 銀行サービスのユーザー名とパスワード
  • カード名義、カード番号、有効期限、セキュリティコード
  • SMSで届く認証コード(ワンタイムパスワード)
  • アクセス元のIPアドレスなどの通信情報

確認したのはChaseを装う偽ページです。Chaseの正規サイトやシステムが侵害されたという意味ではありません。

目次

WordPressのフィッシングサイトに組み込まれていた仕組み

確認した仕組みは、訪問者を選別し、標的には偽画面を見せ、入力された情報を外部へ送るよう設計された構成でした。

botMotherで調査用アクセスを選別する

コードには、botMotherというアクセス選別用の仕組みが読み込まれていました。
検索エンジンやセキュリティ調査と判断したアクセスを除外し、標的だけに偽画面を見せるための処理です。

botMotherによるアクセス選別と正規Chaseサイトへの転送先設定が記述されたPHPコード
botMotherの読み込みと、除外したアクセスを正規Chaseサイトへ転送する設定。

相手によって表示を変える手法は、一般にクローキングと呼ばれます。
サイト管理者が自分のパソコンで開いたときは正常に見えることがあり、「トップページが表示されるから安全」とは判断できません。

入力情報をTelegramへ送るPHP処理

別のPHPファイルには、Telegram Bot APIのsendMessageを使う処理がありました。
フォームの入力値を、検体に設定されたチャットIDへテキストとして渡す実装です。

フォーム入力情報をTelegram Bot APIのsendMessageへ渡すよう実装されたPHPコード
Telegram Bot APIへ入力値を渡すよう実装されたPHPコード。BotトークンとChat IDは掲載していません。
https://api.telegram.org/bot<token>/sendMessage

TelegramやBot API自体は正規のサービスです。
今回は、偽画面に入力された情報を外部へ届ける目的で悪用できる形になっていたことが問題です。

ここで断定できる範囲

「入力情報をTelegramの指定チャットへ送るよう実装されていた」とはいえます。一方、APIの成功応答、外向き通信ログ、Telegram側の受信記録がないため、「実際に送信された」とまでは断定できません。

https://core.telegram.org/bots/api#sendmessage

ZIP・MSI・DLLとScreenConnectの設定

追加調査では、米国社会保障局(SSA)を装うZIP、Windows用MSI、DLLも同じ環境から見つかりました。
検体には、ScreenConnectクライアントとみられるパッケージと、未承認の外部管理先を示す設定が含まれていました。

WordPressのファイル群と同じ場所で確認されたZIP・DLL・PHPファイル
WordPress環境で確認されたZIP・DLL・PHPファイル。検体の配布先や管理先は公開していません。

ScreenConnectは、遠隔サポートで使われる正規製品です。
製品そのものがウイルスなのではなく、利用者の同意なしに導入され、第三者の管理先へ接続する設定なら悪用につながります。

DLL内には、埋め込みMSI、Windowsの一時フォルダへの書き出し先、msiexecを起動するコードパスがありました。
ただし、DLLは通常ほかのプログラムから読み込まれる部品であり、その処理が実際に呼び出されたかは確認できていません。

msiexec.exe /i "%TEMP%\zoom-installer.msi"

CISA・NSA・MS-ISACも、ScreenConnectを含む正規の遠隔監視・管理ソフトが犯罪に悪用される事例を注意喚起しています。

https://www.cisa.gov/sites/default/files/2023-02/aa23-025a-protecting-against-malicious-use-of-rmm-software.pdf

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にフィッシングサイトが設置されたときに、特に多い疑問をまとめます。

フィッシング画面のフォルダだけ削除すれば大丈夫ですか?

大丈夫とは判断できません。侵入口、バックドア、不正ユーザー、漏洩した認証情報が残っていると再設置される可能性があります。削除前に証拠を保全し、サーバー全体を調べてください。

LinuxサーバーならMSIやDLLは安全ですか?

Linux上でWindows Installerとして動く可能性は通常低いものの、配布ファイルとして第三者へ届けられる危険があります。また、PHPのフィッシングキットはLinuxサーバー上で動作するため、サーバー侵害そのものは成立しています。

Telegram送信コードがあれば情報漏洩は確定ですか?

確定ではありません。外部へ送る実装は確認できますが、送信成功を示すAPI応答、外向き通信ログ、Telegram側の受信記録がなければ、実際の送信までは断定できません。

WordPressやPHP 7.4が侵入原因ですか?

今回の検体だけでは断定できません。WordPress環境への不正な書き込みとPHP 7.4を指定する記述は確認しましたが、侵入経路と実効PHPバージョンはログやサーバー設定で別途調べる必要があります。

WordPress改ざん・銀行フィッシングサイト調査のまとめ

今回のWordPress環境では、Chaseを装う偽画面、botMotherによるアクセス選別、Telegram Bot APIへの送信処理、
SSAを装うZIP、Windows向けMSI・DLL、ScreenConnectの外部管理先設定を確認しました。

一方、実際の利用者による入力、Telegramへの送信成功、ファイルのダウンロード、Windows端末での実行・遠隔接続、侵入経路は、検体だけでは未確認です。
事実と可能性を分けたうえで、ログと端末まで調査する必要があります。

今回の事例からわかる重要点
  • WordPressが普通に表示されても安全とは限らない
  • 不審なAPIは通信先と送信内容まで確認する
  • 正規の遠隔支援ソフトも無断導入なら攻撃に悪用され得る
  • サーバー上のPHPとWindows向け配布物を分けて調査する
  • 削除前に公開停止と証拠保全を行う
  • 侵入口とバックドアを除去するまで復旧は終わらない

見覚えのない銀行ページやPHP・ZIP・DLLを見つけたら、ファイルを開いたり消したりする前に調査を依頼してください。
対応が早いほど、ログを残し、被害拡大と再発を防ぎやすくなります。

WordPressのフィッシングサイト被害は今すぐ復旧をご依頼ください

WordPress修復マルウェア駆除トラブル専門「クイックレスキュー」

今回のようにPHP・ZIP・DLL・外部送信処理が同時に見つかった場合、
見えているファイルだけを削除しても安全とは判断できません。

公開停止、証拠保存、バックドア除去、侵入経路の確認、認証情報の変更、再発防止まで、
クイックレスキューが一つずつ調査して復旧します。被害を広げる前に、今すぐご依頼ください。

こんなお悩みはありませんか?
  • 自社ドメインに銀行の偽ログイン画面がある
  • 見覚えのないPHP・ZIP・MSI・DLLが見つかった
  • Telegramなど外部APIへの通信処理がある
  • 不正ファイルを消しても再発する
  • 情報漏洩や端末感染の有無を判断できない
  • 証拠を残したままWordPressを完全復旧したい

こんなお悩みなら最短30分ですぐに解決します!
いまなら期間限定で3つの安心保証

3つの安心保証
  • 万一復旧できない場合やマルウェア駆除できない場合は全額返金保証で安心
  • 90日間再感染保証・動作保証で安心
  • 初期費用・調査費用0円で安心

この記事を書いた専門家

こんにちは!20年以上ITエンジニアとして活動してきた
よこやま良平です。

Wordpress復旧やサイト修復、オンライン講座では
776件以上のレビューを頂いており

「すぐに復旧してくれる!」
「当日行ってくれて助かった!」など

評価は4.9/5.0と非常に高く好評です。

またWordPress、SEO、Officeなど30冊以上の書籍を出版しており、
売上ランキング1位を連続で獲得致しました。

その他これまでに3000以上のサービス・システム・サイトを作成。

多くの方の「できない」や「悩み」を解決してきました。
その観点からわかりやすく解説しています。

目次