所以一切都在标题中。有没有办法可以将参数传递给:
msf> resource path/to/resource.rc <arg1> <arg2>
或者
msfconsole -r resource.rc <arg1> <arg2>
这些参数将传递到 ruby 资源代码中,如下所示:
<ruby>
ip = ARGV[1]
port = ARGV[2]
...
...
</ruby>
所以一切都在标题中。有没有办法可以将参数传递给:
msf> resource path/to/resource.rc <arg1> <arg2>
或者
msfconsole -r resource.rc <arg1> <arg2>
这些参数将传递到 ruby 资源代码中,如下所示:
<ruby>
ip = ARGV[1]
port = ARGV[2]
...
...
</ruby>
不幸的是,资源文件不接受参数,但它们接受 ruby 块。所以你可以用一些技巧来做到这一点。制作一个看起来像这样的资源文件:
它在哪里使用 ruby ENV 命令来拉入环境变量“DSTIP”
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 文件读取来从中提取文本。(想想配置文件)
希望这有帮助!
穆比克斯