Oracle 数据库沦为攻击跳板:Huntress 披露 SQL 注入 + OJVM 入侵 Windows SYSTEM 权限

Huntress 披露新型攻击:黑客利用 Oracle 数据库 OJVM 写入 khunt 工具包,绕过 EDR 与杀软,通过 SQL 注入拿到 Windows SYSTEM 权限。本文还原攻击链路,并给出 4 条防御建议。

8 月 9 日消息,安全公司 Huntress 近日披露一种新型攻击方式:黑客入侵公司部署的甲骨文 Oracle 数据库,并将其作为攻击跳板,对 Windows 系统发动进一步攻击,最终窃取用户密码

这次事件最值得警惕的是——黑客并没有把恶意工具保存为普通文件,也没驻留在内存里,而是作为数据库对象存储让传统终端检测与响应(EDR)以及杀毒软件全部失明

Oracle 数据库沦为攻击跳板:新型攻击链路图

攻击全过程还原

第一步:SQL 注入拿下数据库

某公司面向外部提供服务的应用未对用户输入内容做有效安全检查,黑客利用 SQL 注入漏洞拿到数据库控制权——这是最常见的开场方式。

第二步:用 OJVM 写入 khunt 工具包

拿到数据库权限后,黑客用了一个”刁钻”的角度——Oracle 数据库内置的 Java 虚拟机(OJVM)。通过 CREATE JAVA SOURCE 语句,将名为 khunt 的后渗透工具包作为 Java Class 写入数据库内部

这一步是关键:恶意代码没有落在文件系统、也没有进入内存进程,而是以”数据库对象”形式存在。

第三步:拿到 Windows SYSTEM 权限

khunt 工具包包含多个模块:

模块 作用
KhuntCmd 通过 Java 调用 Windows cmd.exe,让攻击者执行任意操作系统命令
KhuntHash 直接读取 Oracle 内部用户表,导出账号信息和密码哈希,保存到文件
KhuntT 确认工具包是否成功安装并正常运行
KhuntUnzip 用于解压文件

外加多个 PL/SQL 包装程序(wrapper),用于调用底层 Java 方法。

黑客在本次攻击中实际只用了 KhuntCmd:通过 SQL 触发 Java 调用 cmd.exe,直接拿到 Windows SYSTEM 级别权限——等于把 Oracle 数据库变成了一个远程 Windows 命令执行器

第四步:导出密码、横向渗透

拿到 SYSTEM 后,黑客调用 Windows 自带工具复制包含敏感信息的注册表 Hive 文件,用于破解本地用户账户——这就是为什么本次事件最终能”窃取用户密码”。

为什么传统安全产品会失明?

Huntress 研究人员指出:传统 EDR 和杀软主要监控操作系统进程、函数调用和文件行为,对于数据库内部的 Java Class 和 PL/SQL Wrapper 缺乏有效检测能力

翻译成大白话就是:

黑客把武器藏在”数据库”这个容器里,而杀软只盯着”操作系统”这个房间。房间很干净,但容器里是核弹。

这种攻击方式打破了两个认知误区:

  1. “数据库只存数据,不会跑代码”——错,Oracle 支持 Java 存储过程,本质就是个 JVM;
  2. “SQL 注入只能拖库”——错,配合 OJVM 可以执行操作系统命令。

站长/运维的 4 条防御建议

① 输入校验 + 参数化查询(堵 SQL 注入)

  • 所有用户输入严格白名单校验
  • SQL 查询全部使用参数化(Prepared Statement)
  • ORM 框架使用绑定变量,禁止拼接 SQL 字符串
  • 启用 WAF(如百度云防护)拦截 SQL 注入特征 payload。

② 数据库最小权限(断 OJVM 后路)

  • 应用账号禁止授予 CREATE JAVA SOURCECREATE PROCEDURE 等高级权限
  • 默认撤销 JAVA DEPLOY 权限(11g 及以上);
  • 生产数据库禁用 OJVM(如果业务确实不需要 Java 存储过程);
  • SYS / SYSTEM 等系统账号只允许本地或堡垒机登录

③ 主机侧纵深防御

  • 服务器开启应用白名单(仅允许可信进程运行);
  • 数据库服务器安装专门的数据库审计产品(如 Oracle Audit Vault、阿里云数据库审计);
  • 监控 CREATE JAVA SOURCEEXECUTE IMMEDIATEcmd.exe 等敏感调用;
  • 开启 Windows Defender 的攻击面减少规则(ASR),阻止可疑的 cmd.exe 调用。

④ 推荐方案:百度云防护 WAF

针对 SQL 注入这类入口攻击,主机吧一直推荐百度云防护(需域名备案):

  • Web 基础防护:默认拦截 SQL 注入、XSS、WebShell 上传等 OWASP Top 10;
  • 0day 应急规则:针对新型漏洞 24 小时内上线专项规则
  • JA4 指纹 + JS 挑战:拦截自动化扫描工具和恶意爬虫;
  • 可视化日志:所有攻击留痕,事后排查 5 分钟出报告。

部署门槛:域名需 ICP 备案;接入只需 5 分钟改 DNS;按流量计费,小站日均不到一杯咖啡钱。

写在最后

这次事件的本质是:黑客把数据库变成了”操作系统”

Oracle 等大型数据库自带 Java 虚拟机、支持存储过程,本来是为了业务灵活性——但在攻击者手里,这成了合法的代码执行通道

如果你公司的应用连着 Oracle 数据库,请今天就做一件事:检查数据库账号权限,把 CREATE JAVA SOURCECREATE PROCEDURE 这些”高级货”权限全部撤销,只给业务需要的最小权限。

SQL 注入堵不住,数据库就是下一个跳板。

给TA打赏
共{{data.count}}人
人已打赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo