侵入テストは、アプリケーションのセキュリティ脆弱性を実際に評価し、攻撃者が脆弱性を悪用してシステムを侵害できるかどうかを確認するプロセスです。
一般に、これは研究者、開発者、セキュリティ専門家が、悪意のある者によるアプリケーションや他の IT リソースへの攻撃や侵害を可能にする脆弱性を特定して対処するのに役立ちます。
実際には、侵入テストには、サーバー、ネットワーク、Web サイト、Web アプリなどで複数のセキュリティ テストまたは評価を実行することが含まれます。これはシステムやテストの目的によって異なる場合がありますが、一般的なプロセスには次の手順が含まれます。
- 攻撃者が悪用する可能性のある潜在的な脆弱性と問題のリスト
- 脆弱性のリストに優先順位を付けるか整理して、潜在的な攻撃の重大度、影響、重大度を判断します。
- ネットワークまたは環境の内外から侵入テストを実行して、特定の脆弱性を利用してネットワーク、サーバー、Web サイト、データ、またはその他のリソースに不正にアクセスできるかどうかを判断します。
- システムに不正にアクセスできる場合、リソースは安全ではないため、それぞれのセキュリティ脆弱性に対処する必要があります。問題に対処した後、別のテストを実行し、問題がなくなるまで繰り返します。
侵入テストは脆弱性テストと同じではありません。
チームは潜在的なセキュリティ問題を特定するために脆弱性テストを使用しますが、ペネトレーション テストでは欠陥を見つけて悪用し、システムを攻撃できるかどうかを確認します。理想的には、侵入テストは重大なセキュリティ上の欠陥を検出し、ハッカーが見つけて悪用する前に修正する機会を提供する必要があります。
システムが安全かどうかを確認するために使用できる、商用および無料の侵入テスト ツールがいくつかあります。適切なソリューションを選択できるように、以下に最高の無料侵入テスト ツールのリストを示します。
カルキノス
Karkinosは、文字のエンコードまたはデコード、ファイルやテキストの暗号化または復号化、その他のセキュリティ テストの実行を可能にする、軽量で効率的な侵入テスト ツールです。一般に、Karkinos は複数のモジュールのバンドルであり、これらを組み合わせると、単一のツールから幅広いテストを実行できるようになります。
そのため、侵入テスト用の「スイス アーミー ナイフ」と呼ぶ人もいます。
主な特徴
- いくつかの標準形式で文字をエンコードまたはデコードします。
- 編集または置き換え可能な 1,500 万以上の侵害されたパスワードまたは一般的なパスワードの組み込みワードリストを使用して、ハッシュを同時にクラックします。
- SHA1、SHA256、SHA512、MD5 などの一般的なハッシュを生成します。
- Linux および Windows と互換性があります。
- リバースシェルなどを操作してキャプチャします。
シフター
Sifter は、さまざまな侵入テスト ツールを強力に組み合わせたものです。これは、OSINT と情報収集ツール、および脆弱性スキャン モジュールの組み合わせで構成されます。 Sifter は、複数のモジュールを 1 つの包括的な侵入テスト スイートに結合し、脆弱性の迅速なスキャン、偵察タスクの実行、ローカルおよびリモート ホストの列挙、ファイアウォールのチェックなどを行う機能を備えています。
主な特徴
- Sifter は 35 の異なるツールと、Web サイト、ネットワーク、Web アプリケーションをスキャンする機能で構成されています。
- Attack Surface Management (ASM) を使用して攻撃対象領域をマッピングします。
- 発見された脆弱性を倫理的に悪用するための悪用ツールを持っています
- 高度な情報収集能力
- このツールは、Ubuntu、Linux、Windows、Parrot、Kali Linux などで動作します。
- 多数の侵入テスト モジュールがあるため、拡張性とカスタマイズ性が高くなります。
メタスプロイト
Metasploitは、テスターが脆弱性を特定して悪用するのに役立つ、高度で多用途なツールです。このツールを使用すると、クローズドループの脆弱性検証を使用して潜在的なリスクを実証しながら、優先順位を付けることができます。
また、機能豊富なツールを使用すると、ペイロードのスキャンと作成から、エクスプロイトの実行、シミュレートされたフィッシングメールを使用したセキュリティ意識のテストまで、幅広いテストを実行できます。
主な特徴
- ターゲット デバイス上の TCP ポート スキャン用の検出スキャナが内蔵されています。スキャンにより、ネットワーク上で実行されているサービスを可視化し、開いているポートや悪用できる脆弱性を特定できます。
- 脆弱性と構成エラーのスキャナーにより、欠陥と潜在的な攻撃ベクトルを特定します
- 特定された脆弱性の自動または手動による悪用。
- ブルート フォースや資格情報の再利用などのパスワード攻撃方法を使用してターゲットにアクセスできるようにします。
- Windows、Mac OS、Linux 上で動作し、コマンド ライン バージョンと GUI ベースのバージョンの両方で利用できます。
SN1PER
Sn1per は、セキュリティ チームと研究者向けのオールインワンの侵入テスト ツールです。継続的な攻撃対象領域管理 (ASM) プラットフォームを使用すると、アプリケーションの攻撃対象領域と脆弱性を発見できます。
主な特徴
- 攻撃対象領域を発見できるため、実際のセキュリティ脅威に優先順位を付ける機会が得られます。
- 脆弱性を発見し、特定された欠陥に対して倫理的な悪用を実行するプロセスを自動化します。
- 視覚的な偵察を実施し、Web アプリケーションをスキャンできるようにします。 – 基本的な偵察 (whois、ping、DNS など) を自動的に収集します。
- 単一の場所から脆弱性を管理します。
取り混ぜる
Commix は、コマンド インジェクションの脆弱性をスキャンして悪用するのに役立つオープンソースです。このツールは欠陥の検出と悪用のプロセスを自動化するため、速度、範囲、効率が向上します。
Commixは、Comm and and injection and e x ployter の略で、スキャン ツールとコマンド インジェクション脆弱性エクスプロイタを効果的に組み合わせたものです。
主な特徴
- コマンドインジェクションの欠陥の発見と悪用を自動化する使いやすいツールにより、脆弱性の特定と悪用がより迅速になります。
- 発見されたコマンドインジェクションの脆弱性を悪用します
- Linux、Windows、Mac の標準オペレーティング システム、Kali Linux、および Parrot セキュリティ オペレーティング システムなどの他の侵入テスト プラットフォーム上で実行されます。
- ポータブルで、複数のオペレーティング システムとアプリケーションをテストできる
- 要件に合わせて機能を追加およびカスタマイズできるモジュール設計
- 結果ベースのコマンド インジェクションまたはブラインド コマンド インジェクションを実行できます。
牛肉
Browser Exploitation Framework (BeEF) は、Web ブラウザとその脆弱性に焦点を当てた強力で効果的なテスト ソリューションです。他のツールとは異なり、クライアント側の攻撃ベクトル (この場合は Web ブラウザーの脆弱性) を使用して、ターゲット環境にアクセスし、そのセキュリティ体制を評価します。
このアプローチにより、テスターは基礎となる境界セキュリティをバイパスし、ターゲットの内部環境にアクセスして分析することができます。
主な特徴
- 強力な API と、ブラウザやルーターからエクスプロイト、XSS、ソーシャル エンジニアリングに至るまでの 300 を超えるコマンド モジュールを備えたモジュール構造。
- Metasploitなどの他のツールと統合する
- 特定された脆弱性を悪用する能力
- ネットワーク偵察とホストから幅広い情報を収集する機能
- GUI インターフェイスと Windows、MAC OS、Linux のサポート
- 1 つまたは複数のブラウザをサポートしているため、複数のテスターが複数のテスト モジュールを起動できます。
ハックツール
HackTools は、 XSS ペイロード、リバース シェルなどをテストするためのさまざまなツールとチート シートを含む強力なオールインワン Web 拡張機能です。
通常、タブまたはポップアップ オプションとして利用できます。拡張機能を追加すると、ワンクリックでローカル ストレージや複数の Web サイト上のペイロードを検索できる機能が利用できるようになります。
主な特徴
- 動的リバースシェルジェネレーターを備えています。
- SQLi、XSS、ローカル ファイル インクルージョン (LFI)、およびその他のペイロード
- リモート マシンからのデータの抽出とダウンロードのいくつかの方法を提供します
- SHA1、SHA256、SHA512、MD5、SM3 などの一般的なハッシュのハッシュ ジェネレーター。
- ペイロードを迅速に作成するための MSFVenom ビルダー ツール
- Metasploitと連携して高度なエクスプロイトを実行します
モドリシュカ
Modlishka を使用すると、自動化された HTTP リバース プロキシを実行できます。このツールを使用して、HTTP 301 ブラウザのキャッシュを自動的に汚染することもできます。さらに、このツールを使用して非 TLS URL をハイジャックすることもできます。通常、Modlishka はほとんどの多要素認証技術をサポートしており、2FA 脆弱性を特定して強調表示できます。
主な特徴
- Web サイトからすべてのセキュリティ ヘッダーと暗号化情報を削除できます。
- ユーザー認証情報を収集する機能
- フィッシング キャンペーンを実行またはシミュレーションして、弱点を特定し、一般的なフィッシング手法とソリューションについての意識を高めることができます。
- パターンベースの JavaScript ペイロードの挿入をサポートします。
ディサーチ
Dirsearch は、コマンドラインの Web パス スキャン ツールです。
機能豊富なツールを使用すると、Web サーバーのディレクトリとファイルにブルート フォース攻撃を実行できます。一般に、開発者、セキュリティ研究者、管理者は、広範囲にわたる一般的で複雑な Web コンテンツを高精度で探索できます。このペネトレーション テスト ツールは、広範なワードリスト ベクトルのセットを使用して、優れたパフォーマンスと最新のブルート フォース手法を提供します。
主な特徴
- 非表示および非表示の Web ディレクトリ、無効な Web ページなどを検出または検索します。
- ブルート フォース Web サーバーのフォルダーとファイル
- マルチスレッドなのでスキャン速度が向上します。
- シンプル、CSV、マークダウン、JSON、XML、プレーンなどのさまざまな形式で出力を保存する機能
- Linux、Mac、Windows と互換性があるため、多くのシステムと互換性があります。
sqlmap
sqlmap は、データベース内の SQL インジェクションの脆弱性をテストおよび検出するための最良のオープンソース ツールの 1 つです。
このツールは、SQL インジェクションやデータベース サーバーの乗っ取りなどを引き起こす脆弱性の発見と悪用を自動化します。また、データベースからのオーバー データ フェッチ、データベース フィンガープリンティング、コマンドを実行するためのアウトオブバンド接続の使用などのいくつかのスイッチも含まれています。オペレーティング システム上で、基礎となるファイル システムなどにアクセスします。
主な特徴
- SQL インジェクションとデータベース乗っ取りの脆弱性を特定しながら、Web アプリケーションを徹底的にスキャンします。
- 脆弱な HTTP リクエスト URL を検出して悪用し、リモート データベースにアクセスし、データベース名、テーブル、列などのデータの抽出などのアクションを実行します。
- SQL の脆弱性を自動的に検出して悪用します。たとえば、データベースの脆弱性を検出するプロセスを自動化し、最終的にはデータベースの乗っ取りを実行できます。
- UNION クエリ、スタック クエリ、エラー ベース、ブール ベースのブラインド、時間ベースのブラインド、アウトオブバンドなど、複数の SQL インジェクション手法をサポートします。
- Microsoft SQL Server、MySQL、PostgreSQL、Oracle、Firebird、IBM DB2、SQLite などの一般的なデータベース サーバーに適しています。
- パスワードのハッシュ形式を自動的に認識できます。
Nマップ
Nmap は、セキュリティ監査およびネットワーク検出ツールです。強力で機能が豊富なオープンソース ツールは、管理者がネットワーク インベントリの実行、サービス稼働時間の監視、アップグレード スケジュールの管理などの多くのタスクを行うのに役立ちます。
Nmap ツールは、IP パケットを使用して、ネットワーク上のホスト、オペレーティング システム、およびアクティブなサービスを検索します。このツールが識別するその他のメトリクスには、使用中のファイアウォールやフィルターなどが含まれます。
主な特徴
- 幅広い技術をサポートする柔軟性の高いソリューション
- TCP および UDP スキャン メカニズム、バージョン検出、オペレーティング システム検出、ping スワイプなどを使用します。
- 強力で拡張性があるため、数千台のマシンを含む大規模システムを含むすべてのネットワークに適しています。
- このツールはインストールと使用が簡単で、コマンド ライン バージョンと GUI バージョンの両方で利用でき、平均的なテスターと熟練したテスターに適しています。
- 以下を含むほとんどの標準オペレーティング システムで動作するマルチプラットフォーム サポート ソリューション
- スキャン結果比較ツール、パケット ジェネレーター、および応答分析ツール。
結論
アプリケーションを 100% 安全にすることはほぼ不可能ですが、既存の欠陥を知ることで、チームは攻撃者がそれらを使用してアプリケーションやシステムに侵入できるかどうかを確認できます。テストを実行するために、セキュリティ専門家は市場で入手可能なさまざまなオープンソース ツールを使用できます。
ここでは、SAST と DAST の簡単な比較を示します。