ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

ペネトレーション テストは、システムのセキュリティを評価することを目的とした、コンピュータに対する認可された模擬サイバー攻撃です。テストは、無許可の当事者がシステムの機能やデータにアクセスする可能性を含むすべての弱点 (脆弱性とも呼ばれる) と、無許可の当事者によるシステムの機能やデータへのアクセスを許可する長所を特定するために実行されます。

侵入テストとは何ですか?

侵入テストとは何ですか?

ペネトレーション テスト (ペネトレーション テスト、ペネトレーション テスト、ペネトレーション テスト、または倫理的ハッキングとも呼ばれます) は、悪用される可能性のある脆弱性をテストするためにコンピューター システムに対する模擬攻撃です。 Web アプリケーションのセキュリティでは、Web アプリケーション ファイアウォール (Web アプリケーション ファイアウォール - WAF) を強化するためにペネトレーション テストがよく使用されます。

ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

ペネトレーション テストには、悪意のあるコード インジェクションに対して脆弱な未検証の入力などの脆弱性を発見するために、任意の数のアプリケーション システム (アプリケーション プロトコル インターフェイス - API、フロントエンド/バックエンド サーバーなど) への侵入を試みることが含まれます。

侵入テストによって得られる洞察は、WAF セキュリティ ポリシーを改良し、発見された脆弱性にパッチを適用するために使用できます。

侵入テストの段階

侵入テストのプロセスは 5 つの段階に分けることができます。

ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

1. 受動的情報の収集と追跡

侵入テストとバグ報奨金テストの最初の段階では、テスターはターゲット システムに関する情報を収集する必要があります。攻撃やテストの手法は数多くあるため、ペネトレーション テスターは収集した情報に基づいて優先順位を付け、最適な手法を決定する必要があります。

このステップには、ターゲット システムのインフラストラクチャに関する貴重な詳細 (ドメイン名、ネットワーク ブロック、ルーター、スコープ内の IP アドレスなど) を抽出することが含まれます。さらに、従業員データや電話番号など、攻撃の成功を促進する可能性のある関連情報も収集する必要があります。

この期間中にオープンソースから取得したデータから、驚くほど重要な詳細が得られる可能性があります。これを達成するために、ホワイトハッカーはさまざまな情報源を活用する必要があり、特に標的組織の Web サイトとソーシャル メディア プラットフォームに重点を置きます。テスターはこの情報を注意深く収集することで、バグ報奨金活動を成功させるための基礎を築きます。

ただし、ほとんどの組織では、バグ報奨金のプロセス中にペネトレーション テスターに​​異なるルールを課しています。法的な観点から、これらの規則から逸脱しないことが必要です。

2. 積極的に情報を収集しスキャンする

ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

ペネトレーション テスターは、IP 範囲内でどのアクティブ デバイスとパッシブ デバイスがアクティブであるかを検出します。これは通常、バグ報奨金の期間中のパッシブ収集によって行われます。この受動的な収集プロセス中に得られた情報を利用して、ペンテスターはそのパスを決定する必要があります。優先順位を付け、どのテストが必要であるかを正確に決定する必要があります。

この期間中、ハッカーはオペレーティング システム、開いているポートとサービス、およびライブ システム上のバージョン情報に関する情報を入手することを避けることができません。

さらに、組織が侵入テスターに​​よるネットワーク トラフィックの監視を許可することを法的に要求した場合、システム インフラストラクチャに関する重要な情報を少なくとも可能な限り収集できます。ただし、ほとんどの組織はこの権限を付与したくないと考えています。このような状況では、ペネトレーションテスターはルールを超えてはなりません。

3. 分析とテストのステップ

この段階で、ペネトレーション テスターは、ターゲット アプリケーションがさまざまな侵入の試みにどのように反応するかを把握した後、検出したシステムとの正常な接続を確立しようとします。アクティブになり、直接リクエストを実行しようとします。言い換えれば、これはホワイト ハット ハッカーが FTP、Netcat、Telnet などのサービスを効果的に使用してターゲット システムと対話する段階です。

この段階では失敗しましたが、ここでの主な目的は、情報収集の段階で得られたデータを確認し、メモをとることです。

4. 操作および悪用の試み

侵入テストの攻撃フェーズ

ペネトレーション テスターは、実際の悪意のあるハッカーと同じ方法でターゲット システムへのアクセスを試みるという 1 つの目的のために、以前のプロセスで収集されたすべてのデータを収集します。このため、このステップは非常に重要です。なぜなら、バグ報奨金プログラムに参加するとき、ペネトレーションテスターは本物のハッカーのように考える必要があるからです。

この段階で、ペネトレーション テスターは、ターゲット システムで実行されているオペレーティング システムを使用して、システムへの侵入を試み、ポートとこれらのポートでサービスを提供するサービスを開き、エクスプロイトの可能性を試行します。バージョンに応じて適用できる場合があります。 Web ベースのポータルとアプリケーションは多くのコードとライブラリで構成されているため、悪意のあるハッカーの攻撃範囲は広がります。この点に関して、優れたペネトレーションテスターはあらゆる可能性を考慮し、ルール内で許可されている可能性のあるすべての攻撃ベクトルを展開する必要があります。

これには、システムに損傷を与えることなく、またシステム乗っ取り中に痕跡を残さずに、既存のエクスプロイトを首尾よく柔軟に使用できるようにするための本格的な専門知識と経験が必要です。したがって、侵入テストのこの段階が最も重要なステップとなります。

5. 特権の充実に向けた取り組み

システムの強さは、その最も弱いリンクによって決まります。ホワイトハットハッカーがシステムにアクセスした場合、通常、権限の低いユーザーとしてシステムにログインします。この段階では、ペネトレーション テスターは、オペレーティング システムまたは環境の脆弱性を悪用する管理者権限を持っている必要があります。

その後、獲得した追加の権限を使用して、最終的にはドメイン管理者や管理者データベースなどのトップレベルのユーザー権限を使用して、ネットワーク環境内の他のデバイスを乗っ取ることを目的とします。

6. 報告とプレゼンテーション

ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

ペネトレーションテスターはバグハンティング結果を報告し、報酬を受け取ります

ペネトレーション テストとバグ報奨金の手順が完了したら、ペネトレーション テスターまたはバグ ハンターは、ターゲット システムで発見したセキュリティの脆弱性、次のステップ、および組織のためにこれらの脆弱性を悪用する方法を詳細なレポートで提示する必要があります。これには、スクリーンショット、サンプルコード、攻撃段階、この脆弱性がどのように発生するかなどの情報が含まれる必要があります。

最終レポートには、各セキュリティ脆弱性を解決する方法に関する解決策の推奨事項も含める必要があります。侵入テストの感度と独立性は依然として謎のままです。ホワイトハットハッカーは、この段階で取得した機密情報を決して共有してはなりません。また、虚偽の情報を提供してこの情報を悪用してはなりません。これは通常違法です。

侵入テストの方法

ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

外部テスト(外部侵入テスト)

外部侵入テストは、Web アプリケーション自体、企業 Web サイト、電子メール、ドメイン ネーム サーバー (DNS)など、インターネット上に表示される企業の「資産」を対象とします。目標は、貴重なデータにアクセスして抽出することです。

内部テスト(内部からの侵入テスト)

内部者侵入テストでは、ファイアウォールの背後にあるアプリケーションにアクセスできるテスターが内部者による攻撃をシミュレートします。この攻撃は、社内の従業員がハッカーである可能性があるという可能性を警告するだけでなく、フィッシング攻撃の後に組織内の従業員がログイン情報を盗まれるのを防ぐよう管理者に警告します。

ブラインドテスト(「ブラインド」テスト)

ブラインドテストでは、テスターに​​は対象となる企業の名前のみが与えられます。これにより、セキュリティ担当者はアプリケーション攻撃が実際にどのように展開するかをリアルタイムで把握できるようになります。

二重盲検試験

二重盲検テストでは、セキュリティ担当者はシミュレートされている攻撃について事前知識がありません。現実世界と同様に、防御を向上させるために攻撃を事前に知ることが常に可能であるとは限りません。

対象を絞ったテスト

このシナリオでは、テスターとセキュリティ担当者の両方が協力して、互いのアクションを継続的に評価します。これは貴重なトレーニング演習であり、ハッカーの観点からセキュリティ チームにリアルタイムのフィードバックを提供します。

ペネトレーションテストとWebアプリケーションファイアウォール

ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

侵入テストと WAF は独立したセキュリティ対策ですが、補完的な利点を提供します。

多くの種類のペネトレーション テスト (ブラインド テストおよびダブル ブラインド テストを除く) では、テスターはログなどの WAF データを使用して、アプリケーションの弱点を見つけて悪用できます。

次に、WAF 管理者は侵入テスト データから恩恵を受けることができます。テストが完了したら、テスト中に発見された弱点から保護するために WAF 構成を更新できます。

最後に、ペネトレーション テストは、PCI DSS や SOC 2 など、多くのセキュリティ テストのコンプライアンス要件を満たしています。PCI-DSS 6.6 などの一部の規格は、認定された WAF を使用することによってのみ満たすことができます。

ホワイトハットハッカーツールキット

ペンテストとは何ですか?ペネトレーションテストについて学ぶ (ペネトレーションテスト)

ホワイトハッカーは侵入テストを使用してエラーや脆弱性を見つけます

エシカルハッキングはスキルだけを必要とする仕事ではありません。ほとんどのホワイト ハット ハッカー (倫理的ハッカー) は、手作業によるミスを避け、作業を容易にするために特殊なオペレーティング システムとソフトウェアを使用しています。

では、これらのハッカーは何のために侵入テストを行うのでしょうか?以下にいくつかの例を示します。

Parrot セキュリティ OS

Parrot Security は、侵入テストと脆弱性評価のために設計された Linux ベースのオペレーティング システムです。クラウド対応で使いやすく、さまざまなオープンソース ソフトウェアをサポートしています。

ライブハッキングOS

Linux オペレーティング システムでもある Live Hacking は、軽量で高度なハードウェアを必要としないため、侵入テストを行う人に適しています。 Live Hacking には、侵入テストと倫理的ハッキングのためのツールとソフトウェアがあらかじめパッケージ化されています。

Nマップ

Nmap は、ネットワークを監視し、デバイス ホストとサーバーに関するデータを収集および分析するオープン ソース インテリジェンス ツール (OSINT) であり、ブラック ハッカー、グレー ハッカー、およびホワイト ハット ハッカーにとって貴重なデータとなります。

Nmap はクロスプラットフォームでもあり、Linux、Windows、macOS で動作するため、初心者の倫理的ハッカーにとって理想的です。

ウェブシャグ

WebShag も OSINT ツールです。これは、HTTPS および HTTP プロトコルをスキャンし、関連するデータと情報を収集するシステム テスト ツールです。これは、倫理的なハッカーが公開 Web サイトを介して外部侵入テストを実行するために使用されます。

侵入テストはどこで受ければよいですか?

独自のネットワークに対する侵入テストは、ネットワークに関する十分な深い知識が蓄積されていない可能性があり、創造的に考えて隠れた脆弱性を見つけることが困難になるため、最善の選択肢ではありません。独立したホワイトハッカーを雇うか、侵入テスト サービスを提供する会社のサービスを雇う必要があります。

ただし、外部の人間を雇ってネットワークに侵入することは、特に機密情報や内部アクセスを提供する場合には非常に危険です。このため、信頼できるサードパーティプロバイダーを使用する必要があります。参考までに、次のような提案があります。

HackerOne.com

HackerOne は、サンフランシスコに本拠を置く会社で、侵入テスト、脆弱性評価、プロトコル コンプライアンス テストのサービスを提供しています。

サイエンスソフト.com

テキサスに拠点を置く ScienceSoft は、脆弱性評価、ペネトレーション テスト、コンプライアンスおよびインフラストラクチャ テストのサービスを提供しています。

Raxis.com

ジョージア州アトランタに本社を置く Raxis は、ペネトレーション テストやセキュリティ コード レビューから、インシデント対応トレーニング、脆弱性評価、ソーシャル エンジニアリング攻撃防止トレーニングまで、価値のあるサービスを提供しています。


Windows 10のストアからインストールされているアプリケーションを削除する方法

Windows 10のストアからインストールされているアプリケーションを削除する方法

Windows 10 では、新しいテクノロジに基づいて構築されたアプリケーションが導入されています。これらのアプリは Windows ストア アプリと呼ばれ、この記事ではそれらをアンインストールするさまざまな方法を説明します。

Windows 10 で HungAppTimeout 値を変更する方法

Windows 10 で HungAppTimeout 値を変更する方法

このチュートリアルでは、Windows 10 で [タスクの終了] ダイアログ ボックスが表示されるまでにシステムが待機する時間を示す HungAppTimeout 値を指定する方法を説明します。

InSSIDer ソフトウェアの概要

InSSIDer ソフトウェアの概要

inSSIDer は、WiFi ネットワークがどのチャネルにあるかを視覚化します。 inSSIDer には、環境を評価し、最適なチャネルを選択するためのツールが組み込まれています。

Windows ファイアウォール コントロールを使用して Windows ファイアウォールをカスタマイズする方法

Windows ファイアウォール コントロールを使用して Windows ファイアウォールをカスタマイズする方法

Microsoft のオペレーティング システムには付属していませんが、Windows ファイアウォール コントロール (略して WFC) は引き続きオペレーティング システムの一部として使用できます。

仮想マシンの動作が遅い理由とその修正方法

仮想マシンの動作が遅い理由とその修正方法

仮想マシンの動作が遅いという問題がありますか?問題を解決する方法については、次の記事をお読みください。

Windows 10でPowerShellのバージョンを確認する方法

Windows 10でPowerShellのバージョンを確認する方法

PowerShell は、Windows 10 ユーザーにとって非常に便利なコマンド ツールの 1 つです。

TP-Link ID を作成して TP-Link WiFi 6 ルーターに追加する方法

TP-Link ID を作成して TP-Link WiFi 6 ルーターに追加する方法

TP-Link ID は、すべての TP-Link WiFi 6 ルーター、WiFi メッシュ システム、スマート ホーム デバイスで使用できるクラウドベースのアカウントです。

Windows 10 で Xbox One ゲーム コントローラーをセットアップする方法

Windows 10 で Xbox One ゲーム コントローラーをセットアップする方法

コンピュータ ゲームをプレイする最良の方法はゲーム コントローラを使用することだという人もいます。同じ意見をお持ちの場合は、Microsoft が Windows 10 で Xbox One コントローラーを簡単に使用できるようにする方法を用意していることを知ってうれしいでしょう。

Windows 10 コンピューターでシャットダウンを防ぐ手順

Windows 10 コンピューターでシャットダウンを防ぐ手順

Windows オペレーティング システムのシャットダウン プロセスは非常に簡単です。実際、Windows には、キーボード ショートカットの使用、スタート メニューとロック画面のシャットダウン オプション、パワー ユーザー メニューなど、コンピュータの電源をオフにするさまざまな方法とオプションが用意されています。

Windows サービスを停止または開始するプロセスを確認する方法

Windows サービスを停止または開始するプロセスを確認する方法

Windows サービスが停止または無効になることはあまり一般的ではありませんが、場合によっては発生する可能性があります。ここでの最大の問題は、Windows 10 でどのプロセスが停止したか、Windows サービスを更新したかを確認する方法がないことです。