攻撃者が内部情報をまったく持たずにシステムを侵害できる方法を考えたことがありますか? Anonymous や Lizard Squad に入らなくても、ブラックボックス侵入テストを学ぶことは、おそらく彼らの立場に最も近い体験になるでしょう。Sekurno では、脆弱性を発見する芸術と科学を専門としており、あなたを私たちの世界にお連れできることを嬉しく思っています。
サイバーセキュリティの初心者でも、経験豊富な侵入テスト担当者でも、このガイドは誰にとっても役立つ内容になっています。初心者はプロセスをわかりやすく説明する明確なステップバイステップのガイドを見つけ、専門家は新たな視点を得て基本原則を再確認することができます。会社名やドメインだけから始めて、体系的に層を剥がして脆弱性を暴いていくことを想像してみてください。
偵察からレポート作成まで、ブラックボックス ペネトレーション テストのライフサイクル全体を説明して、各フェーズが前のフェーズを基盤としてどのように脆弱性を明らかにし、実用的な結果をもたらすかを示します。最後には、ブラックボックス ペネトレーション テストが単なる技術的な演習ではなく、進化する脅威に先手を打つための戦略的必要性である理由がわかります。
編集者注: この記事の内容は情報提供のみを目的としています。
ブラックボックス侵入テストは、テスターがアーキテクチャ、ソース コード、構成などの内部動作に関する事前の知識なしにシステムのセキュリティを評価するサイバーセキュリティ手法です。ブラックボックス侵入テストは、外部の攻撃者の視点をシミュレートすることで、システムが現実世界の脅威にどの程度さらされているかについて貴重な洞察を提供します。テスターは、アプローチを構築するために、広く認められたフレームワークと方法論に頼ることがよくあります。一般的なオプションは次のとおりです。
OWASP Web セキュリティ テスト ガイド: Web アプリケーションに焦点を当てます。
PTES (侵入テスト実行標準) : エンドツーエンドのテスト プロセスをカバーします。
OSSTMM (オープンソース セキュリティ テスト方法論マニュアル) : 測定可能なセキュリティ テストを保証します。
方法論の選択は、アプリケーションの種類、クライアントの要件、エンゲージメントの範囲などの要因によって異なります。
私たちは常に偵察 (偵察) フェーズから始めます。この基本的なステップでは、ターゲットに関する公開情報を可能な限り収集します。実際の攻撃者がシステムにアプローチする方法を模倣することで、露出している資産を特定し、潜在的な侵入ポイントを発見し、攻撃対象領域をマッピングします。侵入テストの偵察フェーズには、パッシブとアクティブの 2 つの主な偵察タイプがあります。
パッシブ偵察では、システムに直接介入することなく、ターゲットに関する情報を収集します。このアプローチは検出のリスクを最小限に抑えるため、ターゲットの表面領域をマッピングするための理想的な出発点となります。パッシブ偵察は、公開されている情報を活用することで、ステルス性を維持しながら貴重な洞察を提供します。以下は、よく使用されるツールの例です。
crt.sh
隠されたサブドメインを発見するための強力なツールの 1 つは、証明書の透明性 (CT) ログ検索エンジンであるcrt.shです。CT ログは、ドメインに発行された SSL/TLS 証明書を公開的に追跡し、公開されることを意図していないサブドメインを明らかにすることができます。
たとえば、2018 年に研究者は CT ログを使用して、悪用される可能性のあるステージング環境を含む、 Tesla に関連する意図しないサブドメインを発見しました。crt.sh を活用することで、倫理的なハッカー、研究者、および侵入テスト担当者は、重大なセキュリティ リスクをもたらす可能性のある誤って構成された資産や公開された資産を迅速に特定できるため、ブラック ボックス侵入テストの偵察フェーズでは不可欠なツールになります。
DNSダンプスター
DNSDumpster は、A、MX、TXT レコードなどのドメインの DNS レコードや、関連する IP アドレスに関する詳細情報を提供する強力な DNS 偵察ツールです。これは、偵察中に攻撃対象領域をマッピングしたり、隠れた資産を特定したり、悪用される可能性のある潜在的な構成ミスを発見したりする際に特に役立ちます。
Google ドーク
Google Dorks は、Google によってインデックスされた公開情報をテスターが発見できるようにする高度な検索演算子ですsite:
、 filetype:
、 intitle:
、 inurl:
などの演算子を使用することで、テスターは対象組織に関連する機密ファイル、ディレクトリ、またはページを見つけることができます。
たとえば、 site:example.com filetype:pdf
ようなクエリでは、公開されている PDF ドキュメントが明らかになる可能性があり、 intitle:"index of"
では保護されていないディレクトリが明らかになる可能性があります。Google Dorks は、テストの初期段階で潜在的なリスクを特定するための、非常に効果的でありながら過小評価されがちな偵察ツールです。
初段
インターネットに接続されたデバイスやサービスを発見するための専門検索エンジンで、ターゲットのオンライン インフラストラクチャに関する独自の洞察を提供します。従来の検索エンジンとは異なり、Shodan は、公開されているサーバー、IoT デバイス、データベース、構成ミスのあるシステムなどのデバイスをインデックス化します。たとえば、簡単なクエリで、公開されているシステムで実行されている開いているポート、保護されていないデータベース、古いソフトウェアを見つけることができます。結果を IP、場所、サービス タイプでフィルタリングできるため、Shodan は偵察フェーズの侵入テスト担当者にとって非常に役立つツールです。
デハッシュ / Intelx
これらのツールは、認証情報や機密文書などの漏洩したデータを特定するのに役立ちます。どちらも、フル機能を使用するにはサブスクリプションが必要です。Intelligence X は、ダーク ウェブとパブリック インターネットのコンテンツ、侵害、および過去の Web サイト データをインデックス化します。
クエリの例:
[email protected]
すると、その電子メール アドレスに関連する侵害や言及が見つかります。example.com
アクセスして、漏洩した資格情報や文書を発見します。
私はPwnedされたのか (HIBP)
既知のデータ侵害で個人データが侵害されたかどうかを確認する無料のオンライン サービス。認識を高め、資格情報関連のリスクを軽減するために広く使用されています。
ウェイバックURL
Waybackurls は、Wayback Machine からアーカイブされた URL を取得し、ターゲットの過去の Web 構成を垣間見ることができるツールです。ライブ サイトでは表示されなくなっているものの、依然としてセキュリティ リスクをもたらす可能性のある、隠れたリソース、古いページ、エンドポイントを発見できます。これらのアーカイブされた URL を分析することで、テスターは、他の方法では気付かれない可能性のあるパターン、レガシー脆弱性、または忘れられた資産を特定できます。
コマンド例:
echo "sekurno.com" | waybackurls > urls.txt
アクティブ偵察では、ターゲットのシステムと直接やり取りして詳細な情報を収集します。このアプローチは、侵入テストや攻撃計画に正確で実用的な洞察を提供しますが、ターゲットのシステムが疑わしいアクティビティをログに記録したり警告したりする可能性があるため、検出されるリスクが高くなります。これは、脆弱性を特定し、ターゲットのインフラストラクチャの技術的な詳細を理解するために不可欠です。
サブドメインを識別することは、侵入テストの重要なステップです。サブドメインには、脆弱であったり誤って構成されている可能性のあるサービスやアプリケーションがホストされていることが多いためです。サブドメインは、すぐには表示されない管理パネルや API などのエントリ ポイントを提供する場合もあります。
サブリスト3r
サブドメイン列挙に広く使用されているオープンソース ツールです。検索エンジン、DNS レコード、API などの複数のソースからデータを集約し、ターゲット ドメインにリンクされているサブドメインを識別します。Google、Bing、VirusTotal などのプラットフォームをクエリできるため、組織の外部攻撃対象領域を迅速にマッピングするための信頼性の高いオプションとなります。
コマンド例:
python3 sublist3r.py -d sekurno.com
サブドメインを特定したら、 digやNmapなどのツールを使用して、開いているポート、サービス、オペレーティング システムを明らかにします。この手順は、ターゲットの攻撃対象領域をマッピングするのに役立ちます。
dig (ドメイン情報探索者)
DNS レコードを照会するために使用されるコマンドライン ツール。A、MX、TXT、CNAME、NS レコードなど、ドメインの DNS 設定に関する詳細情報を提供します。digはネットワークのトラブルシューティングと偵察に欠かせないツールで、テスターが構成を検証し、構成ミスを特定し、ドメインのインフラストラクチャに関する洞察を収集できるようにします。そのスピードと精度により、DNS 分析の頼りになるツールとなっています。
コマンド例:
dig sekurno.com
Nマップ
ネットワーク検出と監査のための多目的ツール。Nmap は開いているポート、サービス、およびオペレーティング システムを識別し、ターゲットの攻撃対象領域に関する重要な情報を提供します。
基本スキャン:
nmap <IP address>
ポートスキャン:
nmap -p <port> -sV <IP address>
アグレッシブスキャン: OS検出、サービス検出、スクリプトを組み合わせたもの
nmap -A <IP address>
隠しページ、構成ファイル、管理パネルを発見すると、侵入テストに重要な洞察が得られます。Dirb、 Gobuster 、 ffufなどのツールがよく使用されます。
ディルブ
Dirb は、ディレクトリと URL を総当たり攻撃して、Web サーバー上の隠されたコンテンツや保護されていないコンテンツを発見する Web コンテンツ スキャナーです。事前設定されたワードリストまたはカスタム ワードリストを使用することで、Dirb は、公開されていないが機密情報や脆弱性をさらす可能性のあるファイル、ディレクトリ、エンドポイントを識別できます。侵入テスト中に Web サーバーの構造をマッピングするための簡単で強力なツールです。
共通ディレクトリの基本コマンド:
dirb http://example.com
カスタム単語リスト:
dirb http://example.com /usr/share/wordlists/dirb/common.txt
詳細オプション:
dirb https://example.com -X .php,.html -N 403
ディレクトリ列挙の代替ツール
その他の一般的なツールは次のとおりです。
ゴバスター
Gobuster は、URL、ディレクトリ、DNS サブドメインなどをブルートフォース攻撃するための高速で効率的なツールです。大きなワードリストを処理できるように設計されており、Web サーバー上の隠れたリソースをすばやく発見するのに優れています。Gobuster は再帰スキャンをサポートしているため、侵入テスト中に深くネストされたディレクトリやサブドメインを調査するのに特に便利です。
gobuster dir -u http://example.com -w /path/to/wordlist.txt
ffuf (ファスターユーフール)
ウェブ サーバー上のディレクトリ、パラメータ、その他の非表示のリソースを検出するための多用途で高速なファザーです。応答コード、サイズ、または単語に基づく高度なフィルタリング オプションをサポートしているため、テスターは関連する結果を効率的に特定できます。柔軟性の高い ffuf は、ディレクトリ列挙、パラメータ ファジング、API エンドポイント検出などのタスクに使用できます。
ffuf -u http://example.com/FUZZ -w /path/to/wordlist.txt
最後に、HTTP 応答ヘッダーを分析して、使用中のソフトウェア、フレームワーク、またはサーバー構成を識別します。このステップでは詳細な分析情報が得られますが、前のフェーズよりも具体的です。
ワッパライザー
ウェブサイトで使用されるフレームワーク、CMS プラットフォーム、プログラミング言語、分析ツール、その他のテクノロジーを検出するブラウザ拡張機能およびツール。ソフトウェア バージョンを識別することで、テスターは公開データベース内の既知の脆弱性を相互参照できます。
偵察の後はスキャン フェーズです。ここでは、テスト担当者がターゲットの脆弱性を積極的に分析します。自動化ツールは、さまざまな脆弱性を迅速に特定するために不可欠です。これらのツールは堅牢で、頻繁に更新され、進化する脅威に合わせて調整されています。一般的に使用されるスキャナーには次のものがあります。
Burp Suite はさまざまなソフトウェア フレームワークや脆弱性タイプに対応する広範な機能を備えているため、Web アプリケーションのスキャンには主に Burp Suite を使用します。
げっぷスイート
Burp Suite は、Web アプリケーション テストで最も広く使用されているツールの 1 つです。自動機能と手動機能を組み合わせて、一般的な脆弱性と高度な脆弱性を検出するのに適しています。主な機能は次のとおりです。
脆弱性検出: SQL インジェクション、XSS、コマンド インジェクション、ディレクトリ トラバーサル、認証の欠陥など。
API テスト: 壊れたアクセス制御、JSON インジェクション、安全でないエンドポイントを識別します。
高度なテスト: CSRF、XXE、SSRF、パラメータ改ざんなどの脆弱性を検出します。
BApp Store 拡張機能: 脆弱性スキャン、認証テスト、ペイロード生成用のカスタム ツールを使用して機能を強化します。
人気のBurp拡張機能の概要
テスト
SSL/TLS 構成のテストには、オープンソースのコマンドライン ツールであるtestssl.sh を使用します。このツールは、次の項目を評価します。
弱いまたは非推奨のプロトコル (SSLv2、SSLv3、TLS 1.0 など)。
証明書の構成が間違っている (例: 自己署名、期限切れ)。
Heartbleed、BEAST、POODLE などの脆弱性。
HSTS ヘッダーなどの HTTPS 構成が欠落しています。
コマンド例:
[testssl.sh](http://testssl.sh) <domain>
偵察フェーズが完了すると、脆弱性の特定段階に移行します。このフェーズでは、収集したデータを分析して、誤った構成、古いソフトウェア、脆弱な認証情報などのセキュリティ上の弱点を特定します。自動スキャン ツールと手動の調査を組み合わせることで、実際のシナリオで悪用される可能性のある脆弱性を正確に特定できます。
OWASP WSTG は、 Web アプリケーションのセキュリティをテストするための構造化された方法論を提供する包括的なリソースです。次のような一般的な脆弱性テストを通じてテスターをガイドすることで、体系的かつ徹底的な評価を保証します。
WSTG に準拠することで、テスターは脆弱性識別プロセスの一貫性と深さを確保できます。
ある調査で、Web サーバーが古いバージョンのKeycloakを実行していることがわかりました: "version": "23.0.4"
。さらに分析を進めると、このバージョンは次のような複数の既知の脆弱性 (CVE) の影響を受けていたことが判明しました。
分析の結果、攻撃者はこれらの脆弱性を利用して次のことができることが判明しました。
4 番目のステップであるエクスプロイトでは、脆弱性特定フェーズで発見された内容を使用して、実際の攻撃をシミュレートします。このプロセスでは、攻撃者が脆弱性を悪用してシステムを侵害したり、データを盗んだり、不正アクセスを取得したりする方法を示します。制御された環境で実行されるエクスプロイトにより、特定された脆弱性の潜在的な影響に関する貴重な洞察が得られます。
エクスプロイトは、前のフェーズで特定された脆弱性をテストして、その有効性を確認し、潜在的な結果を理解することから始まります。たとえば、最近の評価では、Keycloak の古いバージョンにリンクされた公開 CVE をいくつか発見しました。これらの脆弱性の中で、オープン リダイレクトの問題を正常に検証しました。Burp Suite Collaborator を使用して、リダイレクト シナリオをテストすることで脆弱性を実証しました。以下に示すように、サーバーの応答により、エクスプロイトの有効性が確認されました。
エクスプロイトフェーズでは、次のようなさまざまな目的を達成するために脆弱性がどのように使用されるかが強調されます。
悪用フェーズに続いて、特定された問題に対処するための明確な修復手順が不可欠です。Keycloak の例では、既知の脆弱性を修正するために、クライアントにソフトウェアの最新バージョンへのアップグレードを推奨しました。
エクスプロイトの実行中は、次のようなシナリオに遭遇することがよくあります。
ペネトレーションテストのライフサイクルの最終段階は、レポート作成と修復のフェーズです。この段階では、すべての発見事項を、脆弱性、その重大度、およびリスクを軽減するための実用的な推奨事項をまとめた詳細なレポートにまとめます。適切に作成されたレポートは、技術チームと関係者の間の溝を埋め、脆弱性が効果的に理解され、対処されることを保証します。
効果を最大化するには、レポートはベスト プラクティスに準拠する必要があります。
Pwndocなどのツールは、カスタマイズ可能なテンプレートを提供し、一貫性を確保することで、レポート作成プロセスを効率化します。このようなツールを使用すると、レポートの生成が高速化され、プロフェッショナルなフォーマットが維持されます。
インスピレーションを得るには、プロフェッショナルなペンテスト レポートの例を紹介するPublic Pentesting Reports Repository を参照してください。
アクセス制御の不具合に関する脆弱性レポートの例は次のとおりです。
CVSS 計算機を使用して特定されたような重大度の高い脆弱性の場合、レポートには次の内容が含まれます。
包括的な説明: 問題、その悪用可能性、およびその影響についての詳細な説明。
推奨される修正: 脆弱性を効果的に修正するための手順。
開発者を支援するために、 OWASP ASVS (アプリケーション セキュリティ検証標準)などのリソースにリンクすることで、開発者が構造化されたフレームワークにアクセスできるようになります。ASVS は、安全なアプリケーションの開発、テスト、保守のための詳細なセキュリティ要件とガイドラインを提供し、プロジェクトを業界標準に合わせます。
ブラックボックス ペネトレーション テストは、組織の外部の脆弱性に関する貴重な洞察を提供しますが、テスト担当者が対処しなければならない特定の課題と制限が伴います。
ブラックボックス テストはリソースを大量に消費し、テスターがシステムに関する内部知識を持っていないため、本質的に制限があります。主な制限は次のとおりです。
ヒント: ブラックボックス テストを他のアプローチ (グレーボックス テストやホワイトボックス テストなど) と組み合わせると、これらの制限を軽減できます。
ブラック ボックス テストは貴重な外部視点を提供しますが、多層テスト戦略の一部として使用すると最も効果的です。組織はテスト方法論を組み合わせることでメリットを得ることができます。
プロのヒント: ホワイト ボックスとブラック ボックスの両方の手法を取り入れた階層化テストにより、内部および外部の脆弱性を徹底的に評価できます。
人工知能 (AI) をペネトレーションテストに統合することで、脆弱性の特定方法が変わりました。AI 搭載ツールは、反復タスクを自動化し、大規模なデータセットを処理することで、テストの効率を高めます。主な考慮事項は次のとおりです。
洞察: AI 駆動型ツールと人間のテスターを組み合わせることで、効率性とコンテキスト洞察のバランスが取れ、より効果的な侵入テストの結果が得られます。
ブラックボックス侵入テストは、組織の外部セキュリティ体制を評価するための重要なアプローチです。実際の攻撃シナリオをシミュレートすることで、外部の攻撃者が悪用する可能性のある脆弱性に関する洞察が得られます。このブログ投稿では、ブラックボックス侵入テストのライフサイクル全体を説明して、その主要な段階と課題に焦点を当てました。
偵察: 受動的および能動的な手法を使用してターゲットに関する情報を収集し、攻撃対象領域をマッピングします。
スキャン: Burp Suite やtestssl.shなどの自動化ツールを使用して脆弱性を効率的に特定し、複雑な問題については手動で調査します。
脆弱性の特定: 調査結果を分析して、古いソフトウェア、誤った構成、弱い資格情報などの弱点を特定し、OWASP WSTG などのフレームワークを活用して体系的なテストを実行します。
エクスプロイト: 攻撃者が脆弱性を悪用してシステムを侵害する方法を実証し、発見事項が検証され、実行可能であることを確認します。
レポート: 脆弱性を分類し、その影響を概説し、修復のための実用的な推奨事項を提供する包括的なレポートを提供します。
ブラックボックス侵入テストには利点があるものの、特定の内部脆弱性を発見できない、時間的制約や防御策による課題があるなどの制限があります。ただし、ホワイトボックステストやレッドチームなどの方法論と組み合わせると、より階層化された徹底的なセキュリティ評価が可能になります。
AI などの新興テクノロジーは、タスクを自動化し、膨大なデータセットを分析することで侵入テストの効率を高めていますが、状況の理解と戦略的な意思決定には人間の専門知識が依然として不可欠です。
ブラックボックス侵入テストに構造化されたアプローチを採用することで、組織は脆弱性を積極的に特定して対処し、外部の脅威に対する防御力を強化することができます。Sekurno では、進化するセキュリティの課題に直面しても企業が回復力を維持できるよう、徹底的かつ実用的な評価を提供しています。
ブラックボックスペネトレーションテストとは何ですか?
ブラックボックス ペネトレーション テストは、事前の内部知識なしにシステムの脆弱性を特定するために外部からの攻撃をシミュレートします。
ブラックボックスペネトレーションテストはどのように実施されますか?
アプリケーションとネットワークのセキュリティ体制を評価するために、偵察、脆弱性の特定、スキャン、および悪用が行われます。
ブラックボックステストは、グレーボックステストやホワイトボックステストとどう違うのでしょうか?
ブラックボックス侵入テストではどのようなツールが使用されますか?
一般的なツールには、 Nmap 、 Burp Suite 、 Metasploit 、 Shodanなどの OSINT リソースなどがあります。
ブラックボックスペネトレーションテストが重要なのはなぜですか?
攻撃者の視点を提供し、悪用される前に外部の脆弱性を特定して軽減できるようにします。
この記事は、 SekurnoのセキュリティテストエンジニアであるAnastasiia Tolkachovaが作成し、 Sekurnoの共同設立者兼 CTO であるAlex Rozhniatovskyiがレビューしました。Anastasiia は、侵入テストとセキュリティ評価の実務経験を 5 年以上持っています。彼女は、ウェブアプリケーション、インフラストラクチャ (オンプレミスとクラウドの両方)、モバイルプラットフォーム (iOS と Android) のテストを専門としています。彼女の専門知識は、ブラックボックス、グレーボックス、ホワイトボックスの方法論に及び、脆弱性評価とソースコードセキュリティレビューの熟練度も備えています。Alex は、開発とサイバーセキュリティの分野で 7 年の経験があります。彼は、安全なコーディングプラクティスの推進に専念する AWS オープンソース貢献者です。彼の専門知識は、ソフトウェア開発とセキュリティのギャップを埋め、最新のウェブアプリケーションの保護に関する貴重な洞察を提供します。