Kali Linuxを使用した脆弱性マッピング

はじめに

脆弱性マッピングは、システムの侵害につながる可能性のあるセキュリティ上の欠陥を特定するた 研究者は、”脆弱性マッピング”の代わりに”脆弱性評価”という用語を使用することがあります。”彼らは、しかし、同じことです。

pentestingや悪意のあるハッキングでは、脆弱性マッピングは、テスターやハッカーがターゲットネットワークやホストの情報収集と列挙を適切に行った後のステップです。

この記事では、Kali Linuxオペレーティングシステム内のさまざまなツールを実装して、ターゲットを損なう可能性のある脆弱性を発見し、ハッカーや侵入テスタがビジネスシステムの機密性、完全性、可用性を侵害する可能性のある脆弱性を発見する方法を見ていきます。

脆弱性の種類

今日、3つの主要な脆弱性クラスが存在し、そこから明確な区別ができます。 三つのクラスは次のとおりです:

  • デザインの脆弱性: これらは、ソフトウェアの仕様に起因する弱点を介して発見されます。 これらは、pentester
  • 実装の脆弱性によって与えられたセキュリティ要件に基づいてパッチを適用する必要があるため、解決するのが最も面倒です。
  • 運用上の脆弱性:これらの脆弱性は、ソフトウェアの不適切な構成と展開に起因します。

上記の脆弱性のクラスは、ターゲット環境内でローカルまたはリモートで発生します。

ローカルの脆弱性を悪用するには、テスターまたは攻撃者がターゲットシステムにローカルアクセス権を持っている必要があります。 これの良い例は、CVE-2013-0232で、GPトラップハンドラー ntとして知られています。Kitrap0dは、脆弱なWindows Server2008マシンへのアクセス権を持つ攻撃者またはテスターが、エスカレートされた特権アクセスを取得できるようにします。

リモートの脆弱性により、ターゲットシステムに物理的にアクセスすることなく悪用が発生します。 これらは、インターネットから、または脆弱なシステムが座っているネットワーク内で発生する可能性があります。 この一般的な例の1つは、WINDOWS XPシステムに影響を与えるMS08-067Windows Serverサービスの脆弱性です。

脆弱性分類

テクノロジの数が日々増加するにつれて、一般的に識別可能な脆弱性に最も適した分類を設計する試みが数多く行われています。 これらの努力にもかかわらず、作ることができるすべてのコーディングの間違いを考慮することは実際にまだ可能ではない。

組織は、脆弱性を検索する際に利用できる多くのツールに実装されている以下の標準を考え出しました。

セキュリティ分類 リソースリンク
共通の弱点列挙 http://cwe.mitre.org/data/index.html
OWASPトップ10 https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
WASC脅威の分類 http://projects.webappsec.org/w/page/13246978/Threat%20Classification
全国脆弱性データベース https://nvd.nist.gov/vuln
Googleハッキングデータベース(GHDB) https://www.exploit-db.com/google-hacking-database/

Kali Linuxでの脆弱性スキャン

Kali Linuxには、ペネトレーションテスター用の多数のツールがバンドルされています。 これらのツールのいくつかは、上で説明した三つのクラスにわたって脆弱性マッピングを実行するために、pentestエンゲージメント中に効果的に使用

Webアプリケーションの脆弱性スキャン

Webアプリケーションは毎日生成されていますが、ほとんどのプログラマはアプリケーションの設計時に従う必 次のツールを使用すると、開発者またはpentesterは上記の表に記載されているドキュメント内にある脆弱性を発見できます。

Nikto2

Nikto2はLibwhisker2上に構築された非常に単純なwebアプリケーション脆弱性スキャナであり、多くの機能を備えています。 たとえば、クロスプラットフォームで展開したり、SSLをサポートしたり、NTLM経由でホスト認証を管理したり、IDS回避を管理したりすることもできます。

上記のように”nikto-h”コマンドでホストに対してNiktoを起動すると、ターゲットの脆弱性に応じて変化する結果が返されます。 Niktoが古いサーバー実装、デフォルトのインストーラファイル、サーバーの設定ミス、およびその他の多数のセキュリティ問題を検出することを確認できます。 また、目的のポートの問題を見つけるために、ターゲットを指定した後に”-p”を追加してポートを指定することもできます。

OWASP ZAP

OWASP Zed攻撃プロキシ(ZAP)は、上記の表の関係者の1つであるOWASPプロジェクトによって作成されます。 これは、オープンソースのwebアプリケーションプロキシツールであり、webアプリの脆弱性スキャンなどのいくつかの優れた機能を提供しています。

Kali Linuxでは、ターミナルで以下のコマンドを発行するだけで起動します:

#owasp-zap

メイン画面が表示されます。 しかし、スキャンを実行するのは非常に簡単です。 以下に示すように、スキャンするターゲットを発行します:

あなたは”攻撃”ボタンを押すと、スキャンが開始され、あなたの画面上の下のセクションでいくつかの活動が表示されます。

OWASP ZAPは、脆弱性を探してターゲットwebサイトをクロールします。 また、アラートタブ内に表示されるいくつかの誤った設定を識別するので、そのタブにも目を離さないでください。 OWASP ZAPを使用すると、以下に示すように、影響を受けるリンクに絞り込むことができます:

ZAPの商用競争相手はBurpSuiteで、無料版と同様の機能を提供していますが、商用版でははるかに多くの機能を提供しています。

Nessus

Nessusは、時間が限られており、迅速な脆弱性評価またはpentestが必要な状況に対して、自動化されたWebアプリケーションの脆弱性スキャンを提供します。

Nessusは、限られた機能で無料で実行することも、特に大規模なpentestチームや契約のために便利なはるかに多くの機能を持つ商用ツールとして実行することもで

脆弱性スキャンを実行するには、まず無料版のNessusをインストールしてから、ブラウザをhttps://localhost:8834に移動する必要があります。 以下を参照してください:

その後、上記の”新規スキャン”ボタンを押して、利用可能な多数のテンプレートから実行するスキャンの種類を選択します。

上記のテンプレートは、nessusを実行している場合は無料版のnessus内で制限されますが、商用版では数と機能がはるかに多くなります。

その後、あなたの目標を発行します。 Nessusは、カンマで区切られた複数のターゲットに対してスキャンを実行するか、CIDR形式で発行することができます。

必要なフィールドに入力が完了すると、上記の画面が表示されます。 “再生”アイコンをクリックしてスキャンを起動します。

脆弱性は、発見された問題の重大度とインスタンスを要約して、上記の画面の方法で表示されます。

Nessusでは、特定のホストと脆弱性をドリルダウンし、それらがどのように発見されたかに関する詳細な情報と、特定されたリスクにパッチを適用する方

ネットワーク脆弱性スキャン

Kali Linuxは、データベース、ルーター、スイッチ、SNMPやSMBなどのプロトコルなどのネットワークデバイスをスキャンできるツールも提供しています。 そこに多数のツールがありますが、我々は最も一般的なを見てみましょう。

CISCO Analysis

CISCOデバイスは幾つかのツールと評価することができるいくつかの脆弱性に影響を受けやすいです。 ルータを監査する場合、Kali LinuxにはCisco Auditing Tool(CAT)が付属しており、攻撃者または侵入テスターがSNMPコミュニティ文字列から古いCISCOバグ、およびルータへの不正アクセ

Kaliでホストをテストするために、以下のコマンドを実行しました:

#CAT -h 192.168.67.73 -w lists/community -a lists/passwords -i

CATは、上記のように、デフォルトの資格情報とSNMPコミュニティ文字列の監査に進みます。

SNMP解析

Kali Linuxは、Simple Network Management Protocol(SNMP)プロトコルを使用して、攻撃者やペンテスターがホストから情報を取得することもできます。 これは、ホストを標的としたさらなる攻撃を準備する上で非常に重要です。

攻撃マシンでは、以下のコマンドを実行し、ターゲットに関する大量の情報を取得することができました。

上記のように、イーサネットカード情報、システムがそのカードを介して接続されていた時間、ホスト名、および以下に示すように、それぞれの情報を持つネットワー

Kali Linuxでのデータベース評価

Kali Linuxでは、Sqlインジェクションなどの脆弱性に対するMySQL、Oracle、MicrosoftのMSSQLデータベースのテストが可能です。 パスワードポリシーのテストと既定のパスワードチェックも、一部のツールでサポートされています。

SQLMap

SQLMapは、PostgreSQL、MSSQL、Oracle、MySQLなどのいくつかのデータベースに対してさまざまなSQLインジェクションテストを実行できるKali Linux内のきちんとしたツールです。 これは、検出された欠陥を検出するだけでなく、悪用することができ、攻撃者やテスターにとって非常に一般的なツールになります。 SQLMapは、次の攻撃を迅速に実行するのに役立ちますが、それ以外の場合は困難で時間がかかります:

  • 推論ブラインドSQLインジェクション
  • UNION query SQLインジェクション
  • Stacked query SQLインジェクション
  • Time-based blind SQLインジェクション

Kali Linuxシステムでは、ターゲットシステム内の基になるデータベースに関する情報を検出しようとするために、以下のコマンドを実行しました。

# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch --dbs

上記の結果は、利用可能なデータベースを示し、指定されたURLでWebアプリケーション内の注射可能なパラメータを知ることもできます。

データベース”owasp10″の内容を見つけるには、以下のコマンドを発行します:

# sqlmap -u "http://192.168.0.30/mutillidae/index.php?page=view-someones-blog.php" --forms --batch -D owasp10 –tables

オプション-Dは使用するデータベースを指定し、–tablesはSQLMapに使用可能なテーブルのリストを要求します。

SQLMapは、カバーされていないはるかに多くの機能を提供していますが、コマンド”sqlmap-h”でヘルプドキュメント内で確認する必要があります。

SQLNinjaなど、SQLMapと同様の機能を持つ他のツールも存在します。

結論

上記で説明したツールを使用して脆弱性をマッピングした後、侵入テストまたは攻撃中に悪用される次のフェーズに進むことができます。 ただし、脆弱性評価のために脆弱性を列挙することにのみ関心があります。 この場合、上記のツールが機能します。

コメントを残す

メールアドレスが公開されることはありません。