web-dev-qa-db-ja.com

MetaSploitで利用可能なペイロードのサイズを決定する方法

MetaSploitにはさまざまなペイロードから選択できることに気づきました。通常、その選択(ターゲットに十分なスペースがある場合)は、実行しようとしていることに依存しています。

しかし、私が理解していることから、ペイロードのサイズは大きく異なります。各ペイロードのサイズを特定して、エクスプロイトに収まるかどうかを確認するにはどうすればよいですか?たとえば、bind_tcpとreverse_tcpにはどのくらいのスペースが必要ですか? meterpreterは通常、バインドシェルよりも小さいですか?

特定のプラットフォームでMetaSploitが生成するペイロードの一般的なサイズを決定する方法はありますか?

8
Freedom_Ben

msfvenom -sまたはgenerateコマンドは、個々のペイロードサイズに役立ちます。特定のペイロードサイズ制約内のすべてのペイロードを知りたい場合があります。たとえば、エクスプロイトを開発している場合、たとえば100バイトのペイロードを運ぶスペースが限られていることを知り、100バイト以下のすべてのペイロードを知りたい場合は、内部に用意されているpayload_length.rbツールを使用できます。 tools/modules /ディレクトリ。
root@kali:/opt/metasploit-framework/tools/modules# ./payload_lengths.rb
上記のコマンドは、すべてのペイロードのサイズを表示します。特定のサイズ制限内に制限したい場合は、便利なawk Linuxユーティリティをいつでも使用できます。
root@kali:/opt/metasploit-framework/tools/modules# ./payload_length.rb | awk ' $2<=100'
このコマンドは、サイズが100バイト以下のMetasploitフレームワークのすべてのペイロードを通知します。

PS:質問に回答しましたが、特定のタスクを実行するための複数の方法を知っていることは常に良いことです!

7
void_in

msfpayloadコマンドを使用して、行Total size:を監視することもできます

msfpayload PAYLOAD O

または、MetaSploitコンソール内でgenerateコマンドを使用して、最初の行を監視します

use payload/PAYLOAD
payload(PAYLOAD) > generate
1
Adi

OK、MetaSploitツールを調べたところ、これに適したものが見つかりました。 Oオプションを指定したmsfpayloadツール。

msfpayload <payload-to-check> O

だから例えば:

msfpayload windows/vncinject/reverse_http O

Windows用のリバースHTTPを注入するVNCのサイズを教えてくれます。前のコマンドの出力は次のようになります。

       Name: VNC Server (Reflective Injection), Reverse HTTP Stager
     Module: payload/windows/vncinject/reverse_http
    Version: $Revision$
   Platform: Windows
       Arch: x86
Needs Admin: No
 Total size: 336
       Rank: Normal

Provided by:
  sf <[email protected]>
  hdm <[email protected]>

Basic options:
Name      Current Setting  Required  Description
----      ---------------  --------  -----------
AUTOVNC   true             yes       Automatically launch VNC viewer if present
EXITFUNC  process          yes       Exit technique: seh, thread, process, none
LHOST                      yes       The local listener hostname
LPORT     8080             yes       The local listener port
VNCHOST   127.0.0.1        yes       The local Host to use for the VNC proxy
VNCPORT   5900             yes       The local port to use for the VNC proxy

Description:
  Tunnel communication over HTTP, Inject a VNC Dll via a reflective 
  loader (staged)
0
Freedom_Ben