一、什么是WebLogic
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
二、漏洞描述
本环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。
Weblogic版本:10.3.6(11g)
Java版本:1.6
三、启动vulhub里的weblogic服务
3.1弱口令
环境启动后,访问http://your-ip:7001/console,即为weblogic后台。
Weblogic常见弱口令总结
system:password weblogic:weblogic admin:secruity
joe:password mary:password system:sercurity
wlcsystem: wlcsystem weblogic:Oracle@123
https://cirt.net/passwords?criteria=weblogic
本环境存在弱口令:
weblogic
Oracle@123
Weblogic 弱口令批量检测工具: WeblogicWeakPwd
3.2任意文件读取漏洞的利用
假设不存在弱口令,如何对weblogic进行渗透?
本环境前台模拟了一个任意文件下载漏洞,访问http://your-ip:7001/hello/file.jsp?path=/etc/passwd
可见成功读取passwd文件。那么,该漏洞如何利用?
或者直接 BurpSuite 读取也行
3.3 读取后台用户密文与密钥文件
weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain
下,名为SerializedSystemIni.dat
和config.xml
,在本环境中为./security/SerializedSystemIni.dat和./config/config.xml(基于当前目录/root/Oracle/Middleware/user_projects/domains/base_domain)
3.3.1
SerializedSystemIni.dat
是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file就可以保存成一个文件:(文件格式记得是.dat)
http://192.168.100.23:7001/hello/file.jsp?path=security/SerializedSystemIni.dat
3.3.2
config.xml
是base_domain的全局配置文件,所以乱七八糟的内容比较多,找到其中的的值,即为加密后的管理员密码,不要找错了:
http://192.168.100.23:7001/hello/file.jsp?path=config/config.xml
从 Github 下载 Weblogic 的解密工具,与上述SerializedSystemIni.dat文件一起保存到本地,如下图所示:
3.3.3
解密密文
3.4后台传马
拿到 Weblogic 后台的登录账户和密码之后,可以进入后台上传 War 木马文件获得 WebShell。
1、输入账号名、密码登录之后进入后台管理界面
-> 部署
-> 安装
:
点击上载文件
,上传war木马
War 木马文件包的制作方法:
xxx.jsp,将其压缩为 shell.zip,然后重命名为 shell.war,shell 即为部署成功大马存放的目录:
一直下一步(这里注意点击的是上边的下一步,不要点错了)
访问木马文件http://IP:7001/shell/shell.jsp
,
参考链接
https://github.com/vulhub/vulhub/blob/master/weblogic/weak_password/README.md
https://blog.csdn.net/weixin_39190897/article/details/107332742
https://www.cnblogs.com/-mo-/p/11503707.html