What is Metasploit? 初心者向けガイド

侵入テストは、”悪意のある人がどのように私のネットワークを混乱させることができるか?”という質問に答えることを可能にします。 ペン テスト ツールを使用して、ホワイト ハットおよび開発セキュリティの専門家は、システムをハッキングすることにより、生産および配備プロセスのどの時点でも、ネットワークやアプリケーションの欠陥や脆弱性を調べることができます。

そのような侵入テストの支援手段の 1 つが Metasploit Project です。 この Ruby ベースのオープンソース フレームワークでは、コマンドラインまたは GUI を使用してテストを行うことができます。

Get the Free Pen Testing Active Directory Environments EBook

“This really opened my eyes in a way defensive work never did.” (これは、防御的な仕事にはない方法で AD セキュリティに目を向けてくれました) というコメントもあります。

Metasploit フレームワークとは何か、どのように使用されるか

Metasploit フレームワークは、ネットワークやサーバーの系統だった脆弱性を調べるために、サイバー犯罪者だけでなく倫理的ハッカーによっても使用できる非常に強力なツールです。

Metasploit を使用すると、ペン テスト チームは既製またはカスタムのコードを使用してネットワークに導入し、弱点を調査することができます。

Metasploit の歴史

Metasploit プロジェクトは 2003 年に H.D. Moore によって Perl ベースのポータブル ネットワーク ツールとして、コア開発者の Matt Miller からの支援を受けて開始されました。

これらのツールの一部は、Kali Linux OS に組み込まれた Metasploit フレームワーク内に存在します。

このフレームワークは、エクスプロイトの開発および緩和のための代表的なツールとなっています。 Metasploit 以前には、ペン テスターは、テストするプラットフォームをサポートしているかどうかに関わらず、さまざまなツールを使用し、手作業で独自のコードを書き、手動でネットワークに導入することによって、すべてのプローブを実行する必要がありました。

誰が Metasploit を使用しているか

その幅広いアプリケーションとオープンソースの可用性により、Metasploit は、進化する分野の DevSecOps プロからハッカーまで、すべての人によって使用されています。 どのプラットフォームや言語が使用されているかに関係なく、簡単にインストールでき、仕事を成し遂げることができる信頼性の高いツールを必要とする人にとって、役に立ちます。

Metasploit には、Android、PHP、Python、Java、Cisco など、25 のプラットフォームで構成された 1677 以上のエクスプロイトが含まれています。 また、このフレームワークには、約 500 のペイロードが含まれており、その一部は以下のとおりです。

  • ユーザーがホストに対してスクリプトまたはランダム コマンドを実行できるようにするコマンド シェル ペイロード
  • アンチウイルス ソフトウェアを回避するためにテスターが独自のペイロードを生成できるようにする動的ペイロード
  • VMC を使用してデバイス モニターをコマンドオーバーして、セッションまたはファイルのアップロードやダウンロードができるメータープリター ペイロード
  • Dynamic Payloads。
  • ポート転送とネットワーク間の通信を可能にする静的ペイロード

Metasploit の用途と利点

metasploit が提供してくれるモジュールを示すビジュアル

一旦インストールされた Metasploit を使うために必要なことは、ポート スキャンによってターゲットに関する情報を入手することのみです。 OSのフィンガープリント、または脆弱性スキャナを使用してネットワークへの侵入経路を見つけることができます。 その後、エクスプロイトとペイロードを選択するだけです。 この文脈では、エクスプロイトとは、防御がますます難しくなっているネットワークやシステムの弱点を特定し、その欠陥を利用して侵入する手段です。

フレームワークは、msfconsole インタラクティブ curses、ターミナル/cmd から msf 関数をすべて実行する msfcli、MSF との統合に使用されるグラフィカル Java ツール、およびリモート ペン テストをサポートする Metasploit コミュニティ Web インターフェイスなどのさまざまなモデルおよびインターフェイスで構築されています。 この秘密主義の集団は、IP アドレスを隠すために仮想プライベート ネットワーク トンネルを介して動作することを好み、多くの共有ホスティング プロバイダーを悩ませる中断を避けるために、専用 VPS も使用します。

前述のように、Metasploit はエクスプロイト、ペイロード、補助関数、エンコーダー、リスナー、シェルコード、ポスト エクスプロイト コード、および NOP を提供します。

資格のあるペンテスターになるために、オンラインで Metasploit Pro Specialist Certification を取得できます。

Metasploit Pro Specialist Certification をオンラインで取得し、ペンテスターの資格を得ることができます。 費用は195ドルで、承認されると証明書をプリントアウトすることができます。

試験に先立ち、Metasploit のトレーニングコースを受講し、以下の知識を身につけることをお勧めします。

  • Windows と Linux OS
  • ネットワークプロトコル
  • Vulnerability management systems
  • Basic Pen Test concepts

この資格を取得することは、市場価値のあるペンテスターまたはセキュリティアナリストになろうと望む人にとって望ましいことです。

Metasploit の入手方法

Metasploit は Rapid7 の Web サイトからオープンソースのインストーラーで直接入手できます。 Chrome、Firefox、または Explorer ブラウザーの最新バージョンに加えて、最小限のシステム要件は次のとおりです:

オペレーティング システム:

  • Ubuntu Linux 14.04 または 16.04 LTS(推奨)
  • Windows Server 2008 または 2012 R2
  • Windows 7 SP1+, 8.1, or 10
  • Red Hat Enterprise Linux Server 5.10, 6.5, 7.0
  • Windows 7 SP1+, 8.1, or 10
    • Ubuntu LTS(Windows 7 SP2)

    • Windows Server 2008 または 2012 R2
    • Windows 7 SP2+, 8.1, or 10
    • i1、またはそれ以降

    ハードウェア:

    • 2 GHz 以上のプロセッサ
    • Minimum 4 GB RAM、ただし 8 GB 推奨
    • Minimum 1 GB ディスク容量、ただし 50 GB 推奨

    始める前にデバイス上にインストールされているアンチウイルス ソフトウェアとファイアウォールを無効にし、管理権限を取得しなければならないでしょう。 インストーラーは、フレームワークをインストールするときに設定される自己完結型のユニットです。 また、カスタムの依存関係を設定したい場合は、手動でインストールするオプションがあります。 Kali Linux版のユーザーは、すでにMetasploit Pro版がOSにプリバンドルされています。

    インストール後、起動時に以下の選択肢が表示されます:

    • /Users/joesmith/.msf4/db にデータベースを作成する
    • Postgresql を開始する
    • データベースユーザーを作成する
    • 最初のデータベーススキーマを作成する

    Learning how to use Metasploit: チュートリアルとヒント

    Metasploitの使い方を簡単に習得できるかどうかは、Rubyの知識にかかっています。 しかし、もしあなたが Python のような他のスクリプトやプログラミング言語に精通しているなら、Metasploit を使って作業することは、スピードアップするためにそれほど難しくないはずです。

    このツールは、システム的な保護を無効にする必要があり、悪意のあるコードの生成を可能にするため、潜在的なリスクについて知っておく必要があります。 可能であれば、このユーティリティは、個人のデバイスや、潜在的に重要な情報またはそのような情報へのアクセスを含むコンピューターとは別のシステムにインストールしておいてください。 Metasploit を使用してペンテストを行うときは、専用の作業デバイスを使用する必要があります。

    Metasploitを学ぶ理由

    このフレームワーク バンドルは、セキュリティ アナリストやペンテスターであれば、必ず持っていなければならないものです。 さまざまなツールやユーティリティを使用して、隠れた脆弱性を発見するために不可欠なツールです。 Metasploit を使用すると、ハッカーの思考に入り込み、同じ手法でネットワークやサーバーのプローブや侵入を行うことができます。

    以下は、典型的な Metasploit のアーキテクチャの図です:

    典型的な Metasploit のアーキテクチャ図

    Metasploit Step-by-Step

    基本システムと OS を備えていると仮定して、簡単に悪用を開始するためのチュートリアルを始めることにします。 テスト環境をセットアップするために、Virtualbox、Kali、および Metasploitable をダウンロードしてインストールし、仮想化されたハッキング マシンを作成する必要があります。

    テスト ツールをインストールしたら、Metasploit コンソールを開いてください。

    metasploit console with testing tools installed

    近道の 1 つは、コンソールに「ヘルプ」を入力することで、Metasploit コマンドのリストとその説明を表示させることが可能です。

    metasploit help コマンドの視覚

    まず最初に、強力で役に立つツールは Armitage GUI で、ターゲットを視覚化して、それにアクセスするための最善のエクスプロイトを推奨することが可能です。 このツールは、より深い侵入とさらなるテストのための高度なポストエクスプロイト機能も表示します。 コンソールから選択するには、[アプリケーション] – [エクスプロイト ツール] – [Armitage]

    画面にフォーム フィールドが表示されたら、ホスト、ポート番号、ユーザー ID、およびパスワードを入力します。

    Metasploit を学ぶためのリソース

    オープン ソース コミュニティで素晴らしいことの 1 つは、リソースのプールと情報の共有に取り組んでいることです。 これは、インターネットが最初に作成された理由を現代的に具現化したものです。

    そのため、Matspoit の約束を完全に実現するためのリソースのリストを提供します。

    最高のリソースの 1 つで、最初に訪れるべき場所は Metasploit 自身の広範囲なナレッジ ベースです。 そこには、クイックスタートガイド、メタモジュール、エクスプロイト、脆弱性の特定と修正などがあります。

    もう 1 つの有用なリソースは、Varonis Cyber Workshop です。

    ペネトレーションテストは、脆弱性を根絶し、ネットワークを悪用やハッキングから防ぐために不可欠です。

    侵入テストは、脆弱性を根絶し、ネットワークが悪用されたりハッキングされたりするのを防ぐために必要不可欠です。