利用docker环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,而且前台存在任意文件读取漏洞。html
分别经过这两种漏洞,模拟对weblogic场景的渗透。node
Weblogic版本:10.3.6(11g)web
Java版本:1.6docker
环境启动后,访问 http://192.168.0.132:7001/console 便可跳转到Weblogic后台登录页面:shell
本环境存在弱口令:浏览器
用户名:weblogictomcat
密码:Oracle@123dom
weblogic经常使用弱口令: http://cirt.net/passwords?criteria=weblogicjsp
假设不存在弱口令,如何对weblogic进行渗透?工具
本环境前台模拟了一个任意文件下载漏洞,访问 http://192.168.0.132: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>的值,即为加密后的管理员密码,不要找错了:
而后使用大佬们写的解密工具:
可见,解密后和我预设的密码一致,说明成功。
这里贴出工具连接:连接:https://pan.baidu.com/s/1fHdJSJMJ6qHGhvEoITMpVA
提取码:yoy2
获取到管理员密码后,登陆后台。点击左侧的部署,可见一个应用列表:
点击安装,选择“上载文件”,上传war包。值得注意的是,咱们平时tomcat用的war包不必定可以成功,
你能够将你的webshell放到本项目的 web/hello.war这个压缩包中,再上传。上传成功后点下一步。
填写应用名称:
继续一直下一步,最后点完成。
应用目录在war包中WEB-INF/weblogic.xml里指定(由于本测试环境已经使用了/hello这个目录,因此你要在本测试
环境下部署shell,须要修改这个目录,好比修改为/bmjoker):
上传部署war包成功后便可访问大马
成功获取webshell
提示与技巧:
1.经过上述步骤上传的木马默认是保存在/root/Oracle/Middleware/user_projects/domains/weblogic/servers/AdminServer/upload
2.war包制做方法jar -cvf test.war ./test/*
3.本次使用的jsp马来自:https://www.webshell.cc/4422.html