0x01 背景来源
今天7月19号国家互联网应急中心CNCERT发出通告,对CVE-2018-2894进行预警。该漏洞由中国国家互联网应急中心CNCERT的安全研究员 Mingxuan Song 和 Apple 公司的安全研究员 David Litchfield 同时提交发现。CNCERT的通告详情:
https://mp.weixin.qq.com/s/y5JGmM-aNaHcs\_6P9a-gRQ
目前Oracle官方发布了修复CVE-2018-2894漏洞的补丁:
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
ws_utc 为 WebLogic Web 服务测试客户端,其配置页面存在未授权访问的问题,路径为/ws_utc/config.do,/ws_utc/begin.do。
攻击者访问此配置页面,先更改工作目录,用有效的已部署的Web应用目录替换默认的存储JKS Keystores文件的目录,之后使用"添加Keystore设置"或"导入测试用例"的功能,即可上传恶意的JSP脚本文件。两个功能对应的上传请求如下:
POST /ws_utc/resources/ws/config/import?timestamp=1531987088928 HTTP/1.1
Host: 111.111.111.111:7001
POST /ws_utc/resources/setting/keystore?timestamp=1531986126138 HTTP/1.1
Host: 111.111.111.111:7001
虽然服务端对上传的脚本文件进行了重命名,但是最终的文件名是id、"_"、默认文件名构成的,在上传的时候使用burpsuite抓包即可查看到上传文件对应的id;并且通过上传测试用例的功能,抓包的时候直接可以看到上传的恶意jsp文件的所在路径。
攻击者利用此漏洞,即可在远程且未授权的情况下在被攻击Weblogic服务器上执行任意代码。测试将恶意jsp部署在console应用的目录,如图:
测试利用该漏洞的前提是需要知道已部署的Web应用物理路径,或者可以将恶意文件上传到testclient所在目录,不过该目录物理路径也有随机值。以 12.1.3.0版本为例,路径为:
/home/weblogic/domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls_12.1.3/随机字符串/war/
部分文章说生产环节,默认是有权限认证的,未确定是否准确,请自行访问测试。
WebLogic 10.3.6.0
WebLogic 12.1.3.0
WebLogic 12.2.1.2
WebLogic 12.2.1.3
方案1:
使用Oracle官方安全布丁进行更新修复:
http://www.oracle.com/technetwork/security-advisory/cpujul2018-4258247.html
方案2:
删除或者重命名testclient应用目录,以12.1.3.0.0为例,默认的testclient目录路径为:
/home/weblogic/domain/servers/AdminServer/tmp/_WL_internal/com.oracle.webservices.wls.ws-testclient-app-wls_12.1.3
重命名或删除com.oracle.webservices.wls.ws-testclient-app-wls_12.1.3目录,会导致上传功能无法访问,可以避免攻击者利用该漏洞。
其中/home/weblogic/domain/是创建的domain根目录。
参考链接: