weblogic介绍
一个基于JAVAEE架构的中间件,用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。
通俗地讲weblogic是一种web容器,把我们开发的java应用程序运行起来,并提供服务。
环境介绍
服务器:Microsoft Azure云服务器(学生优惠)
操作系统:Linux (ubuntu 20.04)
环境搭建:使用docker搭建vulhub,并使用weblogic靶场
靶场:week_password
介绍
本环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。
步骤
(1.1)通过弱口令登入后台
-
nmap查看开启的端口
-
访问成功(页面本来就是这个)
-
访问weblogic后台
http://your-ip:7001/console
,自动跳转到http://your-ip:7001/console/login/LoginForm.jsp
-
使用常见weblogic默认口令爆破
weblogic Oracle@123 system password mary admin secruity wlcsystem joe
-
使用爆破得到的账号密码登录
-
登入后台
(1.2)通过任意文件读取漏洞登入后台
-
访问
http://your-ip:/hello/file.jsp?path=
路径,用/etc/passwd
或/etc/profile
等系统用户配置文件测试是否存在任意文件读取 -
成功读取passwd文件,因此存在任意文件下载
-
读取后台用户密文与密钥文件
weblogic密码使用AES(老版本3DES)加密,找到用户的密文与加密时的密钥即可。
密文文件:/root/Oracle/Middleware/user_projects/domains/base_domain/config/config.xml
密钥文件:/root/Oracle/Middleware/user_projects/domains/base_domain/security/SerializedSystemIni.dat
-
读取密钥文件
SerializedSystemIni.dat
是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file
保存成一个.dat
文件http://your-ip:7001/hello/file.jsp?path=/root/Oracle/Middleware/user_projects/domains/base_domain/security/SerializedSystemIni.dat
这个我试了好几次都不对,重新抓包试试看。
-
读取密文文件
http://your-ip:7001/hello/file.jsp?path=/root/Oracle/Middleware/user_projects/domains/base_domain/config/config.xml
直接下载的是htm文件,修改为xml即可。可以看到manager的username为
weblogic
,password加密了。 -
已知密钥文件和密文文件,使用工具解密
https://github.com/TideSec/Decrypt_Weblogic_Password
或者
https://pan.baidu.com/s/1zB6p-J0S1uKgJIi09PXUZA?pwd=j3nl
7. 解密成功,可以登入后台了
(2)部署并上传war包
https://pan.baidu.com/s/1kYH2mzqs9-w3SaZVrcNDtw?pwd=gq93
(3)上传并成功解析
(4)蚁剑测试连接
修复
不要使用弱口令
及时更新版本