学习
实践
活动
工具
TVP
写文章

安全角度学习WebLogic Part 3

经过上一期的学习,我们对Weblogic的相关漏洞有了概括的认识,那么这些漏洞是如何利用的呢?下面揭晓~

CVE-2018-2628

1. 测试说明

服务端的IP为:192.xx.xx.136(centos6.9部署weblogic10.3.6)

console访问方式:http://192.xx.xx.136:7001/console/

客户端的IP为:192.xx.xx.128(linux-parrot系统)

利用工具:ysoserial-0.0.6

2. nc反弹过程

查看目标站点是否可以正常访问,测试可正常访问。

在客户端本地进行监听端口。

在客户端监听JRMP协议,端口为1099,连接成功执行nc反弹命令。

执行利用脚本,填写Weblogic的IP、端口、jar包、JRMP监听的IP和端口、JRMPclient

可以看到JRMP有数据产生。

查看之前nc监听的结果,可见已经与weblogic建立连接。

CVE-2017-10271

1. 测试说明

服务端的IP为:192.xx.xx.136(centos6.9部署weblogic10.3.6)

console访问方式:http://192.xx.xx.136:7001/console/

客户端的IP为:192.xx.xx.128(linux-parrot系统)

利用程序地址:https://www.exploit-db.com/exploits/43458/

默认版本可利用的URL`s:

/wls-wsat/CoordinatorPortType

/wls-wsat/CoordinatorPortType11

/wls-wsat/ParticipantPortType

/wls-wsat/ParticipantPortType11

/wls-wsat/RegistrationPortTypeRPC

/wls-wsat/RegistrationPortTypeRPC11

/wls-wsat/RegistrationRequesterPortType

/wls-wsat/RegistrationRequesterPortType11

2. nc反弹过程

查看目标站点是否可以正常访问,测试可正常访问。

在客户端本地进行监听端口。

执行反弹shell利用脚本。

查看执行结果,已反弹成功。

CVE-2017-3506

1. 测试说明

服务端的IP为:192.xx.xx.136(centos6.9部署weblogic10.3.6)

console访问方式:http://192.xx.xx.136:7001/console/

客户端的IP为:192.xx.xx.128(linux-parrot系统)

2. 测试过程

查看目标站点是否可以正常访问,测试可正常访问。

使用POC测试,脚本如果成功执行/bin/touch /tmp/2017-3506,具体发送内容已打印出来,可供参考。

验证命令是否执行

CVE-2014-4210

1. 测试说明

服务端的IP为:192.xx.xx.136(centos6.9部署weblogic10.3.6+Redis2.6.17)

console访问方式:http://192.xx.xx.136:7001/console/

客户端的IP为:192.xx.xx.128(linux-parrot系统)

2. 利用过程

该漏洞利用前提条件为能够访问到SerachPublicRegistries.jsp文件,假设我们通过弱密码登录到weblogic的控制台,尝试访问http://IP:7001/uddiexplorer/SearchPublicRegistries.jsp,看到可以访问成功。

尝试在该URL后添加其它IP地址,查看页面回显。发现有回显提示Received a responsefrom url……证明该域名的443端口是开通的。

请求样例:http://weblogicIP:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http:// targetIP:port&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search

Weblogic ssrf + Redis未授权访问 = 反弹shell利用过程。

查看目标站点是否可以正常访问,测试存在ssrf页面正常访问。

测试该服务器(或内网其他主机)的6379(6380、6381)是否处于开启状态。如下图所示,证明该服务器监听6379端口,可能正在运行redis服务。

尝试构造利用请求发包测试是否可以反弹shell:

在客户端查看反弹结果:

3. 利用内容分析

以上是将payload编码后的请求内容。

以上是解码后的payload内容。

客户端到redis端通讯协议说明:*3指后面有三个参数、$3指参数长度为3,即set,$1指参数长度为1,即a,$64同理。

4. 利用过程排查

可以查看redis日志查看是否提示将数据库内容写入到磁盘。

查看写入内容是否正确(本次测试请求写入的目标文件为/var/spool/cron/root)

WebLogic弱口令

1. 登录后台

后台页面:IP:7001/console(http为7001,https为7002)

Google关键字:WebLogic Server AdministrationConsole inurl:console

默认用户名密码:

用户名密码均为:weblogic

用户名密码均为:system

用户名密码均为:portaladmin

用户名密码均为:guest

2. 上传webshell

控制台登录成功后点击“锁定并编辑(Lock&Edit)”按钮,进入编辑模式,找到对应的域,点击“部署(Deployments)”按钮,右边切换到部署概要界面,点击“安装(Install)”按钮。

在安装应用程序界面点击“上载文件(upload your file(s))”。

点击“选择文件”按钮,找到事先准备好的war包上传,上传完成点击“下一步”。

选择上传的包名点击“下一步”直至出现“完成”按钮,点击“完成”按钮。

完成部署后,点击“激活更改(Activate Changes)”按钮,新项目状态变为准备就绪,选择新上传的项目,点击“启动按钮(Start)”,启动项目。

如下图所示,上传项目可正常访问。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180426G1FWSF00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券