Weblogic (weak_password)漏洞复现
前言
weblogic
是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器,本文主要介绍几个常见的weblogic
漏洞原理和复现过程。
1. 漏洞原理
在weblogic搭建好之后没有修改进入后台的密码导致弱口令登录获得webshell
-
本环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。
-
Weblogic版本:10.3.6(11g)
Java版本:1.6
2.环境搭建
在vulhub靶场启动docker-compose up -d
访问:http://your-ip:7001/console
即可进入后台
3.复现过程
1.弱口令登录
输入弱口令:即可登录
-
weblogic
-
Oracle@123
weblogic常见弱口令总结:
system:password weblogic:weblogic admin:secruity
joe:password mary:password system:sercurity
wlcsystem: wlcsystem weblogic:Oracle@123
2.任意文件读取
假设不存在弱口令,如何对weblogic进行渗透?
本环境前台模拟了一个任意文件下载漏洞,访问http://your-ip:7001/hello/file.jsp?path=/etc/passwd
可见成功读取passwd文件。那么,该漏洞如何利用?
-
weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可;
这两个文件均位于base_domain下,名为SerializedSystemIni.dat和config.xml;
-
SerializedSystemIni.dat是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,这就是密钥,右键copy to file就可以保存成一个文件:
所以访问:brup抓包
192.168.241.129:7001/hello/file.jsp?path=security/SerializedSystemIni.dat
- 再抓取 config.xml 的包,找到加密后的管理员密码:
192.168.241.129:7001/hello/file.jsp?path=config/config.xml
config.xml
是base_domain的全局配置文件,所以乱七八糟的内容比较多,找到其中的<node-manager-password-encrypted>
的值,即为加密后的管理员密码,不要找错了:
然后进行解密,工具地址:
https://github.com/TideSec/Decrypt_Weblogic_Password
然后进行登录,上传shell,
先点击部署,然后安装
点击上载文件
使用该命令生成war文件,上传
jar -cvf shell.war “x.jsp” //x.jsp为jsp一句话木马
一直下一步,直到完成
此时访问(war文件部署后会解压,此时直接访问该文件路径加jsp一句话)
192.168.241.129:7001/shell/x.jsp
出现如上界面表示上传成功,用蚁剑进行连接
4.防御和修复
1.设置Config.do页面登录授权后访问;
2.IPS等防御产品可以加入相应的特征;
3.升级到官方最新版本