Originally published on the Bug Circuit blog.

ブラウザの警告が表示されたり、訪問者が奇妙な場所にリダイレクトされたり、自分が作成していない管理者アカウントがあったり、メールが突然バウンスするようになった場合は、ハックされたものとして扱い、確認して否定できるまで対応してください。 これらの兆候単独では証明になりませんが、2つ以上が重なれば強いシグナルです。

これは、WordPressサイト、Shopifyストア、または小規模なSaaSアプリを運営していて、何か「変だ」と感じた中小企業オーナー、フリーランサー、または代理店向けです。最も一般的な12の症状、それぞれの意味、緊急度、最初に取るべき具体的な手順を平易な英語で説明します。

クイックスキャンチェックリスト

まずこの表を確認してください。CriticalまたはHighの行に該当するものは、読み進めるのを止めて今すぐ行動してください — 下の「今すぐやるべきこと」に進んでください。

兆候 通常意味すること 緊急度
ブラウザまたはアンチウイルスがサイトをブロックする マルウェアまたはフィッシングコンテンツが検出された Critical
Google Search Consoleで警告が表示される マルウェア、スパム、またはハックされたコンテンツが確認された Critical
訪問者が別のサイトにリダイレクトされる 悪意のあるリダイレクトスクリプトが注入された Critical
ホームページが改ざんされる、または身代金要求が表示される 積極的で確認された侵害 Critical
作成していない新しい管理者/ユーザーアカウントがある 攻撃者が永続的なアクセス権を持っている Critical
ファイルマネージャーに未知のPHP/スクリプトファイルがある バックドアがアップロードされた High
サイトが突然遅くなったり、ホストが利用を停止したりする サーバーリソースが乗っ取られた(例:暗号通貨マイニング) High
訪問者だけにポップアップや広告が表示される(自分には表示されない) ボットと人間で異なるコンテンツを表示するクローキングマルウェア High
ドメインからのメールがバウンスしたりスパムに分類されたりする ドメインがブラックリストに登録された、またはスパム送信に使用された Medium
顧客が購入後に詐欺被害を報告する 決済ページまたはカードデータがスキミングされた可能性 Critical
Googleで意味不明またはスパムのようなページが表示される 検索ランキングを狙った「SEOスパム」注入 Medium
ログインできない、またはログインページが異なる 認証情報が変更された、または偽のログインページが設置された High

12の兆候の詳細説明

1. ブラウザまたはアンチウイルスがサイトをブロックする

Chrome、Safari、またはアンチウイルスが「Deceptive site ahead」または「This site may harm your computer」という警告を表示する場合、Googleまたは他のセキュリティベンダーがすでにページ上のマルウェアまたはフィッシングを検出しています。GoogleのSafe Browsingサイトステータスツールで直接ステータスを確認してください — 無料で10秒で完了します。

2. Google Search Consoleにセキュリティ問題の警告が表示される

Search Consoleを設定している場合は、Security & Manual Actions > Security Issuesに移動してください。ここに表示されるメッセージ(「hacked content」「harmful content」「URL injection」)は、Google自身の確認であり、推測ではありません。Googleは一般的な原因とクリーンアップ手順をハックされたサイトのヘルプセンターに文書化しています。

3. 訪問者がランダムなサイトにリダイレクトされる

誰かがホームページにアクセスすると、カジノ、薬局、または偽の賞品サイトに移動してしまう。これはほぼ常に、テーマファイル、.htaccess、または侵害されたプラグインに注入された悪意のあるリダイレクトです。Googleからの訪問者に対してのみ発動することが多いため、直接閲覧していると気づかない可能性があります — URLを入力するのではなく、検索結果からシークレットウィンドウでテストしてください。

4. Google検索結果に意味不明またはスパムのようなページが表示される

Googleでsite:yourdomain.comを検索してください。自分が書いたことがないページ — しばしば日本語や中国語で、薬局やギャンブルのキーワードが詰め込まれたページ — が見つかる場合、それは「SEOスパム注入」です。攻撃者はドメインの検索権威性を悪用するために、ドメイン上に何千もの隠しページを作成します。

5. 作成していない管理者アカウントがある

WordPressのUsers > All Usersを確認するか、WP-CLIアクセスがある場合はwp user list --role=administratorを実行してください。「support」や「admin2」などの一般的な名前の見知らぬ管理者がいる場合、攻撃者が永続的なアクセスを作成したことを意味します — パスワードを変更しても、そのアカウントを通じて再度ログインされる可能性があります。

6. ファイルマネージャーに見慣れないファイルが表示される

wp-content/uploads/、テーマフォルダ、またはサイトルートに、存在すべきでない.phpファイルがないか確認してください — アップロードフォルダに実行可能なスクリプトが含まれているべきではありません。SSHで最近追加されたファイルを素早く見つける方法:find . -type f -mtime -14 -name "*.php"。これらは、目に見えるハックを「クリーンアップ」した後も攻撃者が再度侵入できるようにするバックドアであることが多いです。

7. サイトが突然遅くなったり、ホストが「リソース乱用」で利用を停止したりする

過剰なCPU使用に関するホスティングメール、またはサイトが極端に遅くなる場合、攻撃者が暗号通貨をマイニングしたり、サーバーリソースを使用してスパムメールを送信したりするスクリプトをインストールした可能性があります。ホスティングコントロールパネルのリソース使用グラフで、説明できない急増がないか確認してください。

8. ドメインからのメールがバウンスしたりスパムに分類されたりする

顧客メールが突然バウンスしたり、自分のテストメールがスパムに分類されたりする場合、ドメインがスパム送信に使用されてブラックリストに登録されたか、SPF/DKIM/DMARCレコードが改ざんされた可能性があります。メールスプーフィングとDNSチェッカーで無料チェックを実行して、レコードが無傷でドメインがブラックリストに登録されていないことを確認してください。

9. ポップアップ、偽のアップデートプロンプト、または広告が表示される — ただし訪問者に対してのみ

顧客が「Flash Playerが古くなっています」というポップアップや予期しない広告を見たと報告するが、自分がアクセスすると何も表示されない場合、それはクローキングの可能性が高いです:悪意のあるコードが本物の訪問者(検索ボットやサイトオーナーではない)と判断し、異なる悪意のあるコンテンツを提供します。これは検出を避けながら訪問者に感染させる古典的な手法です — この種の侵害の検出と対応に関するより深い仕組みを知りたい場合は、OWASPのガイダンスが優れた技術的参考資料です。

10. ログインできない、またはログインページが異なる

ログインURLが変更されたり、ログインフォームが少し変に見えたり、パスワードリセットが静かに失敗したりする場合、攻撃者がログイン情報を収集するためにログインページを偽のものに置き換えたか、アカウントを乗っ取った後にロックアウトした可能性があります。

11. 顧客が購入直後に詐欺被害を報告する

これはこのリストの中で最も深刻な兆候の一つです。購入直後に複数の顧客がカード詐欺を報告する場合、決済ページまたは決済統合が改ざんされ(「ウェブスキマー」)、リアルタイムでカード情報をキャプチャされた可能性があります。これを重大な、すべてを中断するインシデントとして扱ってください — これは実際に人々に財務的な損害を引き起こす可能性があります。

12. ホームページが改ざんされる、または身代金要求がある

最も明白な兆候:ホームページがメッセージ、旗、グループのロゴ、または身代金要求に置き換えられる。これはファイルへの書き込みアクセス権を持つ積極的な侵害を確認するものです。CISAのインシデント報告ガイダンスでは、特に顧客データが関与する可能性がある場合、このようなインシデントをいつどのように報告するかを説明しています。

今すぐやるべきこと

上記の兆候のうち2つ以上が一致する場合、次の順序で進めてください:

  1. まず現在の(侵害された)状態のバックアップを取る — 証拠が必要になり、クリーンな復元ポイントと比較する必要があるかもしれません。
  2. すべてのパスワードを変更する:ホスティングアカウント、CMS管理者、データベース、FTP/SFTP、およびすべてのチームログイン。各々に一意で長いパスワードを使用してください。
  3. 作成していないアカウントとファイルを確認する(上記の#4と#5の兆候)し、見慣れないものをすべて削除してください。
  4. ホストにマルウェアスキャン/クリーンアップツールを依頼する — ほとんどの信頼できるホストがこれを持っており、共有ホスティング上の他のサイトが侵入口だったかどうかも教えてくれます。
  5. DNSとメールレコードが変更されていないことを確認するメールスプーフィングチェッカーを使用。
  6. サイトがクリーンであると確信したら、Google Search Consoleでレビューをリクエストする — そうすればブラウザ警告と検索フラグが解除されます。
  7. 金銭、顧客データ、または決済情報が関与していた場合は、すべてを文書化し、法的/規制上の通知義務を検討してください。

これを自分で行うことに自信がない場合 — そしてほとんどの非技術的なオーナーは自信がないでしょう — それこそが手動監査が埋めるギャップです。完全なステップバイステップのプロセス(チェックリストだけでなく)については、ウェブサイトがハックされた場合の完全ガイドを参照してください。まずは無料で読みたい場合は、無料のウェブサイトセキュリティチェックで、実際に重大な問題が発生しているかどうかを、カード情報なしで確認できます。

主要なポイント

  • 上記のチェックリストから2つ以上の兆候(特にCriticalとマークされたもの)がある場合、「時間があるとき」ではなく今すぐ行動する必要があります。
  • ハックされたサイトには、ほぼ常に隠しバックドアファイルまたは追加の管理者アカウントがあります — 目に見える症状をクリーンアップするだけでは、目に見えない原因を見つけないため、数日以内に再ハックされる理由です。
  • バウンスしたメールとブラックリストはDNSレベルの症状です — ただメールを再送信するのではなく、SPF/DKIM/DMARCレコードを確認してください。
  • Google Search ConsoleのSecurity Issuesレポートは、1分以内で得られる最も信頼できる無料の確認です。
  • 詐欺が関与している場合、または何を見ているかわからない場合は、推測するよりも訓練された2人目の目が優れています — $49の手動監査は、暗闇で症状を追いかけるのではなく、実際の原因を発見し文書化します。

Bug Circuitの$49 Circuit監査では、実際のエンジニアがサイトを手動で確認し、これらの兆候のうちどれが本物かを確認し、バックドアまたは根本原因を見つけ、正確な修正を含む平易な英語のレポートを提供します — 自分で推測するのではなく、専門家に確認と修正を依頼したい場合は、料金を参照してください。