Vulhub-Weblogic后台部署War包Getshell
一、WebLogic
WebLogic - Java应用服务器软件
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
参考链接:
二、漏洞环境
1、漏洞目录
vulhub/weblogic/weak_password
2、测试环境
本环境模拟了一个真实的weblogic环境,其后台存在一个弱口令,并且前台存在任意文件读取漏洞。分别通过这两种漏洞,模拟对weblogic场景的渗透。
-
Weblogic版本:10.3.6(11g)
-
Java版本:1.6
三、启动环境
docker-compose up -d
┌──(root㉿kali)-[~/vulhub/weblogic/weak_password]
└─# docker-compose up -d
Creating network "weak_password_default" with the default driver
Creating weak_password_weblogic_1 ... done
┌──(root㉿kali)-[~/vulhub/weblogic/weak_password]
└─# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1126dc6254af vulhub/weblogic:10.3.6.0-2017 "startWebLogic.sh" 9 seconds ago Up 8 seconds 0.0.0.0:5556->5556/tcp, :::5556->5556/tcp, 0.0.0.0:7001->7001/tcp, :::7001->7001/tcp weak_password_weblogic_1
四、复现Weblogic漏洞
1、弱口令
环境启动后,访问http://127.0.0.1:7001/console
,即为weblogic后台。
本环境存在弱口令:
weblogic:Oracle@123
weblogic常用弱口令:
system:password
weblogic:weblogic
admin:secruity
joe:password
mary:password
system:sercurity
wlcsystem: wlcsystem
weblogic:Oracle@123
Weblogic 弱口令批量检测工具:
2、任意文件读取漏洞
读取后台用户密文与密钥文件。
环境模拟了一个任意文件下载漏洞,访问http://127.0.0.1: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
)。
2.1 SerializedSystemIni.dat
SerializedSystemIni.dat
是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file就可以保存成一个文件(文件格式是.dat):
http://127.0.0.1:7001/hello/file.jsp?path=security/SerializedSystemIni.dat
2.2 config.xml
config.xml
是base_domain的全局配置文件,所以乱七八糟的内容比较多,找到其中的<node-manager-password-encrypted>
的值,即为加密后的管理员密码。
2.3 解密密文
使用本环境的decrypt目录下的weblogic_decrypt.jar解密密文。
-
文件:SerializedSystemIni.dat
-
密文:{AES}yvGnizbUS0lga6iPA5LkrQdImFiS/DJ8Lw/yeE7Dt0k=
java -jar weblogic_decrypt.jar
参考链接:
3、后台上传webshell
3.1 制作webshell
进入Behinder的server文件夹制作war包(默认连接密码rebeyond)
D:\Behinder\server>jar -cvf shell.war shell.jsp
3.2 上传webshell
获取到管理员密码后,登录后台。点击左侧的Deployments,可见一个应用列表,点击Install。
选择“upload your file(s)”
点击Browse上传war包,上传成功后一直点Next。
直到Finish变亮可以点击,可更改文件名(在此不更改),点击Finish。
访问木马文件
3.3 获取webshell
启动冰蝎(需要Java8环境)
D:\Behinder>java -version
java version "1.8.0_202"
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
D:\Behinder>java -jar Behinder.jar
配置连接
连接成功
本文作者:HKalpa
本文链接:https://www.cnblogs.com/HKalpa/p/17227207.html
版权声明:本作品采用本人所有操作均在实验环境下进行,用于其它用途后果自负,作者不承担相应的后果。中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步