2014-10-08 2 views
1

Итак, все в заголовке. Есть ли способ я могу передать аргументы:Как передать аргументы в msfconsole -r resource.rc <arg1><arg2>

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

Или

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

эти аргументы будут принят в код рубин ресурсов как следующие:

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

ответ

1

К сожалению, файлы ресурсов доном» t принимает аргументы, но они принимают блоки ruby. Поэтому вы можете сделать это с небольшим количеством обмана. Создайте файл ресурса, который выглядит примерно так:

Где это с помощью команды рубин ENV тянуть в переменной «DSTIP» экологической

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

Теперь, когда я бегу msfconsole, я могу установить эту переменную DSTIP и он установит RHOST, когда я запустить MSF в то, что было в этой переменной окружения:

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, но я не извиняюсь.

Сторона примечания: вы также можете использовать рубиновые файлы для чтения текста. (Think configuration file)

Надеюсь, что эта помощь!

mubix