Kali Linux で msfconsole インターフェースを起動して操作する方法

Kali LinuxBeginner
オンラインで実践に進む

はじめに

Metasploit Framework は、セキュリティ専門家がペネトレーションテスト、エクスプロイト開発、脆弱性リサーチに使用する強力なオープンソースツールです。その主要なインターフェースは Metasploit Console、または msfconsole と呼ばれるコマンドラインインターフェースであり、フレームワークのすべての機能に効率的にアクセスできます。

この実験(Lab)では、msfconsole の起動と操作に関する基本的かつ不可欠なスキルを習得します。必要なバックグラウンドサービスの起動、コンソールの起動、インターフェースの探索、ヘルプシステムの利用、そして安全な終了方法について説明します。これらの基本をマスターすることは、セキュリティ評価のために Metasploit を効果的に使用するための最初のステップです。

必要な PostgreSQL サービスを起動する

Metasploit を起動する前に、PostgreSQL データベースサービスを起動するのがベストプラクティスです。Metasploit はこのデータベースを使用して、プロジェクト、ホスト、発見された脆弱性、収集された証拠(ルート)に関する情報を保存します。msfconsole はデータベースなしでも実行できますが、データベースに接続することで、その強力なデータ管理機能の多くが有効になります。

このステップでは、PostgreSQL サービスを起動し、正しく実行されていることを確認します。この環境では systemctl がサポートされていないため、service コマンドを使用します。

まず、ターミナルを開き、以下のコマンドを使用して PostgreSQL サービスを起動します。システムサービスの管理には管理者権限が必要なため、sudo が必要になります。

sudo service postgresql start

サービスが起動していることを示す出力が表示されるはずです。

 * Starting PostgreSQL 14 database server                                                                                                                                                             [ OK ]

次に、サービスが正常に起動したことを確認するために、そのステータスを確認できます。

sudo service postgresql status

正常に起動した場合、サービスがオンラインであることが表示されます。

14/main (port 5432): online

データベースが実行されたので、Metasploit コンソールを起動する準備ができました。

msfconsole コマンドを使用して Metasploit コンソールを起動する

データベースサービスが実行されているので、Metasploit のメインインターフェースである msfconsole を起動できます。このコマンドはフレームワークを初期化し、すべてのモジュール(エクスプロイト、ペイロード、補助、など)をロードし、データベースに接続します。

このステップでは、ターミナルから msfconsole コマンドを実行します。初回起動時には、環境設定のため数分かかる場合があります。

ターミナルに以下のコマンドを入力して Enter キーを押してください。

msfconsole

短いロード時間の後、ランダムに選択されたウェルカムバナー(ASCII アート)と msfconsole コマンドプロンプトが表示されます。プロンプトは通常 msf6 > のようになり、6 は Metasploit Framework のバージョンを示します。

                                                  `s`
                                                 `h`
                                                `o`
                                               `y`
                                              `s`
`s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`
`o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`
`y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`
 `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`
  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`
   `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`
    `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`
     `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`
      `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`
       `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`
        `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`
         `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`  `y`
          `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`  `s`
           `o`  `o`  `o`  `o`  `o`  `o`  `o`  `o`
            `y`  `y`  `y`  `y`  `y`  `y`  `y`
             `s`  `s`  `s`  `s`  `s`  `s`
              `o`  `o`  `o`  `o`  `o`
               `y`  `y`  `y`  `y`
                `s`  `s`  `s`
                 `o`  `o`
                  `y`

       =[ metasploit v6.x.x-dev-xxxxxxxx ]
+ -- --=[ 23xx exploits - 12xx auxiliary - 4xx post ]
+ -- --=[ 14xx payloads - 4x encoders - 1x nops ]
+ -- --=[ 9 evasion ]

Metasploit tip: View advanced options for a module by using
advanced

msf6 >

これで Metasploit コンソール内に入り、コマンドの使用を開始できます。

msfconsole ウェルカムバナーとバージョンを確認する

msfconsole 内に入ったので、表示されている情報を確認してみましょう。ウェルカムバナーは、クリエイティブな ASCII アートを表示するだけでなく、フレームワークの機能の概要を素早く提供します。利用可能なエクスプロイト、補助モジュール、ペイロードなどの数を示しています。

バナーには Metasploit のバージョンも表示されます。しかし、コンソールで作業中にいつでもバージョンを確認したい場合は、version コマンドを使用できます。

msf6 > プロンプトで version コマンドを入力して Enter キーを押してください。

version

出力には、現在実行中の Metasploit Framework と Console ライブラリの具体的なバージョンが表示されます。

msf6 > version
Framework: 6.x.x-dev-xxxxxxxx
Console  : 6.x.x-dev-xxxxxxxx

このコマンドは、インストールの確認や、特定のタスクまたはチュートリアルで必要とされる特定のバージョンを実行していることを確認するのに役立ちます。

help コマンドを使用して利用可能なコマンドを一覧表示する

msfconsole には多数のコマンドがあり、すべてを記憶するのは不可能です。組み込みの help コマンドは、コンソールを操作するための最も価値のあるツールです。これは、機能別にグループ化された、利用可能なすべてのコマンドの包括的なリストを提供します。

このステップでは、help コマンドを使用して利用可能なオプションを調べます。

msf6 > プロンプトで help と入力して Enter キーを押してください。

help

コンソールには長いコマンドリストが表示されます。以下は、表示される出力の抜粋例です。

msf6 > help

Core Commands
=============

    Command       Description
    -------       -----------
    ?             Help menu
    banner        Display an awesome metasploit banner
    cd            Change the current working directory
    color         Toggle color
    connect       Communicate with a host
    exit          Exit the console
    ...

Module Commands
===============

    Command       Description
    -------       -----------
    advanced      Displays advanced options for a module
    back          Move back from the current context
    info          Displays information about a module
    load          Load a framework plugin
    ...

リストをスクロールして、利用可能なさまざまな種類のコマンドの感触をつかんでください。コマンド名に続けて help と入力することで、特定のコマンドのヘルプを取得することもできます。たとえば、help searchsearch コマンドの使用方法に関する詳細情報を提供します。

exit コマンドを使用して msfconsole を終了する

Metasploit Framework での作業が終了したら、コンソールを適切に終了することが重要です。これにより、実行中のジョブがクリーンに終了し、標準のコマンドラインシェルに戻ることができます。

msfconsole を終了するためのコマンドはシンプルで直感的です。

msf6 > プロンプトで exit と入力して Enter キーを押してください。

exit

コンソールは簡単なシャットダウンシーケンスを実行し、その後 ~/project ディレクトリの通常のターミナルプロンプトに戻ります。

msf6 > exit
labex@instance:~/project$

これで、Metasploit コンソールを正常に起動、操作、および終了しました。

まとめ

おめでとうございます!この実験では、Metasploit Framework を使用するための基本的な最初のステップを学びました。

以下のことを正常に実行しました。

  • Metasploit でのデータ管理に不可欠な PostgreSQL データベースサービスを開始しました。
  • msfconsole インターフェースを起動しました。
  • ウェルカムバナーを確認し、version コマンドを使用しました。
  • help コマンドを使用して、利用可能な機能を発見しました。
  • exit コマンドを使用してコンソールをクリーンに終了しました。

これらの基本的なスキルは、今後 Metasploit で行うすべての作業の基礎となります。これで、モジュールの検索、エクスプロイトの設定、攻撃の開始などのより高度なトピックに進む準備ができました。