2

だから、タイトルにすべてが込められています。に引数を渡す方法はありますか:

msf> resource path/to/resource.rc <arg1> <arg2>

または

msfconsole -r resource.rc <arg1> <arg2>

これらの引数は、次のように ruby​​ リソース コードに渡されます。

<ruby>
 ip   = ARGV[1]
 port = ARGV[2]
...
...
</ruby>
4

1 に答える 1

2

残念ながら、リソース ファイルは引数を受け入れませんが、Ruby ブロックは受け入れます。だから、ちょっとしたトリックでそれを行うことができます。次のようなリソース ファイルを作成します。

環境変数「DSTIP」を取得するために ruby​​ ENV コマンドを使用している場所

metasploit-framework [git:master]$ cat /tmp/test.rc
<ruby>
run_single("set RHOST #{ENV['DSTIP']}")
</ruby>

msfconsole を実行すると、その DSTIP 変数を設定でき、MSF の起動時に RHOST がその環境変数に含まれているものに設定されます。

metasploit-framework [git:master]$ DSTIP=192.168.1.1 ./msfconsole -r /tmp/test.rc -Lq
[*] Processing /tmp/test.rc for ERB directives.
[*] resource (/tmp/test.rc)> Ruby Code (40 bytes)
RHOST => 192.168.1.1

これは、必要な数の環境変数で行うことができます。MSFCONSOLE 内から実行したい場合は、msfconsole が実行された後に環境変数を変更しようとしましたが、うまくいきませんでした。弱気な Linux マスターがやらなければならない方法があると確信していますが、申し訳ありません。

補足: Ruby ファイルの読み取りを使用してテキストを取得することもできます。(構成ファイルを考える)

この助けを願っています!

ムビックス

于 2014-10-09T14:22:34.710 に答える