システムのセキュリティの脆弱性を見つけてパッチを適用することは、ネットワーク管理者にとって最も重要な仕事の 1 つになりました。 Metasploit は、セキュリティ プロフェッショナルがシステムの脆弱性を見つけて公開するのに役立つ、人気のあるエクスプロイト ツールです。
このチュートリアルでは、Metasploit を Ubuntu にインストールし、それを使用してシステムの脆弱性をスキャンする方法を学習します。
読み進めて、システムのセキュリティについて心配する必要はもうありません!
前提条件
このチュートリアルは実践的なデモンストレーションです。フォローしたい場合は、持っていることを確認してください
- Ubuntu Linux システム。このチュートリアルでは Ubuntu 20.04 を使用していますが、最近のバージョンであれば問題なく動作するはずです。
- Metasploit をインストールするには、システムのルート権限も必要です。このチュートリアルでは root アカウントを使用しますが、セキュリティ上の理由から、sudo が有効なユーザーを使用することをお勧めします。
シェル スクリプト インストーラーを使用した Metasploit のインストール
公式の Metasploit シェル スクリプト インストーラーは、Ubuntu に Metasploit をインストールする最も簡単な方法です。この方法は、Ubuntu を含むすべての Debian ベースのシステムで機能します。このシェル スクリプトは、すべての依存関係と構成を処理します。
1. 次の wget コマンドを実行して、最新バージョンの Metasploit インストーラーを GitHub からダウンロードします。
wget http://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run

2. ファイルの内容を一覧表示して、ファイルのダウンロードが成功したことを確認します。
ls -la metasploit-latest-linux-x64-installer.run
以下に同様の出力が表示されます。

3. インストーラーを実行する前に、ファイルを実行可能にする必要があります。次の chmod コマンドを実行して、インストーラー ファイルに実行権限を付与します。
chmod +x ./metasploit-latest-linux-x64-installer.run
4. これで、名前を ./ で偽装してインストーラーを実行できます。
./metasploit-latest-linux-x64-installer.run
5. Enter キーを押して、Metasploit ライセンス契約を読みます

6. y と入力して Enter キーを押し、条件に同意して続行します。

7. Metasploit をインストールするフォルダーを選択します。このチュートリアルでは、デフォルトのインストール ディレクトリを /opt/metasploit のままにして、Enter キーを押して続行します。

8. Metasploit をサービスとしてインストールするには、Y と入力して Enter キーを押します。
デフォルトでは、Metasploit はサービスとして実行されません。コマンド ラインから手動で Metasploit を開始、停止、再起動するか、Metasploit をサービスとしてインストールできます。 Metasploit をサービスとしてインストールすると、システムの起動時に Metasploit が自動的に開始されます。

9. Metasploit は、ウイルス対策プログラムまたはファイアウォール プログラムによってフラグが付けられる可能性のあるいくつかの手法を使用します。問題を回避するために、Metasploit の使用中はこれらのプログラムを無効にすることをお勧めします。アンチウイルスとファイアウォールを無効にするには、Enter キーを押してください。
10. Metasploit で使用するポートを入力します。デフォルトのポートは 3790 ですが、システムで開いている任意のポートを選択できます。このチュートリアルでは、デフォルトのポート 3790 を使用します。Enter キーを押して続行します。
他のプログラムとの潜在的な競合を避けるために、1000 を超える非標準のポートを選択してください。

11. デフォルトでは、Metasploit は localhost を使用します サーバー名として .このチュートリアルでは、デフォルトのままにして、Enter キーを押して続行します。
12. Metasploit シェル スクリプト インストーラーはデフォルトで、3650 日 (10 年間) 有効な SSL 証明書を生成してインストールします。このチュートリアルでは、デフォルト値の 3650 日のままにして、Enter を押します。 続行します。
13. スクリプトは、Metasploit 用の自己署名 SSL 証明書を生成します。 y と入力して証明書を信頼し、Enter キーを押して続行します。

14. 最後に、Y と入力して Enter キーを押し、Metasploit のインストール プロセスを開始します。

15. インストールが完了するまで待ちます。インストールが完了すると、go to https://localhost:3790 というメッセージが表示されます。 Web ブラウザから Web UI にアクセスします。 Ubuntu システムに Metasploit が正常にインストールされました。

16. Web ブラウザを開き、https://localhost:3790 に移動します。 Metasploit Web インターフェイスをロードします。

17. コマンド ラインから Metasploit コンソールにアクセスするには、次のコマンドを実行します。
msfconsole

ソースから Metasploit をインストールする
Metasploit をソースからコンパイルしてインストールする理由は何ですか?シェル スクリプトでまだリリースされていない最新の機能が必要な場合があります。または、Metasploit 用の新しいモジュールを開発していて、それをテストする必要があるかもしれません。
ただし、この方法では、ソース コードを手動でダウンロードしてコンパイルする必要があり、少し面倒です。以下の手順に従って、Ubuntu システムのソースから Metasploit をコンパイルしてインストールします。
1. 以下の apt コマンドを実行してパッケージ リストを更新し、最新バージョンであることを確認します。
apt update -y

2. Metasploit のビルドとインストールに必要なすべての依存関係をインストールします。
apt install gpgv2 autoconf bison build-essential postgresql libaprutil1 libgmp3-dev libpcap-dev openssl libpq-dev libreadline6-dev libsqlite3-dev libssl-dev locate libsvn1 libtool libxml2 libxml2-dev libxslt-dev wget libyaml-dev ncurses-dev postgresql-contrib xsel zlib1g zlib1g-dev -y

3. 次に、次のコマンドを実行して Metasploit ソース コードをダウンロードします。このコマンドは、現在の作業ディレクトリにある msfinstall という名前のファイルに Metasploit ソース コードを保存します。
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall

4. ファイルを一覧表示して、ファイルが正常にダウンロードされたことを確認します。
ls -la msfinstall

5. ソース コードを実行してコンパイルする前に、msfinstall が実行可能であることを確認する必要があります。
chmod 755 msfinstall
6. 最後に、コードを実行して Metasploit のインストールを開始します。
./msfinstall
システム リソースによっては、インストール プロセスに数分かかる場合があります。

7. Metasploit コンソールにアクセスして使用を開始します。
msfconsole

Deb パッケージを使用して Ubuntu に Metasploit をインストールする
deb パッケージを使用する理由は、オフラインでインストールできるためです。 Metasploit をインストールするためにアクティブなインターネット接続は必要ありません。
deb パッケージは、Debian ベースのシステムにソフトウェア アプリケーションをインストールするために必要なすべてのファイルを含むアーカイブ ファイルです。 deb パッケージは、実行可能ファイル (exe
) に似たソフトウェア インストール ファイルです。 ) Windows のファイル。
関連:Deb パッケージを Ubuntu にインストールするための総合ガイド
以下の手順に従って、deb パッケージを使用して Ubuntu システムに Metasploit をインストールしてください。
1. Metasploit ダウンロード ページから Metasploit deb ファイルをダウンロードします。
wget https://apt.metasploit.com/pool/main/m/metasploit-framework/metasploit-framework_6.2.8%2B20220720103055~1rapid7-1_amd64.deb

2. 現在の作業ディレクトリの内容を一覧表示して、ファイルが正常にダウンロードされたことを確認します。

3. dpkg -I コマンドを実行して、deb ファイルに関する情報を表示します。
dpkg -I metasploit-framework_6.2.8+20220720103055~1rapid7-1_amd64.deb

4. 最後に、dpkg -i コマンドを使用して Metasploit をインストールします。
dpkg -i metasploit-framework_6.2.8+20220720103055~1rapid7-1_amd64.deb

5. Metasploit コンソールにアクセスして使用を開始します。
msfconsole

脆弱性のスキャン
Ubuntu システムに Metasploit をインストールしたので、スキャンを実行します。 Metasploit スキャンには、ネットワーク スキャンとホスト スキャンの 2 種類があります。
ネットワーク スキャンは、ネットワーク上で使用可能なホストを識別します。このタイプのスキャンは、ネットワーク上で侵入テストを実行して、さらなる攻撃に利用可能なシステムを特定する場合に役立ちます。
一方、ホスト スキャンは、ホストで実行されているサービスを識別します。このタイプのスキャンは、システムの脆弱性を特定する場合に役立ちます。
以下の手順に従って、Metasploit で脆弱性スキャンを実行してください。
1.PostgreSQL サービスを開始します。 Metasploit は、収集したすべてのデータをデータベースに保存します。デフォルトでは、Metasploit は PostgreSQL データベースを使用します。
systemctl start postgresql
2. root 以外のユーザーとして以下のコマンドを実行し、Metasploit 用の新しいデータベースを初期化します。
msfdb init

3. Metasploit コンソールにアクセスします。
msfconsole
4. データベース接続を確認します。 Metasploit は db_status コマンドを使用してデータベース接続をチェックします。
db_status
次の出力が表示されます。

5. msfcrawler モジュールをロードします。 msfcrawler モジュールは、Web サイトをクロールして Web アプリケーションの脆弱性を見つけるためのものです。
use auxiliary/scanner/http/crawler

6. RHOST および RPORT パラメータを設定します。 RHOST パラメータはターゲット ホストを表し、RPORT パラメータはポート番号を表します。この場合、ポート 9000 でローカルホストをスキャンします。
set RHOST localhost
set RPORT 9000

7. 以下のコマンドを実行して、クローラーを開始します。クローラーは、ターゲット ホストとポートのスキャンを開始します。 Web サイトのサイズによっては、このプロセスに数分かかる場合があります。
run

8. 次に、WMAP モジュールをロードします。このモジュールは、Web アプリケーションの脆弱性をスキャンします。

9. wmap_sites -a localhost:9000 コマンドを実行して、ターゲット ホストとポートをスキャン リストに追加します。
wmap_sites -a localhost:9000

10. 利用可能なすべてのターゲット ホストとポートを一覧表示します。
wmap_sites -l

11. 最後に、ターゲット ホストを選択してスキャンを開始します。
wmap_targets -t 127.0.0.1:9000
wmap_run -e

スキャンが完了するまで待ちます。 Web サイトのサイズによっては、このプロセスに数時間かかる場合があります。この例は、完了するまでに 2 時間以上かかります。
12. スキャンが完了したら、以下のコマンドを実行して結果を表示します。
vulns
ご覧のとおり、Web アプリケーションのないローカル ホストをスキャンしているため、スキャンで脆弱性は検出されませんでした。実際のシナリオでは、さらに多くの結果が得られます。
ヒント:grep や、less、tail、cat などの Linux コマンドを使用できます。など、出力をフィルタリングします。

結論
この記事では、Metasploit を Ubuntu にインストールする方法と、それを使用して Web アプリケーションの脆弱性を見つける方法を学びました。 Metasploit は、さまざまな目的に使用できる強力なツールです。基本を理解したので、すべての機能の探索を開始できます。
この新たに発見された知識を使用して、独自のシステムまたはクライアントに属するシステムで侵入テストを開始してみませんか?侵入テストを開始する前に、必ず許可を得る必要があります。そうしないと、法律に違反する可能性があります。