威胁行为者利用Oracle数据库调度程序获取企业环境访问权限

admin 2025-12-21 22:50:45 安全新闻 来源:ZONE.CI 全球网 0 阅读模式

最近几周,安全研究人员发现利用甲骨文数据库调度器的“外部作业”功能来侵入企业环境的攻击激增。

这种技术滥用调度程序在基于Windows的数据库服务器上执行任意命令的能力,使攻击者能够绕过边界防御。

最初的入侵途径包括探测公开暴露的Oracle监听端口,以及利用配置错误的凭据或默认的管理员账户。

一旦连接,攻击者就可以调用extjobo.exe组件,以与OracleJobScheduler服务相同的权限运行命令。

这种技术的影响意义重大。那些对网络进行了分段并隔离了数据库服务器的组织,仍因对数据库调度程序进程固有的信任而遭受了攻击。

在一个事件中,威胁攻击者建立了通往外部命令与控制(C2)服务器的加密隧道,创建了本地管理员账户,并以标准数据库操作的名义部署了勒索软件。

事件日志显示多次登录尝试失败,随后出现一次成功的SYSDBA连接,这表明在命令执行之前存在凭证收集或暴力破解行为。

Yarix分析师指出,在获取凭证后,攻击者利用Oracle DBS外部作业生成编码的PowerShell进程。这种行为凸显了一种向“靠地生存”技术的转变,即避免在磁盘上放置自定义可执行文件。

相反,攻击者通过extjobo.exe将Base64编码的脚本直接传入PowerShell,这增加了检测难度并规避了端点防御。

在一个案例中,攻击者在下载有效载荷之前执行了一条命令来收集系统信息。解码后的脚本如下所示:

$cpu = Get-CimInstance -ClassName Win32_Processor
$ram = Get-CimInstance -ClassName Win32_ComputerSystem
Write-Host $cpu.Name, $cpu.NumberOfLogicalProcessors, [math]::Round($ram.TotalPhysicalMemory/1GB,2)
Get-PSDrive -PSProvider FileSystem
Get-WmiObject -Class Win32_OperatingSystem | Select-String 'OS Name'
Get-ItemProperty -Path HKLM:\Server-Tcp -Name PortNumber

通过外部作业的感染机制

甲骨文数据库调度器的外部作业功能旨在允许数据库管理员运行操作系统命令来执行维护任务。

然而,威胁攻击者发现,任何拥有调度程序权限的用户都可以连接到extjobo.exe所使用的命名管道,并注入恶意命令。在观察到的攻击中,攻击者首先以SYSDBA身份进行认证,然后调用:

extjobo.exe -noservice -exec C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -EncodedCommand JABjAD0AbgBl…

这种调用会绕过脚本执行策略(-ep Bypass),并将Base64编码的有效载荷直接注入内存。

调度程序监听一个管道(通常可由ORACLEDBS服务账户访问),从而实现命令执行,且不会生成可被常规监控工具检测到的新进程。

经过初步侦察后,攻击者使用类似的命令从C2服务器下载次级有效载荷、建立反向shell,并创建了一个名为Admine的本地账户,以实现持久化和横向移动。

通过滥用合法的调度程序功能,攻击者避免将可执行文件写入磁盘,并依靠原生Windows工具进行侦察、有效载荷暂存和隧道传输。

日志证实,在每次执行实例后,攻击者都会删除临时批处理文件和计划任务,这进一步阻碍了法医分析。

这种技术强调了对调度程序权限实施更严格访问控制、警惕地监控命名管道活动以及在Oracle数据库环境中检测异常extjobo.exe调用的必要性。

评论:0   参与:  2