weblogic-文件读取漏洞
0x00 前言
Weblogic存在管理后台,通过账号密码登录,由于管理员的疏忽,经常会使用弱口令,或者默认的账户名密码。因此存在弱口令爆破的风险。在本环境下模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。
0x01 环境搭建
这里是用的vulhub进行环境搭建
0x02 复现步骤
1、weblogic常见弱口令
system/password
weblogic/weblogic
admin/security
joe/password
mary/password
system/security
wlcsystem/wlcsystem
wlpisystem/wlpisystem
weblogic/Oracle@123
# 爆破出来后用户名密码为:
weblogic/Oracle@123
参考:
https://cirt.net/passwords?criteria=weblogic
2、任意文件读取漏洞
漏洞成因:wl_upload_application_name
过滤不严格
本环境模拟了一个任意文件下载漏洞:
http://your-ip:7001/hello/file.jsp?path=/etc/passwd
weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.dat
和config.xml
,在本环境中为./security/SerializedSystemIni.dat
和./config/config.xml
(基于当前目录/root/Oracle/Middleware/user_projects/domains/base_domain
)。
获取密文与密钥文件
http://your-ip:7001/hello/file.jsp?path=security/SerializedSystemIni.dat
SerializedSystemIni.dat
是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。
将选中的字符右键复制到文件中保存
http://your-ip:7001/hello/file.jsp?path=config/config.xml
config.xml
是base_domain的全局配置文件,所以乱七八糟的内容比较多,找到其中的<node-manager-password-encrypted>
的值,即为加密后的管理员密码,{AES}yvGnizbUS0lga6iPA5LkrQdImFiS/DJ8Lw/yeE7Dt0k=
使用本环境的decrypt目录下的weblogic_decrypt.jar,解密密文
3、获取webshell
准备木马文件
1、将冰蝎的shell.jsp文件压缩
2、改名为后缀为.war的包
在左侧部署—安装—上传文件—选中文件后一直下一步
上冰蝎