0


CVE-2020-14750 漏洞复现和Linux打补丁详解

CVE-2020-14750 漏洞复现和Linux打补丁详解

使用的工具整理:jdk1.79,weblogic安装包(中文版),两个补丁包

链接:https://pan.baidu.com/s/1ehrO4fjv7beth2fp06XXPA?pwd=z8ju
提取码:z8ju

漏洞环境搭建参考如下博客:

[(64条消息) 详细教程]jdk官方下载,Linux安装jdk1.7,图文解说,一看就会_gosin1994的博客-CSDN博客_linux 1.7 官网下载

(64条消息) Linux安装与卸载JDK_时光记录的博客-CSDN博客_linux 卸载jdk

(64条消息) 【超详细】手把手linux安装部署weblogic-附详细截图_程序猿沙弥的博客-CSDN博客_linux安装weblogic

(64条消息) linux安装weblogic10.3.6_cz596738622的博客-CSDN博客_linux安装weblogic10.3.6

搭靶场环境我自己遇到的一些问题

1、 # vim /etc/profile 配置环境变量的时候,我添加的是如下信息,版本看你自己的jdk。

export JAVA_HOME=/usr/java/jdk1.7.0_79
export JRE_HOME=/usr/java/jdk1.7.0_79/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export ORACLE_HOME=/weblogic/wls1212/ofmhome

2、安装weblogic时,我的安装包因为是中文的,会有输入Next没反应的情况,直接打字“下一步”,输进去然后回车即可。

3、如果遇到步骤让输入jdk路径,又不能使用默认路径,把“/usr/java/jdk1.7.0_79”粘进去也可以。

4、输入weblogic管理员密码时,要求8位及以上,而且必须两种组合。

以下是打补丁步骤

1、停止weblogic

说明:我的weblogic安装目录:
/u01/weblogic/user_projects/domains/base_domain/bin/

进入weblogic所在目录:

cd /u01/weblogic/user_projects/domains/base_domain/bin/

./stopWebLogic.sh

(这一步需要输入weblogic用户密码)

补充,查找weblogic相关目录可以使用目录:s -ef|grep weblogic

img

2、备份weblogic整个目录

真实环境打补丁需要有备份,靶场练习自便

创建一个目录作为备份目录:mkdir /opt/backup_weblogic/

zip -r /opt/backup_weblogic/weblogic_backup_20221123.zip /u01/weblogic

3、将补丁上传到weblogic服务器的cache_dir目录下

用winscp/mobaxtrem软件上传补丁到该目录,如果该目录不存在,则创建一个

(网上的路径:/home/weblogic/Oracle/Middleware/utils/bsu/cache_dir)

(我的路径:/u01/weblogic/utils/bsu/cache_dir)

创建目录:mkdir /u01/weblogic/utils/bsu/cache_dir

4、先安装NA7A补丁,在安装KYRS。若直接安装KYRS,会提示缺失依赖。

该问题参考博客:

(65条消息) Weblogic远程代码执行漏洞(CVE-2020-14750)修复步骤–weblogic10.3.6版本_北洋的青春的博客-CSDN博客_cve-2020-14750

说明:chown weblogic.weblogic p32097188_10360201020_Generic.zip 该命令不是必须的,能把文件传到目标目录下解压就行。

windows传文件到Linux系统上,建议使用ssh工具,比如Moboxterm

5、安装NA7A补丁

复制文件到目标目录下:

cp p31641257_1036_Generic.zip /u01/weblogic/utils/bsu/cache_dir

进入文件夹:

cd /u01/weblogic/utils/bsu/cache_dir

解压第一个补丁文件:

unzip p31641257_1036_Generic.zip

img

返回上一目录,也可以用绝对路径返回目录

cd …

cd /u01/weblogic/utils/bsu

修改/bsu.sh脚本启动内存内容

vi /bsu.sh

找到如下内容,修改为(最好往大了改,不然会内存溢出,建议虚拟机分配空间4G左右):

MEM_ARGS=“-Xms2048m -Xmx3072m”

保存退出,这里官网给的建议是MEM_ARGS=“-Xms1024m -Xmx4096m”,给的大点能运行更快些,但是容易内存溢出。

执行安装补丁脚本(预计半小时)

./bsu.sh -install -patch_download_dir=/u01/weblogic/utils/bsu/cache_dir -patchlist=NA7A -prod_dir=/u01/weblogic/wlserver_10.3/

遇到的问题(恶心到吐血):

第一个问题:无法识别的补丁程序,大概率是补丁文件路径问题,我是因为下载的补丁压缩包,解压以后补丁文件都在一个文件夹,如下

image-20221123193543789

我解压以后cache_dir 目录下实际上是没有补丁的,只有一个文件夹,所以出现无法识别的 问题。

img

解决办法:将所有需要的文件进行打包,别放在文件夹内,解压后这些文件存放在cache_dir 目录下,更简单一点,直接把解压后的文件上传到cache_dir目录下。

img

第二个问题:内存问题,会出现两种可能的报错
img
在这里插入图片描述

解决办法:

增加给虚拟机分配的空间,我一开始就是只给虚拟机分了1个G,使用free命令或vmstat -s命令发现内存完全不够用,加到了4个G内存才OK。

第一个补丁分配的区间是2048-3072(小一点都报上面第二个错给我恶心死,尽量设置大一点吧)

img

第二个补丁我分配的空间是3072-3584(试了好多次范围,勉强成功了)

img

6、删除NA7A补丁文件夹解压内容

注意路径,一定要在如上路径下在执行删除命令(当然得根据你路径来),否则后果自负

cd /u01/weblogic/utils/bsu/cache_dir

rm -rf *

7、安装KYRS 补丁

在文件所在目录下,复制文件到目标目录下(如果能用mobaxtrem这样的工具上传会方便很多)

cp p32097188_10360201020_Generic.zip /u01/weblogic/utils/bsu/cache_dir

cd /u01/weblogic/utils/bsu/cache_dir

解压第二个补丁文件

unzip p32097188_10360201020_Generic.zip

返回到指定目录下:

cd /u01/weblogic/utils/bsu

执行安装补丁脚本(预计半小时)

./bsu.sh -install -patch_download_dir=/u01/weblogic/utils/bsu/cache_dir -patchlist=KYRS -prod_dir=/u01/weblogic/wlserver_10.3/

img

8、验证补丁是否打上

./bsu.sh -prod_dir=/u01/weblogic/wlserver_10.3/ -status=applied -verbose -view

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZNwiz79w-1669207263470)(http://images.yuxiangsweb.info/imgs/wps10.jpg)]

9、重启weblogic

#进入进入weblogic所在目录

cd /u01/weblogic/user_projects/domains/base_domain/bin/

#启动weblogic

./startWebLogic.sh

输入账号密码

10、补丁修复证明

打开网站后台界面:

http://127.0.0.1:7001/console/login/LoginForm.jsp

img

未打补丁时输入payload可以直接进入控制台:

http://127.0.0.1:7001/console/css/%252e%252e%252fconsole.portal

img

打上补丁后,输入payload则会报错:

http://127.0.0.1:7001//console/css/%252e%252e%252fconsole.portal

img

11、其他应急响应方法

应急响应时,在不影响业务的情况下,我们可以重命名console的访问路径,如果请求路径够复杂也可以有效对抗外网入侵,如果可以禁用console也可以解决问题。
步骤如下:
登录后台,点击锁定并编辑,选择域。
image-20221124164119513
选择高级,修改console的路径名,然后保存编辑,在刚才的锁定并编辑处激活更改
image-20221124164254449

重启weblogic,可以看到配置已经生效,console路径已经无法登录控制台
image-20221124165003114

真实的控制台路径如下
image-20221124165031625

参考文献:

靶场环境搭建:

(64条消息) Linux安装与卸载JDK_时光记录的博客-CSDN博客_linux 卸载jdk

[(64条消息) 详细教程]jdk官方下载,Linux安装jdk1.7,图文解说,一看就会_gosin1994的博客-CSDN博客_linux 1.7 官网下载

(64条消息) 【超详细】手把手linux安装部署weblogic-附详细截图_程序猿沙弥的博客-CSDN博客_linux安装weblogic

(64条消息) linux安装weblogic10.3.6_cz596738622的博客-CSDN博客_linux安装weblogic10.3.6

打补丁参考:

(65条消息) weblogic打补丁详细步骤(linux)_imogo的博客-CSDN博客_weblogic打补丁

(65条消息) Weblogic远程代码执行漏洞(CVE-2020-14750)修复步骤–weblogic10.3.6版本_北洋的青春的博客-CSDN博客_cve-2020-14750

补丁执行遇到的问题:

(65条消息) java.lang.OutOfMemoryError: Java heap space错误及处理办法(收集整理、转)_jxzxm1_2的博客-CSDN博客

标签: linux oracle 安全

本文转载自: https://blog.csdn.net/weixin_46316850/article/details/128007443
版权归原作者 我爱喝牛奶! 所有, 如有侵权,请联系我们删除。

“CVE-2020-14750 漏洞复现和Linux打补丁详解”的评论:

还没有评论