【注意】このサイトに記載されていることを他人に試すことは「不正アクセス禁止法」に該当する場合があります。詳しくはこちらから

Metasploit3でハッキングの初歩から楽しく学ぶ(番外編) Kali Linuxにおける、Metasploit Frameworkのコマンドの使い方について

ペネトレーションテスト&バグバウンティ

Kali LinuxでMetasploit Frameworkを利用するときに、「コマンド」を理解していないと前に進みません。
車があって目的地が決まっていても、車が運転できないと・・・意味がありませんね。

ここでは、Metasploit Frameworkの手足となる基本的に利用するコマンドを説明します。

【注意】ここでは、Kali Linuxや、Metasploitのテスト環境は整っていることが前提です。
環境の無い方は

◎仮想環境の環境については
仮想環境(VirtualBox 7.0)にKali Linux 2023.1をインストール(手順)
https://whitemarkn.com/learning-ethical-hacker/virtualbox-kalilinux2023-1/

◎Metasploitのインストールについては
Metasploit3でハッキングの初歩から楽しく学ぶ(1) Metasploit3の概要とインストール
https://whitemarkn.com/penetrationtest/metasploit3-001/

◎Metasploitの環境の立ち上げ方については
Metasploit3でハッキングの初歩から楽しく学ぶ(3-1) Auxiliary Modules (偵察モジュール)で何ができるのか。【スキャナー系】
https://whitemarkn.com/penetrationtest/metasploit3-003/

こちらをご覧いただけると、テストできると思います。

Kali LinuxにおけるMetasploitのコマンドについて

まず、一番大切なコマンドをご説明します。
それは・・・
helpコマンドです。
とりあえず、これを知っているとなんとかなります。(^^)

Metasploit Frameworkで利用できるコマンドは7種類のコマンド群に分けられます。

1.コアコマンド(Core Commands)
Metasploitフレームワーク内で基本的な操作を実行するための一連のコマンド。

2.モジュールコマンド(Module Commands)
特定のモジュールに関する操作や情報の表示に使用されます。

3.ジョブコマンド(Job Commands)
バックグラウンドで実行されるジョブ(タスク)を管理するためのコマンドです。
これらのジョブは、エクスプロイトやスキャンなどの実行に時間がかかる場合や、他の作業を進めながら待機する場合に有用です。

4.リソーススクリプトコマンド(Resource Script Commands)
外部のテキストファイルに保存されたコマンドのスクリプトを実行するためのものです。
これにより、Metasploitのコマンドをまとめて実行したり、繰り返し利用するためのスクリプトを作成したりできます。

5.データベースバックエンドコマンド(Database Backend Commands)
Metasploitフレームワークが使用するデータベースに対して操作を行うためのコマンドです。
データベースを使用することにより、スキャン結果やセッションの情報などが永続的に保存され、効果的な情報管理が可能です。

6.認証情報バックエンドコマンド(Credentials Backend Commands)
Metasploitの認証情報バックエンドコマンドは、Metasploitフレームワークが管理する認証情報に関する操作を行うためのコマンドです。
これにより、収集された認証情報(ユーザー名、パスワード、ハッシュなど)を効果的に管理し、再利用や分析が可能になります。

7.開発者コマンド(Developer Commands)
Metasploitフレームワークを拡張したり、新しいモジュールを作成したりするための開発者向けのコマンドです。

ここでは、基本的な操作を行うための「コアコマンド」と「モジュールコマンド」を抜粋して説明します。

 

コアコマンド(Core Commands)

・help、?
説明:ヘルプメッセージを表示します。コマンドやモジュールの使用法やオプションを確認する際に使用します。
使用例:help, ?, help コマンド名, help モジュール名

Metasploit Frameworkで利用できるコマンドの一覧が表示されます。

・exit
説明:Metasploitコンソールを終了します。
使用例:exit

・set
説明:オプションの値を設定します。エクスプロイトの実行に必要な情報を指定します。
使用例:set RHOSTS 10.0.2.4

・unset
説明:設定したオプションの値を未設定、またはデフォルトの値に設定します。
使用例:unset RHOSTS

 

モジュールコマンド(Module Commands)

・back
説明:現在設定しているモジュールを解除してメインメニューに戻ります。
使用例:back

・info
説明:選択したモジュールの詳細情報を表示します。モジュールの説明、著者、プラグインオプション、依存関係などが表示されます。
使用例:info auxiliary/scanner/http/dir_scanner

・options
説明:選択したモジュールのオプションを表示します。モジュールの実行に必要なオプションを設定します。
使用例:options

・search
説明:モジュールの名前と説明を検索し、一覧表示します。

1.全てのモジュールの検索
typeオプションを指定せずにsearchコマンドを使用すると、全てのモジュールが対象となります。
例:search wordpress

2.typeオプションを指定する検索
Metasploitのsearchコマンドのtypeオプションは、検索結果を特定のモジュールタイプに絞り込むために使用されます。以下にtypeオプションで指定できる主なモジュールタイプを示します。

(1) exploit
説明:システムやネットワーク上の脆弱性を悪用するためのエクスプロイトモジュール。
使用例:search type:exploit , search type:exploit smb

(2) payload
説明:システムに侵入した後に実行されるコードやアクションを定義するペイロードモジュール。
使用例:search type:payload , search type:payload windows

(3) auxiliary
説明:補助的な操作や情報収集のためのモジュール。
使用例:search type:auxiliary , search type:auxiliary scanner

(4) post
説明:ターゲット上での攻撃後に実行される操作や情報収集のためのモジュール。
例:search type:post , search type:post sudo

(5) encoder
説明:ペイロードを変換して検出を回避するためのエンコーダモジュール。
使用例:search type:encoder , search type:encoder upper

(6) nop
説明:No Operation(実行しない)スレッドを生成するモジュール。
使用例:search type:nop , search type:nop simple

(7) evasion
説明:エヴェイジョン(Evasion)と呼ばれるセキュリティ対策を回避するためのモジュール。
使用例:search type:evasion , search type:evasion inject

・show
説明:選択中のモジュールやオプションの詳細情報を表示します。
使用例:show options, show payloads

・use
説明:特定のモジュールを使用します。エクスプロイトモジュール、オプションモジュール、ペイロードモジュールなどを選択します。
使用例:use auxiliary/scanner/http/dir_scanner

実行コマンド?

※一番重要なコマンドですが、上記のコマンド群には含まれてしませんでした。
(間違えていたらごめんなさい。)

・exploit
説明:選択したエクスプロイトやモジュールを実行します。攻撃を開始します。
使用例:exploit

・run
説明:exploitと同様にエクスプロイトやモジュールを実行します。
使用例:run

 

Metasploit3でハッキングの初歩から楽しく学ぶ(番外編) Kali Linuxにおける、Metasploit Frameworkのコマンドの使い方についてのまとめ

押さえておきたい基本コマンドは、
Metasploit Frameworkでコンソールを開き
searchでモジュール検索
useでモジュール選択
show optionsでオプション表示
setで設定
run(exploit)で攻撃開始
exitで終了です。

しかし、Metasploit Frameworkを使いこなすとなると、沢山のコマンドを理解する必要があります。
とりあえず、"help"コマンドだけは覚えておいてくださいね。