はじめに
Metasploit Framework は、ペネトレーションテスト、エクスプロイト開発、脆弱性リサーチに使用される強力なツールです。最新のエクスプロイト、ペイロード、機能、および重要なセキュリティパッチにアクセスできるように、常に最新の状態に保つことが不可欠です。古いフレームワークは、最新のシステムに対して効果がなかったり、重要なバグ修正が欠けていたりする可能性があります。
この実験 (Lab) では、Linux システムで Metasploit Framework を更新する完全なプロセスを説明します。関連するデータベースサービスの適切な管理方法、更新コマンドの実行方法、および更新が成功したことの確認方法を学びます。
PostgreSQL データベースサービスの停止
Metasploit の更新を開始する前に、Metasploit が使用する PostgreSQL データベースサービスを停止することがベストプラクティスです。これにより、ファイルの置き換え中にデータベースの破損や競合が発生する可能性を防ぎます。
このステップでは、service コマンドを使用して PostgreSQL サービスを停止します。システムサービスを変更するため、管理者権限でコマンドを実行するには sudo を使用する必要があります。
PostgreSQL を停止するには、ターミナルで次のコマンドを実行してください。
sudo service postgresql stop
コマンドが成功した場合、何も出力されないことがありますが、これは Linux におけるサービス管理コマンドでは一般的です。
msfupdate コマンドを実行して更新を開始する
データベースサービスを安全に停止したら、次に更新に進むことができます。Metasploit Framework には、この目的のための専用コマンドラインツール msfupdate が付属しています。このスクリプトは、公式リポジトリから最新の変更を取得することから、新しい依存関係のインストールまで、更新プロセス全体を処理します。
このステップでは、msfupdate コマンドを実行します。このコマンドも管理者権限が必要なため、sudo を使用する必要があります。
ターミナルで次のコマンドを実行してください。更新のサイズとネットワーク速度によっては、このプロセスに数分かかる場合があるため、しばらくお待ちください。
sudo msfupdate
更新プロセスが開始されたことを示す出力が表示されます。例えば、更新の確認や適用などです。
[*]
[*] Attempting to update the Metasploit Framework...
[*]
[*] Checking for updates via the APT repository
[*] You are running the latest version of the Metasploit Framework
注意:出力は異なる場合があります。更新が利用可能な場合は、ダウンロードとインストールに進みます。
更新プロセスの完了を監視する
このステップでは、更新プロセスを監視します。sudo msfupdate を実行した後、さまざまなコンポーネントを更新するにつれて、ターミナルに情報のストリームが表示されます。これには、システムパッケージ、Ruby gem、およびコアフレームワークモジュールの更新が含まれます。
このステップでは、新しいコマンドを入力する必要はありません。単に待機し、ターミナルの出力を監視してください。スクリプトの実行が完了し、コマンドプロンプト (labex@labex:~/project$) に戻ると、プロセスは完了です。
更新が成功した場合、通常は更新が完了したことを確認するメッセージで終了します。
... (various update messages) ...
[*] Metasploit Framework update complete
コマンドプロンプトが再び表示されたら、次のステップに進むことができます。
PostgreSQL データベースサービスを再起動する
Metasploit Framework のファイルが更新されたので、PostgreSQL データベースサービスを再起動する必要があります。これにより、新しく更新されたフレームワークがデータベースに接続し、正しく機能するようになります。
このステップでは、再び service コマンドを使用し、今回は start 引数を使用して PostgreSQL サービスをオンラインに戻します。
ターミナルで次のコマンドを実行してください。
sudo service postgresql start
stop コマンドと同様に、成功した場合に何も出力されないことがあります。これはサービスが開始されたことを示します。
msfconsole を起動し、新しいバージョンを確認する
最後のステップは、アップデートが成功したことを確認することです。これを最も簡単な方法で行うには、Metasploit コンソールである msfconsole を起動します。起動時のバナーにフレームワークのバージョンが表示されるため、アップデートを確認できます。
まず、Metasploit コンソールを起動します。データベースへの接続に時間がかかるため、最初の起動には少し時間がかかる場合があります。
msfconsole
起動すると、ASCII アートのバナーが表示されます。バージョン番号を探してください。最新バージョンが反映されているはずです。
_---------.
,' ######## ;."
.---. ,' ############ ."
/.'"'.\ ,' ############## ."
\: ."'"'.\ ,' ################ ."
\c ."'"'"'.\,' ################## ."
\ ."'"'"'"'."################## ."
\ ."'"'"'"'."#############." ."
\ ."'"'"'"'."#########." ."
\ ."'"'"'"'."####." ."
\ ."'"'"'"'."." ."
\ ."'"'"'." ."
\ ."." ."
\ ."
\ ."
\ ."
\ ."
\ ."
\."
=[ metasploit vX.X.XX-dev ]
+ -- --=[ 2300 exploits - 1200 auxiliary - 400 post ]
+ -- --=[ 950 payloads - 47 encoders - 11 nops ]
+ -- --=[ 9 evasion ]
Metasploit tip: Use the -q flag to start msfconsole
without showing the banner
msf6 >
コンソール内で version コマンドを使用して、バージョン情報を再度表示することもできます。
version
出力には、Framework と Console のバージョンが表示されます。
msf6 > version
Framework: X.X.XX-dev.YYYYMMDD01
Console : X.X.XX-dev.YYYYMMDD01
バージョンを確認したら、exit と入力して Metasploit コンソールを終了できます。
exit
まとめ
この実験を完了された皆さん、おめでとうございます!
Metasploit Framework を更新するための基本的な手順を習得しました。このプロセスには、データ整合性を確保するために PostgreSQL サービスを停止し、最新のアップデートを取得して適用するために msfupdate コマンドを実行し、データベースサービスを再起動し、最後に msfconsole を起動して新しいバージョンが有効になっていることを確認するという、いくつかの重要なステップが含まれていました。
セキュリティツールを最新の状態に保つことは、サイバーセキュリティにおける基本的な実践です。これで、Metasploit のインストールを維持するための知識を身につけ、それがあなたの武器庫の中で強力で効果的なツールであり続けることを保証できます。


