msfpc(Metasploit Payload Creator)は、msfvenom の操作を簡略化したラッパースクリプトです。
👉 ラッパースクリプト:既存のプログラムや関数を「包み込む(ラップする)」役割を持つスクリプトのこと
msfpcとは
対話不要・短いコマンドで、ターゲットのOSを指定するだけで下記パラメーターを自動決定します。
- payload の種類
- 通信方式
- 出力形式
- リスナー起動方法
基本構文
msfpc [LHOST] [LPORT] [FORMAT]
最小の構文は
msfpc <TYPE>
<TYPE>には、ターゲットのOSを入れます。(例: “windows” , “linux”, “OSX” など、本稿末尾のヘルプ参照)
例えば、
msfpc windows
この一行で下記パラメータを全て自動決定してくれます。

IP(自分のIP:受信時に使用する)は自動検出なのですが、このラズパイが4つアドレスを持っているのでどれにするのか聞いてきています。
➡️3.を選択しています。(192.168.11.26)
- IP:上記で選択されたIPアドレス
- PORT::443 ➡️受信ポート番号は443を自動選択している
- TYPE:windows(windows/meterpreter/reverse_tcp) ➡️ターゲットがwindowsなのでこのpayloadを自動選択している
- CMD:内部的にmsfvenomを呼び出して、与えているコマンドの表示
- windows meterpreter created: ➡️ファイル名を “windows-meterpreter-staged-reverse-tcp-443.exe” として自動命名してホームディレクトリに出力
- MSF handler file:受信(listner)設定用* のファイルを作ってくれています。
- Run:その受信操作をmsfconsoleで実行する時のコマンド
Run欄のコマンドをターミナルにコピペすれば、受信動作(handler)が開始されます。

受信動作:ターゲットに送り込まれたペイロードからの通信を待ち受ける、自分側の操作。lisenerもしくはhandlerとも。
もし通信が確立するとエクスプロイトは次の段階に進みます。
(上図では通信は確立していません)
まとめ
msfpcはmsfvenomの簡略版ですが、簡略な操作でペイロードが生成できる代わりに、ターゲットについての詳細な偵察も行わずに一択で決めています。(つまりある意味、乱暴な決め方をしています)
例えば、ターゲットOSがwindowsの場合自動
| 要素 | 内容 |
|---|---|
| payload | meterpreter優先 |
| 通信 | reverse_tcp |
| format | OS最適形式 |
| encoder | なし |
| evade | なし |
似たような2ツールですか、
msfpcは演習用、msfvenomeが本番用といった位置付けでしょうか。
付録)ヘルプ表示
Kali ー 02-Resource Develoment ー msfpc




コメント