サイトアイコン IT & ライフハックブログ|学びと実践のためのアイデア集

攻撃者はWebサイトをどう見つけるのか:主な手口と防御チェック

close up photo of guy fawkes mask

Photo by NEOSiAM 2024+ on Pexels.com

攻撃者がWebサイトを狙うとき、最初から特定の会社だけを詳しく調べるとは限りません。外部から見えるポートやサービス、検索結果に残った管理画面、古いソフトウェアの情報、人の操作ミスなどを手がかりにして、攻撃しやすそうな候補を絞り込みます。

この記事では、元記事で扱っていた代表的な発見手法を、防御側が自社サイトを点検するための視点で整理します。攻撃の手順を覚えることではなく、「外から何が見えているか」を理解し、不要な露出を減らすことが目的です。

攻撃者が見るのは「外から確認できる情報」

攻撃対象を探す入口は一つではありません。攻撃者は、インターネット上に公開されている情報を広く調べ、弱点になりそうな箇所を探します。ここでいう弱点とは、必ずしもすぐ侵入できる欠陥だけではありません。管理画面の場所、古いバージョン表示、不要なファイルの公開など、次の行動につながる情報も含まれます。

外から見える手がかり なぜ注意が必要か 防御側の確認ポイント
公開ポートやサービス どの機能が外部に開いているか推測される 必要なサービスだけを公開しているか確認する
管理画面やログイン画面のURL 認証画面への攻撃や総当たりの入口になりやすい アクセス制限、認証、通知設定を見直す
古いソフトウェアの情報 既知の脆弱性を調べる手がかりになる CMS、プラグイン、サーバを更新する
設定ファイルやバックアップ 内部情報や認証情報が含まれるおそれがある 公開ディレクトリに不要ファイルを置かない
従業員や運用に関する情報 フィッシングの文面やなりすましに悪用される メール認証、教育、多要素認証を整える

防御側にとって重要なのは、これらを「攻撃の手順」としてではなく、自社サイトを外部から点検するためのチェック項目として扱うことです。関連する基礎知識は、Webシステムの脆弱性を見つける方法と攻撃手法の基本でも整理しています。

公開サービスは自動的に見つけられることがある

インターネット上には、多くのWebサイトやサーバが公開されています。攻撃者は、手作業で一つずつ探すだけでなく、検索サービスやスキャンツールを使って、外部から見えるサービスを効率よく把握しようとします。

ポートとは、サーバ上のサービスにつながる入口のようなものです。たとえばWebサイトでは、HTTPやHTTPSに使われるポートが開いていることがあります。必要なポートが開いていること自体は自然ですが、管理用の入口や古い検証環境まで公開されていると、余計な手がかりになります。

Shodanのような検索サービス

Shodanのような検索サービスは、インターネットに接続された機器やサーバの公開情報を検索できる仕組みです。公開ポート、サービス名、応答情報などが手がかりになるため、古いサービスや想定外に公開された機器が見つかる場合があります。

防御側では、自社のドメインやIPアドレスに関係する公開情報を確認します。不要なサービスが外部に出ていないか、意図しない管理画面が見えていないか、検証用の環境が残っていないかを点検することが大切です。

Nmapによるポート確認

Nmapは、許可されたネットワークやサーバに対して、どのポートが開いているかを確認するために使われる代表的なツールです。運用管理の棚卸しにも使われますが、同じ情報は攻撃者にとっても手がかりになります。

nmap -p 80,443 example.com

この例では、対象サーバでHTTPとHTTPSのポートが応答するかを確認します。実務では、必ず自社が管理している範囲、または明確に許可を得た範囲だけで確認します。そのうえで、不要な公開ポートを閉じる、管理画面の接続元を制限する、古いサービスを更新するといった対策につなげます。

検索エンジンに残る情報も点検対象になる

検索エンジンを使った情報収集では、通常のキーワード検索だけでなく、検索演算子を使って条件を絞り込むことがあります。検索演算子とは、検索対象のサイトやURLの一部などを指定するための記号や指定方法です。

Google Dorkingと呼ばれる手法では、特定の条件に合うページやファイルを探します。攻撃者は、管理画面らしいURL、誤って公開されたファイル、機密情報につながる文字列などを探すことがあります。

site:example.com inurl:admin

この例では、example.comの中で、URLにadminを含むページを探す意図があります。このような検索は、自社サイトの公開状態を確認する目的でも使えます。検索結果に出してはいけないページが見つかった場合は、アクセス制御、認証、noindex設定、不要ファイルの削除を見直す必要があります。

公開してはいけないファイルの確認

設定ファイル、バックアップファイル、パスワードを含むテキスト、検証用ファイルなどがWeb上に残っていると、攻撃の足がかりになります。とくに、作業中に一時的に置いたファイルや、移行時に残したバックアップは見落とされやすい項目です。

古いソフトウェアとバナー情報は手がかりになる

古いWebサーバやソフトウェアは、既知の脆弱性を調べる入口になりやすい領域です。攻撃者は、HTTPヘッダーやサーバの応答に含まれる情報から、利用されているソフトウェアやバージョンを推測することがあります。

HTTPヘッダーとは、Webサーバとブラウザがやり取りするときに本文とは別に送られる情報です。設定によっては、サーバの種類や関連ソフトウェアの情報が含まれることがあります。

バナーグラビングで見える情報

バナーグラビングとは、サーバやネットワーク機器の応答から、サービス名やバージョン情報などを確認する方法です。元記事では、HTTPレスポンスヘッダーからApacheやNginxなどの情報を確認する例が扱われていました。

防御側では、不要なバージョン表示を抑える、サーバやCMSを更新する、使っていないプラグインを削除する、定期的に構成を棚卸しすることが有効です。これだけで攻撃を完全に防げるわけではありませんが、攻撃者に余計な手がかりを与えにくくできます。

人の判断ミスを狙う攻撃にも備える

技術的な弱点だけでなく、人の判断や操作ミスも攻撃対象になります。ソーシャルエンジニアリングとは、相手の信頼や思い込みを利用して、情報を聞き出したり操作を促したりする攻撃の考え方です。

フィッシングでは、偽のメールや偽のWebサイトを使い、ID、パスワード、認証情報などを入力させようとします。Webサイト運営では、管理者や担当者が不審なメールを見分けられるようにすること、ログイン情報を使い回さないこと、多要素認証を設定すること、メール認証を整えることが重要です。

フィッシング対策の文脈では、DMARCを含むメール認証の基本もあわせて確認すると理解しやすくなります。

防御側が優先して確認したいこと

攻撃者に見つかりやすい状態を減らすには、特別な対策だけでなく、日々の運用管理が欠かせません。最初からすべてを完璧にしようとするより、外部から見える範囲、古い構成、人がだまされやすい場面を順番に確認すると進めやすくなります。

  1. 外部公開しているポートとサービスが必要最小限か確認する
  2. 管理画面、検証環境、不要ページが検索結果に出ていないか確認する
  3. 古いCMS、プラグイン、ライブラリ、サーバソフトウェアを更新する
  4. 不要なファイルやバックアップが公開ディレクトリに残っていないか確認する
  5. 担当者がフィッシングや不審なログイン通知に対応できるようにする
  6. ログ、アラート、バックアップの確認手順を決めておく

これらは一度だけ確認すれば終わるものではありません。Webサイトの更新、機能追加、担当者の変更に合わせて、継続的に見直すことが重要です。とくに新しい機能を公開した直後や、外部サービスとの連携を追加した直後は、意図しない公開範囲が増えていないか確認しておくと安心です。

まとめ

攻撃者は、自動化ツール、検索エンジン、古いソフトウェアの情報、フィッシングなどを組み合わせて、攻撃しやすいWebサイトを探します。防御側は、外から見える情報を把握し、不要な公開範囲を減らし、更新管理とユーザー教育を続けることで、狙われやすい状態を減らせます。

greedenでは、アイデアを形にするシステム開発やソフトウェア設計を支援しています。セキュリティを意識した設計、既存システムの改善、業務に合わせた開発相談があれば、こちらからお問い合わせください

モバイルバージョンを終了