WebLogic是美国Oracle公司出品的一个Java应用服务器,是一个基于JAVAEE架构的中间件,用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用。
2|0弱口令登陆部署shell文件
-
App Weblogic
2|1介绍
用户管理员在配置密码时将登陆口令设置为简易的弱口令,这使得攻击者可以很容易的猜解到口令并登陆进后台,通过部署木马文件,拿到shell,进行进一步的渗透
解密知识:
- 账号权限:weblogic或root用户权限,能查看weblogic域文件
- 密钥文件:SerializedSystemIni.dat
SerializedSystemIni.dat是解密的核心文件,一般保存在weblogic域的security目录下。比如weblogic的domain目录为:
/root/Oracle/Middleware/user_projects/domains/base_domain/
那么SerializedSystemIni.dat文件一般在
/root/Oracle/Middleware/user_projects/domains/base_domain/security/SerializedSystemIni.dat
- 密文文件
weblogic的密文分两类,一类是数据库连接字符串,一类是console登录用户名和密码。
数据库连接字符串一般是在config/jdbc目录下的jdbc.xml文件中:/root/Oracle/Middleware/user_projects/domains/base_domain/config/jdbc/tide-jdbc.xml
而console登录用户名和密码一般也是在security
目录下:/root/Oracle/Middleware/user_projects/domains/base_domain/security/boot.properties
2|2复现
Weblogic版本:10.3.6(11g)
Java版本:1.6
启动本环境:
docker-compose up -d
破解密码
环境启动后,访问http://your-ip:7001/console
,即为weblogic后台。
此处模拟前台存在任意文件下载漏洞,通过此破解密码,配合后台文件上传getshell
读取密钥文件SerializedSystemIni.dat:
/root/Oracle/Middleware/user_projects/domains/base_domain/security/SerializedSystemIni.dat
读取密文文件:
<node-manager-password-encrypted>
的值,即为加密后的管理员密码,不要找错了