今天看了下vulhub里的weblogic任意文件读取漏洞获取密码+后台任意上传war包很有趣在这里复现下。
漏洞环境
一个weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。
Weblogic版本:10.3.6
Java版本:1.6
这次我使用docker+vulhub搭建漏洞环境启动本环境:
docker-compose up -d
弱口令
环境启动后,访问http://your-ip:7001/console,即为weblogic后台。
本环境存在弱口令:
- weblogic
- Oracle@123
weblogic常用弱口令: http://cirt.net/passwords?criteria=weblogic
当不存在弱口令时还有一种方法通过任意文件读取密码文件进行破解。
任意文件读取漏洞的利用
假设不存在弱口令,如何对weblogic进行渗透?
访问http://your-ip:7001/hello/file.jsp?path=/etc/passwd可见成功读取passwd文件。那么,怎么解开加密的密码?
读取后台用户密文与密钥文件
weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.dat和config.xml,在本环境中为./security/SerializedSystemIni.dat和./config/config.xml(基于当前目录/root/Oracle/Middleware/user_projects/domains/base_domain)。
SerializedSystemIni.dat是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file就可以保存成一个文件:
config.xml是base_domain的全局配置文件,所以内容比较多,找到其中的<node-manager-password-encrypted>的值,即为加密后的管理员密码。
解密密文
然后使用vulhub文件夹漏洞项目里web文件夹里decrypt目录下的weblogic_decrypt.jar解密,成功解出密码。
后台任意文件上传漏洞
点击左上角处部署,点击安装后点击上载文件,在这里我们上传一个带有jsp木马的war包(这里说下我简单制作war包的方法 jar -cvf 1.jsp 1.war)
之后就是默认设置直接下一步。
这里显示我们成功创建的项目。
我们可以进入docker看一下docker ps 查容器号,docker exec -it 容器号 bash 进入容器。
此时我们上传的war已经被解析我们可以在docker里看到,这里我说下一般我们上传的文件路径在/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_user/项目名/随机序号/war/.jsp文件。
在测试处我们也可以看到我们上传的带有jsp木马的war包存在的位置。
用蚁剑连接成功getshell,注意我这里连接类型为ASPX。
来源:freebuf.com 2020-08-21 11:44:51 by: 掌控安全一HK13
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
请登录后发表评论
注册